[INFO] cloning repository https://github.com/Berna-L/advent-of-code-2020
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Berna-L/advent-of-code-2020" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBerna-L%2Fadvent-of-code-2020", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBerna-L%2Fadvent-of-code-2020'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 14d11d8f36496d545d4a45ddb0c2f54a5fbd01a0
[INFO] checking Berna-L/advent-of-code-2020 against try#44f3504e96c944ae54fc72b5f5008f53f7eda001 for pr-136776
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBerna-L%2Fadvent-of-code-2020" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Berna-L/advent-of-code-2020 on toolchain 44f3504e96c944ae54fc72b5f5008f53f7eda001
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Berna-L/advent-of-code-2020
[INFO] finished tweaking git repo https://github.com/Berna-L/advent-of-code-2020
[INFO] tweaked toml for git repo https://github.com/Berna-L/advent-of-code-2020 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/Berna-L/advent-of-code-2020 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" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] aa2032f1f3e2a457a4ad29bc7e216f77993d372f794521c23e98b627ab77cc22
[INFO] running `Command { std: "docker" "start" "-a" "aa2032f1f3e2a457a4ad29bc7e216f77993d372f794521c23e98b627ab77cc22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "aa2032f1f3e2a457a4ad29bc7e216f77993d372f794521c23e98b627ab77cc22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa2032f1f3e2a457a4ad29bc7e216f77993d372f794521c23e98b627ab77cc22", kill_on_drop: false }`
[INFO] [stdout] aa2032f1f3e2a457a4ad29bc7e216f77993d372f794521c23e98b627ab77cc22
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] aa1122cd04d9a0f8294a2bfd94b1ebdc0cadd7a74b22f2781d47d91a6786fbd9
[INFO] running `Command { std: "docker" "start" "-a" "aa1122cd04d9a0f8294a2bfd94b1ebdc0cadd7a74b22f2781d47d91a6786fbd9", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]     Checking regex-syntax v0.6.21
[INFO] [stderr]     Checking thread_local v1.0.1
[INFO] [stderr]     Checking aho-corasick v0.7.15
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]     Checking regex v1.4.2
[INFO] [stderr]     Checking rust-advent-of-code-2020 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::panic::resume_unwind`
[INFO] [stdout]  --> src/day4/code.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::panic::resume_unwind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Not`
[INFO] [stdout]  --> src/day4/rules.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Not;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/day5/code.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::FromIterator`
[INFO] [stdout]  --> src/day5/code.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::iter::FromIterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/day7/puzzle1.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::Map`
[INFO] [stdout]  --> src/day7/puzzle1.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::iter::Map;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/day7/puzzle2.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 |         if (NO_OTHER.eq(s)) {
[INFO] [stdout]     |            ^              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 109 -         if (NO_OTHER.eq(s)) {
[INFO] [stdout] 109 +         if NO_OTHER.eq(s) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/day8/code.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]  --> src/day9/code.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let range = (preamble..numbers.len());
[INFO] [stdout]   |                 ^                       ^
[INFO] [stdout]   |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 9 -     let range = (preamble..numbers.len());
[INFO] [stdout] 9 +     let range = preamble..numbers.len();
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/day9/code.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let sum_components = &numbers[((curr_pos - preamble)..curr_pos)];
[INFO] [stdout]    |                                       ^                               ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 12 -         let sum_components = &numbers[((curr_pos - preamble)..curr_pos)];
[INFO] [stdout] 12 +         let sum_components = &numbers[(curr_pos - preamble)..curr_pos];
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/day9/code.rs:15:65
[INFO] [stdout]    |
[INFO] [stdout] 15 |             let breaqui = complete_break(&curr_number, &numbers[(0..curr_pos)]);
[INFO] [stdout]    |                                                                 ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 15 -             let breaqui = complete_break(&curr_number, &numbers[(0..curr_pos)]);
[INFO] [stdout] 15 +             let breaqui = complete_break(&curr_number, &numbers[0..curr_pos]);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/day9/code.rs:41:35
[INFO] [stdout]    |
[INFO] [stdout] 41 |         for y in previous_numbers[((i + 1)..previous_numbers.len())].iter() {
[INFO] [stdout]    |                                   ^                               ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 41 -         for y in previous_numbers[((i + 1)..previous_numbers.len())].iter() {
[INFO] [stdout] 41 +         for y in previous_numbers[(i + 1)..previous_numbers.len()].iter() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/day9/code.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 |             curr_sum = (curr_sum + y);
[INFO] [stdout]    |                        ^            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 42 -             curr_sum = (curr_sum + y);
[INFO] [stdout] 42 +             curr_sum = curr_sum + y;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cmp`
[INFO] [stdout]  --> src/day10/code.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{cmp, io};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display`, `Error`, and `Formatter`
[INFO] [stdout]  --> src/day11/puzzle1.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::{Display, Error, Formatter};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Range`
[INFO] [stdout]  --> src/day11/puzzle1.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{Range, RangeInclusive};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]  --> src/day11/puzzle1.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{fmt, io};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]   --> src/day11/puzzle1.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     while true {
[INFO] [stdout]    |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day11/puzzle1.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |         if (layouts_are_equal(&last, &current)) {
[INFO] [stdout]    |            ^                                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 21 -         if (layouts_are_equal(&last, &current)) {
[INFO] [stdout] 21 +         if layouts_are_equal(&last, &current) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/day11/puzzle1.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     ((std::cmp::max(1, i) - 1)..=std::cmp::min(i + 1, max))
[INFO] [stdout]    |     ^                                                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 98 -     ((std::cmp::max(1, i) - 1)..=std::cmp::min(i + 1, max))
[INFO] [stdout] 98 +     (std::cmp::max(1, i) - 1)..=std::cmp::min(i + 1, max)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::panic::resume_unwind`
[INFO] [stdout]  --> src/day4/code.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::panic::resume_unwind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display`, `Error`, and `Formatter`
[INFO] [stdout]  --> src/day11/puzzle2.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::{Display, Error, Formatter};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RangeInclusive` and `Range`
[INFO] [stdout]  --> src/day11/puzzle2.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{Range, RangeInclusive};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]  --> src/day11/puzzle2.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{fmt, io};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]   --> src/day11/puzzle2.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     while true {
[INFO] [stdout]    |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day11/puzzle2.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |         if (layouts_are_equal(&last, &current)) {
[INFO] [stdout]    |            ^                                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 21 -         if (layouts_are_equal(&last, &current)) {
[INFO] [stdout] 21 +         if layouts_are_equal(&last, &current) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BitXor`
[INFO] [stdout]  --> src/day14/puzzle_1.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{BitAnd, BitXor};
[INFO] [stdout]   |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/day14/puzzle_2.rs:71:54
[INFO] [stdout]    |
[INFO] [stdout] 71 |         for addr in apply_floating(address, &bit_vec[(1..bit_vec.len())]) {
[INFO] [stdout]    |                                                      ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 71 -         for addr in apply_floating(address, &bit_vec[(1..bit_vec.len())]) {
[INFO] [stdout] 71 +         for addr in apply_floating(address, &bit_vec[1..bit_vec.len()]) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/day16/code.rs:122:35
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let rules = read_rules(&lines[(0..separators[0])]);
[INFO] [stdout]     |                                   ^                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 122 -     let rules = read_rules(&lines[(0..separators[0])]);
[INFO] [stdout] 122 +     let rules = read_rules(&lines[0..separators[0]]);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/day16/code.rs:126:48
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let other_tickets: Vec<Vec<usize>> = lines[(separators[1] + 2..lines.len())]
[INFO] [stdout]     |                                                ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 126 -     let other_tickets: Vec<Vec<usize>> = lines[(separators[1] + 2..lines.len())]
[INFO] [stdout] 126 +     let other_tickets: Vec<Vec<usize>> = lines[separators[1] + 2..lines.len()]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/day16/code.rs:180:19
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let range_1 = (cap["r1b"].parse::<usize>().unwrap()..=cap["r1e"].parse::<usize>().unwrap());
[INFO] [stdout]     |                   ^                                                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 180 -     let range_1 = (cap["r1b"].parse::<usize>().unwrap()..=cap["r1e"].parse::<usize>().unwrap());
[INFO] [stdout] 180 +     let range_1 = cap["r1b"].parse::<usize>().unwrap()..=cap["r1e"].parse::<usize>().unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/day16/code.rs:181:19
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let range_2 = (cap["r2b"].parse::<usize>().unwrap()..=cap["r2e"].parse::<usize>().unwrap());
[INFO] [stdout]     |                   ^                                                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 181 -     let range_2 = (cap["r2b"].parse::<usize>().unwrap()..=cap["r2e"].parse::<usize>().unwrap());
[INFO] [stdout] 181 +     let range_2 = cap["r2b"].parse::<usize>().unwrap()..=cap["r2e"].parse::<usize>().unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Keys`
[INFO] [stdout]  --> src/day17/four_dimensions.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::hash_map::Keys;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/day17/four_dimensions.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RangeInclusive`
[INFO] [stdout]  --> src/day17/four_dimensions.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{RangeBounds, RangeInclusive};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/day17/four_dimensions.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let cycles = (0..6);
[INFO] [stdout]    |                  ^    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 16 -     let cycles = (0..6);
[INFO] [stdout] 16 +     let cycles = 0..6;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Keys`
[INFO] [stdout]  --> src/day17/three_dimensions.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::hash_map::Keys;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/day17/three_dimensions.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RangeInclusive`
[INFO] [stdout]  --> src/day17/three_dimensions.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{RangeBounds, RangeInclusive};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/day17/three_dimensions.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let cycles = (0..6);
[INFO] [stdout]    |                  ^    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 16 -     let cycles = (0..6);
[INFO] [stdout] 16 +     let cycles = 0..6;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Not`
[INFO] [stdout]  --> src/day4/rules.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Not;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/day5/code.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::FromIterator`
[INFO] [stdout]  --> src/day5/code.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::iter::FromIterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/day7/puzzle1.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::Map`
[INFO] [stdout]  --> src/day7/puzzle1.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::iter::Map;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/day7/puzzle2.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 |         if (NO_OTHER.eq(s)) {
[INFO] [stdout]     |            ^              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 109 -         if (NO_OTHER.eq(s)) {
[INFO] [stdout] 109 +         if NO_OTHER.eq(s) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/day8/code.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]  --> src/day9/code.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let range = (preamble..numbers.len());
[INFO] [stdout]   |                 ^                       ^
[INFO] [stdout]   |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 9 -     let range = (preamble..numbers.len());
[INFO] [stdout] 9 +     let range = preamble..numbers.len();
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/day9/code.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let sum_components = &numbers[((curr_pos - preamble)..curr_pos)];
[INFO] [stdout]    |                                       ^                               ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 12 -         let sum_components = &numbers[((curr_pos - preamble)..curr_pos)];
[INFO] [stdout] 12 +         let sum_components = &numbers[(curr_pos - preamble)..curr_pos];
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/day9/code.rs:15:65
[INFO] [stdout]    |
[INFO] [stdout] 15 |             let breaqui = complete_break(&curr_number, &numbers[(0..curr_pos)]);
[INFO] [stdout]    |                                                                 ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 15 -             let breaqui = complete_break(&curr_number, &numbers[(0..curr_pos)]);
[INFO] [stdout] 15 +             let breaqui = complete_break(&curr_number, &numbers[0..curr_pos]);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/day9/code.rs:41:35
[INFO] [stdout]    |
[INFO] [stdout] 41 |         for y in previous_numbers[((i + 1)..previous_numbers.len())].iter() {
[INFO] [stdout]    |                                   ^                               ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 41 -         for y in previous_numbers[((i + 1)..previous_numbers.len())].iter() {
[INFO] [stdout] 41 +         for y in previous_numbers[(i + 1)..previous_numbers.len()].iter() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/day9/code.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 |             curr_sum = (curr_sum + y);
[INFO] [stdout]    |                        ^            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 42 -             curr_sum = (curr_sum + y);
[INFO] [stdout] 42 +             curr_sum = curr_sum + y;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cmp`
[INFO] [stdout]  --> src/day10/code.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{cmp, io};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display`, `Error`, and `Formatter`
[INFO] [stdout]  --> src/day11/puzzle1.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::{Display, Error, Formatter};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Range`
[INFO] [stdout]  --> src/day11/puzzle1.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{Range, RangeInclusive};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]  --> src/day11/puzzle1.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{fmt, io};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]   --> src/day11/puzzle1.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     while true {
[INFO] [stdout]    |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day11/puzzle1.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |         if (layouts_are_equal(&last, &current)) {
[INFO] [stdout]    |            ^                                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 21 -         if (layouts_are_equal(&last, &current)) {
[INFO] [stdout] 21 +         if layouts_are_equal(&last, &current) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/day11/puzzle1.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     ((std::cmp::max(1, i) - 1)..=std::cmp::min(i + 1, max))
[INFO] [stdout]    |     ^                                                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 98 -     ((std::cmp::max(1, i) - 1)..=std::cmp::min(i + 1, max))
[INFO] [stdout] 98 +     (std::cmp::max(1, i) - 1)..=std::cmp::min(i + 1, max)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display`, `Error`, and `Formatter`
[INFO] [stdout]  --> src/day11/puzzle2.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::{Display, Error, Formatter};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RangeInclusive` and `Range`
[INFO] [stdout]  --> src/day11/puzzle2.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{Range, RangeInclusive};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]  --> src/day11/puzzle2.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{fmt, io};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]   --> src/day11/puzzle2.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     while true {
[INFO] [stdout]    |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day18/puzzle_2.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |         if (preceding.contains(&Sum)) {
[INFO] [stdout]    |            ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 54 -         if (preceding.contains(&Sum)) {
[INFO] [stdout] 54 +         if preceding.contains(&Sum) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day11/puzzle2.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |         if (layouts_are_equal(&last, &current)) {
[INFO] [stdout]    |            ^                                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 21 -         if (layouts_are_equal(&last, &current)) {
[INFO] [stdout] 21 +         if layouts_are_equal(&last, &current) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BitXor`
[INFO] [stdout]  --> src/day14/puzzle_1.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{BitAnd, BitXor};
[INFO] [stdout]   |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/day14/puzzle_2.rs:71:54
[INFO] [stdout]    |
[INFO] [stdout] 71 |         for addr in apply_floating(address, &bit_vec[(1..bit_vec.len())]) {
[INFO] [stdout]    |                                                      ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 71 -         for addr in apply_floating(address, &bit_vec[(1..bit_vec.len())]) {
[INFO] [stdout] 71 +         for addr in apply_floating(address, &bit_vec[1..bit_vec.len()]) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/day16/code.rs:122:35
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let rules = read_rules(&lines[(0..separators[0])]);
[INFO] [stdout]     |                                   ^                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 122 -     let rules = read_rules(&lines[(0..separators[0])]);
[INFO] [stdout] 122 +     let rules = read_rules(&lines[0..separators[0]]);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/day16/code.rs:126:48
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let other_tickets: Vec<Vec<usize>> = lines[(separators[1] + 2..lines.len())]
[INFO] [stdout]     |                                                ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 126 -     let other_tickets: Vec<Vec<usize>> = lines[(separators[1] + 2..lines.len())]
[INFO] [stdout] 126 +     let other_tickets: Vec<Vec<usize>> = lines[separators[1] + 2..lines.len()]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/day16/code.rs:180:19
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let range_1 = (cap["r1b"].parse::<usize>().unwrap()..=cap["r1e"].parse::<usize>().unwrap());
[INFO] [stdout]     |                   ^                                                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 180 -     let range_1 = (cap["r1b"].parse::<usize>().unwrap()..=cap["r1e"].parse::<usize>().unwrap());
[INFO] [stdout] 180 +     let range_1 = cap["r1b"].parse::<usize>().unwrap()..=cap["r1e"].parse::<usize>().unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/day16/code.rs:181:19
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let range_2 = (cap["r2b"].parse::<usize>().unwrap()..=cap["r2e"].parse::<usize>().unwrap());
[INFO] [stdout]     |                   ^                                                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 181 -     let range_2 = (cap["r2b"].parse::<usize>().unwrap()..=cap["r2e"].parse::<usize>().unwrap());
[INFO] [stdout] 181 +     let range_2 = cap["r2b"].parse::<usize>().unwrap()..=cap["r2e"].parse::<usize>().unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Keys`
[INFO] [stdout]  --> src/day17/four_dimensions.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::hash_map::Keys;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/day17/four_dimensions.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RangeInclusive`
[INFO] [stdout]  --> src/day17/four_dimensions.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{RangeBounds, RangeInclusive};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/day17/four_dimensions.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let cycles = (0..6);
[INFO] [stdout]    |                  ^    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 16 -     let cycles = (0..6);
[INFO] [stdout] 16 +     let cycles = 0..6;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Keys`
[INFO] [stdout]  --> src/day17/three_dimensions.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::hash_map::Keys;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/day17/three_dimensions.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RangeInclusive`
[INFO] [stdout]  --> src/day17/three_dimensions.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{RangeBounds, RangeInclusive};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/day17/three_dimensions.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let cycles = (0..6);
[INFO] [stdout]    |                  ^    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 16 -     let cycles = (0..6);
[INFO] [stdout] 16 +     let cycles = 0..6;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day18/puzzle_2.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |         if (preceding.contains(&Sum)) {
[INFO] [stdout]    |            ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 54 -         if (preceding.contains(&Sum)) {
[INFO] [stdout] 54 +         if preceding.contains(&Sum) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/day8/code.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | /     loop {
[INFO] [stdout] 73 | |         if processed.contains(&ptr) {
[INFO] [stdout] 74 | |             return None;
[INFO] [stdout] ...  |
[INFO] [stdout] 95 | |         };
[INFO] [stdout] 96 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 97 |       None
[INFO] [stdout]    |       ^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/day8/code.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | /     loop {
[INFO] [stdout] 73 | |         if processed.contains(&ptr) {
[INFO] [stdout] 74 | |             return None;
[INFO] [stdout] ...  |
[INFO] [stdout] 95 | |         };
[INFO] [stdout] 96 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 97 |       None
[INFO] [stdout]    |       ^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/day11/puzzle2.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | /     loop {
[INFO] [stdout] 115 | |         actual_i = i_fn(&actual_i);
[INFO] [stdout] 116 | |         actual_j = j_fn(&actual_j);
[INFO] [stdout] 117 | |         if actual_i < 0
[INFO] [stdout] ...   |
[INFO] [stdout] 130 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 131 |       0
[INFO] [stdout]     |       ^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/day11/puzzle2.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | /     loop {
[INFO] [stdout] 115 | |         actual_i = i_fn(&actual_i);
[INFO] [stdout] 116 | |         actual_j = j_fn(&actual_j);
[INFO] [stdout] 117 | |         if actual_i < 0
[INFO] [stdout] ...   |
[INFO] [stdout] 130 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 131 |       0
[INFO] [stdout]     |       ^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RangeBounds`
[INFO] [stdout]  --> src/day17/four_dimensions.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{RangeBounds, RangeInclusive};
[INFO] [stdout]   |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RangeBounds`
[INFO] [stdout]  --> src/day17/three_dimensions.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{RangeBounds, RangeInclusive};
[INFO] [stdout]   |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RangeBounds`
[INFO] [stdout]  --> src/day17/four_dimensions.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{RangeBounds, RangeInclusive};
[INFO] [stdout]   |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RangeBounds`
[INFO] [stdout]  --> src/day17/three_dimensions.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{RangeBounds, RangeInclusive};
[INFO] [stdout]   |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/day4/rules.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn empty_rule(s: String) -> bool {
[INFO] [stdout]    |                   ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> src/day5/code.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 |         .filter(|(pos, &v)| v.eq(&1))
[INFO] [stdout]    |                   ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/day4/rules.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn empty_rule(s: String) -> bool {
[INFO] [stdout]    |                   ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day7/puzzle1.rs:30:15
[INFO] [stdout]    |
[INFO] [stdout] 30 |         .map(|mut l| l.replace(".", ""))
[INFO] [stdout]    |               ----^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> src/day5/code.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 |         .filter(|(pos, &v)| v.eq(&1))
[INFO] [stdout]    |                   ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day7/puzzle2.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 |         .map(|mut l| l.replace(".", ""))
[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/day7/puzzle1.rs:30:15
[INFO] [stdout]    |
[INFO] [stdout] 30 |         .map(|mut l| l.replace(".", ""))
[INFO] [stdout]    |               ----^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day7/puzzle2.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 |         .map(|mut l| l.replace(".", ""))
[INFO] [stdout]    |               ----^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/day8/code.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |         .map(|(pos, v)| pos)
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/day8/code.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |         .map(|(pos, v)| pos)
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/day11/puzzle1.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |             _ => panic!("not expected"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/day11/puzzle1.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |             Occupied => "#".to_string(),
[INFO] [stdout]     |             -------- matches some of the same values
[INFO] [stdout] 131 |             Empty => "L".to_string(),
[INFO] [stdout]     |             ----- matches some of the same values
[INFO] [stdout] 132 |             Floor => ".".to_string(),
[INFO] [stdout]     |             ----- matches some of the same values
[INFO] [stdout] 133 |             _ => panic!("not expected"),
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/day11/puzzle1.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |             _ => panic!("not expected"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/day11/puzzle1.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |             Occupied => "#".to_string(),
[INFO] [stdout]     |             -------- matches some of the same values
[INFO] [stdout] 131 |             Empty => "L".to_string(),
[INFO] [stdout]     |             ----- matches some of the same values
[INFO] [stdout] 132 |             Floor => ".".to_string(),
[INFO] [stdout]     |             ----- matches some of the same values
[INFO] [stdout] 133 |             _ => panic!("not expected"),
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/day11/puzzle2.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |             _ => panic!("not expected"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/day11/puzzle2.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |             Occupied => "#".to_string(),
[INFO] [stdout]     |             -------- matches some of the same values
[INFO] [stdout] 164 |             Empty => "L".to_string(),
[INFO] [stdout]     |             ----- matches some of the same values
[INFO] [stdout] 165 |             Floor => ".".to_string(),
[INFO] [stdout]     |             ----- matches some of the same values
[INFO] [stdout] 166 |             _ => panic!("not expected"),
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/day11/puzzle2.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |             _ => panic!("not expected"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/day11/puzzle2.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |             Occupied => "#".to_string(),
[INFO] [stdout]     |             -------- matches some of the same values
[INFO] [stdout] 164 |             Empty => "L".to_string(),
[INFO] [stdout]     |             ----- matches some of the same values
[INFO] [stdout] 165 |             Floor => ".".to_string(),
[INFO] [stdout]     |             ----- matches some of the same values
[INFO] [stdout] 166 |             _ => panic!("not expected"),
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> src/day14/puzzle_1.rs:84:31
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     .filter(|(pos, c)| c != &'X')
[INFO] [stdout]    |                               ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]   --> src/day14/puzzle_2.rs:54:19
[INFO] [stdout]    |
[INFO] [stdout] 54 |         .filter(|(k, v)| v.eq(&&One))
[INFO] [stdout]    |                   ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/day14/puzzle_2.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 |         .map(|(k, v)| k)
[INFO] [stdout]    |                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]   --> src/day14/puzzle_2.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 |         .filter(|(k, v)| v.eq(&&Floating))
[INFO] [stdout]    |                   ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/day14/puzzle_2.rs:60:19
[INFO] [stdout]    |
[INFO] [stdout] 60 |         .map(|(k, v)| k)
[INFO] [stdout]    |                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/day14/puzzle_2.rs:119:31
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     .filter(|(pos, c)| c != &'0')
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> src/day14/puzzle_1.rs:84:31
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     .filter(|(pos, c)| c != &'X')
[INFO] [stdout]    |                               ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]   --> src/day16/code.rs:83:21
[INFO] [stdout]    |
[INFO] [stdout] 83 |             .find(|(k, v)| v.is_some())
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> src/day16/code.rs:91:19
[INFO] [stdout]    |
[INFO] [stdout] 91 |         .filter(|(pos, r)| r.name.contains("departure"))
[INFO] [stdout]    |                   ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]   --> src/day16/code.rs:92:21
[INFO] [stdout]    |
[INFO] [stdout] 92 |         .map(|(pos, r)| notes.your_ticket[pos.clone()])
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]   --> src/day14/puzzle_2.rs:54:19
[INFO] [stdout]    |
[INFO] [stdout] 54 |         .filter(|(k, v)| v.eq(&&One))
[INFO] [stdout]    |                   ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/day14/puzzle_2.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 |         .map(|(k, v)| k)
[INFO] [stdout]    |                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]   --> src/day14/puzzle_2.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 |         .filter(|(k, v)| v.eq(&&Floating))
[INFO] [stdout]    |                   ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/day14/puzzle_2.rs:60:19
[INFO] [stdout]    |
[INFO] [stdout] 60 |         .map(|(k, v)| k)
[INFO] [stdout]    |                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/day16/code.rs:118:19
[INFO] [stdout]     |
[INFO] [stdout] 118 |         .filter(|(pos, v)| v.is_empty())
[INFO] [stdout]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/day16/code.rs:119:21
[INFO] [stdout]     |
[INFO] [stdout] 119 |         .map(|(pos, v)| pos)
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/day14/puzzle_2.rs:119:31
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     .filter(|(pos, c)| c != &'0')
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]   --> src/day16/code.rs:83:21
[INFO] [stdout]    |
[INFO] [stdout] 83 |             .find(|(k, v)| v.is_some())
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> src/day16/code.rs:91:19
[INFO] [stdout]    |
[INFO] [stdout] 91 |         .filter(|(pos, r)| r.name.contains("departure"))
[INFO] [stdout]    |                   ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]   --> src/day16/code.rs:92:21
[INFO] [stdout]    |
[INFO] [stdout] 92 |         .map(|(pos, r)| notes.your_ticket[pos.clone()])
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/day16/code.rs:118:19
[INFO] [stdout]     |
[INFO] [stdout] 118 |         .filter(|(pos, v)| v.is_empty())
[INFO] [stdout]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/day16/code.rs:119:21
[INFO] [stdout]     |
[INFO] [stdout] 119 |         .map(|(pos, v)| pos)
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_1_read_file` is never used
[INFO] [stdout]  --> src/day1/code.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn day_1_read_file() -> Vec<i32> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_1_puzzle_1` is never used
[INFO] [stdout]   --> src/day1/code.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn day_1_puzzle_1() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_1_puzzle_2` is never used
[INFO] [stdout]   --> src/day1/code.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn day_1_puzzle_2() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_2_puzzle_1` is never used
[INFO] [stdout]  --> src/day2/code.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn day_2_puzzle_1() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_entries` is never used
[INFO] [stdout]   --> src/day2/code.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn get_entries(file: File) -> Vec<DatabaseEntry> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_2_puzzle_2` is never used
[INFO] [stdout]   --> src/day2/code.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn day_2_puzzle_2() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_chars_from_password` is never used
[INFO] [stdout]   --> src/day2/code.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn get_chars_from_password(e: &DatabaseEntry) -> (char, char) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `first_param`, `second_param`, `letter`, and `password` are never read
[INFO] [stdout]   --> src/day2/code.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct DatabaseEntry {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 68 |     first_param: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 69 |     second_param: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 70 |     letter: char,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 71 |     password: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DatabaseEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_3_puzzle_1` is never used
[INFO] [stdout]  --> src/day3/code.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn day_3_puzzle_1() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_slope` is never used
[INFO] [stdout]   --> src/day3/code.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn process_slope(map: &Vec<Vec<bool>>, right_steps: usize, down_steps: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_map` is never used
[INFO] [stdout]   --> src/day3/code.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn get_map(file: File) -> Vec<Vec<bool>> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_line` is never used
[INFO] [stdout]   --> src/day3/code.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn convert_line(p: String) -> Vec<bool> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_4_puzzle_1` is never used
[INFO] [stdout]   --> src/day4/code.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn day_4_puzzle_1() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_passport_valid_1` is never used
[INFO] [stdout]   --> src/day4/code.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn is_passport_valid_1(passport: &String) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_passport_valid_2` is never used
[INFO] [stdout]   --> src/day4/code.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn is_passport_valid_2(passport: &String) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_batch_file` is never used
[INFO] [stdout]   --> src/day4/code.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn read_batch_file(file: File) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `byr` is never used
[INFO] [stdout]  --> src/day4/rules.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn byr(s: String) -> bool {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `iyr` is never used
[INFO] [stdout]   --> src/day4/rules.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn iyr(s: String) -> bool {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eyr` is never used
[INFO] [stdout]   --> src/day4/rules.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn eyr(s: String) -> bool {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hgt` is never used
[INFO] [stdout]   --> src/day4/rules.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn hgt(s: String) -> bool {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hcl` is never used
[INFO] [stdout]   --> src/day4/rules.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn hcl(s: String) -> bool {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ecl` is never used
[INFO] [stdout]   --> src/day4/rules.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn ecl(s: String) -> bool {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pid` is never used
[INFO] [stdout]   --> src/day4/rules.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn pid(s: String) -> bool {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `empty_rule` is never used
[INFO] [stdout]   --> src/day4/rules.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn empty_rule(s: String) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_5_puzzle_1` is never used
[INFO] [stdout]  --> src/day5/code.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn day_5_puzzle_1() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_seat_ids` is never used
[INFO] [stdout]   --> src/day5/code.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn read_seat_ids(file: File) -> Vec<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_seat_id` is never used
[INFO] [stdout]   --> src/day5/code.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn get_seat_id(s: String) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_binary_to_number` is never used
[INFO] [stdout]   --> src/day5/code.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn convert_binary_to_number(i: &[i32]) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_6_puzzle_1` is never used
[INFO] [stdout]  --> src/day6/code.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn day_6_puzzle_1() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_answers_file_anyone` is never used
[INFO] [stdout]   --> src/day6/code.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn read_answers_file_anyone(file: File) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_answers_file_everyone` is never used
[INFO] [stdout]   --> src/day6/code.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn read_answers_file_everyone(file: File) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_7_puzzle_1` is never used
[INFO] [stdout]   --> src/day7/puzzle1.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn day_7_puzzle_1() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_bag_rules_file` is never used
[INFO] [stdout]   --> src/day7/puzzle1.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn read_bag_rules_file(file: File) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_outer_inner` is never used
[INFO] [stdout]   --> src/day7/puzzle1.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn split_outer_inner(line: String) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_inner_list` is never used
[INFO] [stdout]   --> src/day7/puzzle1.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn get_inner_list(inner: String) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_bags` is never used
[INFO] [stdout]   --> src/day7/puzzle1.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn process_bags(map: &HashMap<String, Vec<String>>, set: &mut HashSet<String>, desired: String) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contains_desired` is never used
[INFO] [stdout]   --> src/day7/puzzle1.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn contains_desired(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_7_puzzle_2` is never used
[INFO] [stdout]   --> src/day7/puzzle2.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn day_7_puzzle_2() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_bag_rules_file` is never used
[INFO] [stdout]   --> src/day7/puzzle2.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn read_bag_rules_file(file: File) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_outer_inner` is never used
[INFO] [stdout]   --> src/day7/puzzle2.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn split_outer_inner(line: String) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_inner_list` is never used
[INFO] [stdout]   --> src/day7/puzzle2.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn get_inner_list(inner: String) -> Vec<InnerBag> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_bags` is never used
[INFO] [stdout]   --> src/day7/puzzle2.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn process_bags(map: &HashMap<String, Vec<InnerBag>>, desired: &String) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contains_desired` is never used
[INFO] [stdout]   --> src/day7/puzzle2.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn contains_desired(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/day7/puzzle2.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     Bag(String, usize),
[INFO] [stdout]     |     --- ^^^^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InnerBag` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 102 |     Bag((), ()),
[INFO] [stdout]     |         ~~  ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_8_puzzle_1` is never used
[INFO] [stdout]   --> src/day8/code.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(crate) fn day_8_puzzle_1() {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_8_puzzle_2` is never used
[INFO] [stdout]   --> src/day8/code.rs:42:15
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) fn day_8_puzzle_2() {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_altered_boot_code` is never used
[INFO] [stdout]   --> src/day8/code.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn process_altered_boot_code(boot_code: &Vec<Oper>, ptr_to_alter: usize) -> Option<isize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_boot_code` is never used
[INFO] [stdout]    --> src/day8/code.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn read_boot_code(file: File) -> Vec<Oper> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day8/code.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     Acc(isize),
[INFO] [stdout]     |     --- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Oper` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 111 |     Acc(()),
[INFO] [stdout]     |         ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day8/code.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     Jmp(isize),
[INFO] [stdout]     |     --- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Oper` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 112 |     Jmp(()),
[INFO] [stdout]     |         ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day8/code.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     Nop(isize),
[INFO] [stdout]     |     --- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Oper` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 113 |     Nop(()),
[INFO] [stdout]     |         ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_9` is never used
[INFO] [stdout]  --> src/day9/code.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn day_9() {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid` is never used
[INFO] [stdout]   --> src/day9/code.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn is_valid(expected: usize, sum_components: &[usize]) -> bool {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `complete_break` is never used
[INFO] [stdout]   --> src/day9/code.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn complete_break(expected_sum: &usize, previous_numbers: &[usize]) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_xmas_file` is never used
[INFO] [stdout]   --> src/day9/code.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn read_xmas_file() -> Vec<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_1` is never used
[INFO] [stdout]  --> src/day10/code.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn puzzle_1() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_2` is never used
[INFO] [stdout]   --> src/day10/code.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn puzzle_2() {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eh` is never used
[INFO] [stdout]   --> src/day10/code.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn eh(curr_value: &usize, curr_pos: &usize, vector: &Vec<usize>, sum_vec: &Vec<usize>) -> usize {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eh_2` is never used
[INFO] [stdout]   --> src/day10/code.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn eh_2(curr_value: &usize, curr_pos: &usize, offset: &usize, vector: &Vec<usize>) -> bool {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_joltage_ratings` is never used
[INFO] [stdout]   --> src/day10/code.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn read_joltage_ratings() -> Vec<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_1` is never used
[INFO] [stdout]   --> src/day11/puzzle1.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn puzzle_1() {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_current_state` is never used
[INFO] [stdout]   --> src/day11/puzzle1.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn print_current_state(current: &Vec<Vec<Seat>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `layouts_are_equal` is never used
[INFO] [stdout]   --> src/day11/puzzle1.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn layouts_are_equal(v1: &Vec<Vec<Seat>>, v2: &Vec<Vec<Seat>>) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_row` is never used
[INFO] [stdout]   --> src/day11/puzzle1.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn new_row(row_index: usize, last: &Vec<Vec<Seat>>) -> Vec<Seat> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_status` is never used
[INFO] [stdout]   --> src/day11/puzzle1.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn new_status(i: usize, j: usize, last: &Vec<Vec<Seat>>) -> Seat {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_occupied_in_area` is never used
[INFO] [stdout]   --> src/day11/puzzle1.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn get_occupied_in_area(i: usize, j: usize, last: &Vec<Vec<Seat>>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_range` is never used
[INFO] [stdout]   --> src/day11/puzzle1.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn get_range(i: usize, max: usize) -> RangeInclusive<usize> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_waiting_room_layout` is never used
[INFO] [stdout]    --> src/day11/puzzle1.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn read_waiting_room_layout() -> Vec<Vec<Seat>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_waiting_room_layout_row` is never used
[INFO] [stdout]    --> src/day11/puzzle1.rs:113:4
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn read_waiting_room_layout_row(s: &str) -> Vec<Seat> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_2` is never used
[INFO] [stdout]   --> src/day11/puzzle2.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn puzzle_2() {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_current_state` is never used
[INFO] [stdout]   --> src/day11/puzzle2.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn print_current_state(current: &Vec<Vec<Seat>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `layouts_are_equal` is never used
[INFO] [stdout]   --> src/day11/puzzle2.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn layouts_are_equal(v1: &Vec<Vec<Seat>>, v2: &Vec<Vec<Seat>>) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_row` is never used
[INFO] [stdout]   --> src/day11/puzzle2.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn new_row(row_index: usize, last: &Vec<Vec<Seat>>) -> Vec<Seat> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_status` is never used
[INFO] [stdout]   --> src/day11/puzzle2.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn new_status(i: usize, j: usize, last: &Vec<Vec<Seat>>) -> Seat {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_occupied_that_can_be_seen_all_directions` is never used
[INFO] [stdout]   --> src/day11/puzzle2.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn get_occupied_that_can_be_seen_all_directions(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_occupied` is never used
[INFO] [stdout]    --> src/day11/puzzle2.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn is_occupied(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_waiting_room_layout` is never used
[INFO] [stdout]    --> src/day11/puzzle2.rs:134:4
[INFO] [stdout]     |
[INFO] [stdout] 134 | fn read_waiting_room_layout() -> Vec<Vec<Seat>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_waiting_room_layout_row` is never used
[INFO] [stdout]    --> src/day11/puzzle2.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn read_waiting_room_layout_row(s: &str) -> Vec<Seat> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_1` is never used
[INFO] [stdout]   --> src/day12/code.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn puzzle_1() {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_2` is never used
[INFO] [stdout]   --> src/day12/code.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn puzzle_2() {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_direction_with_waypoint` is never used
[INFO] [stdout]   --> src/day12/code.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn process_direction_with_waypoint(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `turn_waypoint` is never used
[INFO] [stdout]    --> src/day12/code.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn turn_waypoint(angle: usize, waypoint: &Position) -> Position {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_direction` is never used
[INFO] [stdout]    --> src/day12/code.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn process_direction(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Position` is never constructed
[INFO] [stdout]    --> src/day12/code.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | struct Position {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_forward_direction` is never used
[INFO] [stdout]    --> src/day12/code.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn get_forward_direction(units: usize, pointing_to: &Compass) -> Direction {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `turn_ship` is never used
[INFO] [stdout]    --> src/day12/code.rs:156:4
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn turn_ship(angle: usize, pointing_to: &Compass) -> Compass {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_directions` is never used
[INFO] [stdout]    --> src/day12/code.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn read_directions(file: File) -> Vec<Direction> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Compass` is never used
[INFO] [stdout]    --> src/day12/code.rs:173:6
[INFO] [stdout]     |
[INFO] [stdout] 173 | enum Compass {
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day12/code.rs:182:11
[INFO] [stdout]     |
[INFO] [stdout] 182 |     North(usize),
[INFO] [stdout]     |     ----- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 182 |     North(()),
[INFO] [stdout]     |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day12/code.rs:183:10
[INFO] [stdout]     |
[INFO] [stdout] 183 |     East(usize),
[INFO] [stdout]     |     ---- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 183 |     East(()),
[INFO] [stdout]     |          ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day12/code.rs:184:11
[INFO] [stdout]     |
[INFO] [stdout] 184 |     South(usize),
[INFO] [stdout]     |     ----- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 184 |     South(()),
[INFO] [stdout]     |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day12/code.rs:185:10
[INFO] [stdout]     |
[INFO] [stdout] 185 |     West(usize),
[INFO] [stdout]     |     ---- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 185 |     West(()),
[INFO] [stdout]     |          ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day12/code.rs:186:10
[INFO] [stdout]     |
[INFO] [stdout] 186 |     Left(usize),
[INFO] [stdout]     |     ---- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 186 |     Left(()),
[INFO] [stdout]     |          ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day12/code.rs:187:11
[INFO] [stdout]     |
[INFO] [stdout] 187 |     Right(usize),
[INFO] [stdout]     |     ----- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 187 |     Right(()),
[INFO] [stdout]     |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day12/code.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |     Forward(usize),
[INFO] [stdout]     |     ------- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 188 |     Forward(()),
[INFO] [stdout]     |             ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_1` is never used
[INFO] [stdout]  --> src/day13/puzzle1.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn puzzle_1() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_personal_notes` is never used
[INFO] [stdout]   --> src/day13/puzzle1.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn read_personal_notes(file: File) -> (usize, Vec<usize>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_2` is never used
[INFO] [stdout]  --> src/day13/puzzle2.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn puzzle_2() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_personal_notes` is never used
[INFO] [stdout]   --> src/day13/puzzle2.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn read_personal_notes(file: File) -> Vec<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_1` is never used
[INFO] [stdout]   --> src/day14/puzzle_1.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn puzzle_1() {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_value` is never used
[INFO] [stdout]   --> src/day14/puzzle_1.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn calculate_value(v: usize, op: &Operation) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_operations` is never used
[INFO] [stdout]   --> src/day14/puzzle_1.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn read_operations(file: File) -> Vec<Operation> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_2` is never used
[INFO] [stdout]   --> src/day14/puzzle_2.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn puzzle_2() {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_addresses` is never used
[INFO] [stdout]   --> src/day14/puzzle_2.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn get_addresses(base_addr: usize, op: &Operation) -> Vec<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_floating` is never used
[INFO] [stdout]   --> src/day14/puzzle_2.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn apply_floating(address: usize, bit_vec: &[&usize]) -> Vec<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `overwrite_bit_with_one` is never used
[INFO] [stdout]   --> src/day14/puzzle_2.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn overwrite_bit_with_one(addr: usize, bit: &usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `overwrite_bit_with_zero` is never used
[INFO] [stdout]   --> src/day14/puzzle_2.rs:83:4
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn overwrite_bit_with_zero(addr: usize, bit: &usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_operations` is never used
[INFO] [stdout]   --> src/day14/puzzle_2.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn read_operations(file: File) -> Vec<Operation> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle` is never used
[INFO] [stdout]  --> src/day15/code.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn puzzle() {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_initial_numbers` is never used
[INFO] [stdout]   --> src/day15/code.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn get_initial_numbers(file: File) -> Vec<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzles` is never used
[INFO] [stdout]   --> src/day16/code.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn puzzles() {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_there_only_one_unprocessed_rule` is never used
[INFO] [stdout]   --> src/day16/code.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn is_there_only_one_unprocessed_rule(rules: &Vec<Rule>, processed: Vec<&Rule>) -> Option<Rule> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rule_contains_value` is never used
[INFO] [stdout]    --> src/day16/code.rs:106:4
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn rule_contains_value(rule: &Rule, value: &usize) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_notes` is never used
[INFO] [stdout]    --> src/day16/code.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn read_notes(file: File) -> Notes {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_ticket` is never used
[INFO] [stdout]    --> src/day16/code.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn read_ticket(string: &String) -> Vec<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_rules` is never used
[INFO] [stdout]    --> src/day16/code.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn read_rules(lines: &[String]) -> Vec<Rule> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Notes` is never constructed
[INFO] [stdout]    --> src/day16/code.rs:153:8
[INFO] [stdout]     |
[INFO] [stdout] 153 | struct Notes {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_2` is never used
[INFO] [stdout]  --> src/day17/four_dimensions.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn puzzle_2() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_state_is_active` is never used
[INFO] [stdout]   --> src/day17/four_dimensions.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn new_state_is_active(last_state: &HashSet<Coord>, c: Coord) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_initial_state` is never used
[INFO] [stdout]   --> src/day17/four_dimensions.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn read_initial_state(file: File) -> Vec<Vec<bool>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_initial_to_map` is never used
[INFO] [stdout]   --> src/day17/four_dimensions.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn convert_initial_to_map(initial_state: Vec<Vec<bool>>) -> HashSet<Coord> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_line` is never used
[INFO] [stdout]   --> src/day17/four_dimensions.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn read_line(line: String) -> Vec<bool> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Coord` is never constructed
[INFO] [stdout]   --> src/day17/four_dimensions.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | struct Coord {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_neighbors` is never used
[INFO] [stdout]   --> src/day17/four_dimensions.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl Coord {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 91 |     fn get_neighbors(&self) -> HashSet<Coord> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_1` is never used
[INFO] [stdout]  --> src/day17/three_dimensions.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn puzzle_1() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_state_is_active` is never used
[INFO] [stdout]   --> src/day17/three_dimensions.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn new_state_is_active(last_state: &HashSet<Coord>, c: Coord) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_initial_state` is never used
[INFO] [stdout]   --> src/day17/three_dimensions.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn read_initial_state(file: File) -> Vec<Vec<bool>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_initial_to_map` is never used
[INFO] [stdout]   --> src/day17/three_dimensions.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn convert_initial_to_map(initial_state: Vec<Vec<bool>>) -> HashSet<Coord> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_line` is never used
[INFO] [stdout]   --> src/day17/three_dimensions.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn read_line(line: String) -> Vec<bool> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Coord` is never constructed
[INFO] [stdout]   --> src/day17/three_dimensions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct Coord {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `distance` and `get_neighbors` are never used
[INFO] [stdout]   --> src/day17/three_dimensions.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | impl Coord {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 89 |     fn distance(&self, other: &Coord) -> usize {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     fn get_neighbors(&self) -> HashSet<Coord> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_1` is never used
[INFO] [stdout]   --> src/day18/puzzle_1.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn puzzle_1() {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_homework` is never used
[INFO] [stdout]   --> src/day18/puzzle_1.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn read_homework(file: File) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate` is never used
[INFO] [stdout]   --> src/day18/puzzle_1.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn calculate(exp: &mut Vec<Expression>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_number` is never used
[INFO] [stdout]   --> src/day18/puzzle_1.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn process_number(v1: usize, preceding: &mut Vec<Expression>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_immediate_next` is never used
[INFO] [stdout]   --> src/day18/puzzle_1.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn calculate_immediate_next(exp: &mut Vec<Expression>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_line` is never used
[INFO] [stdout]   --> src/day18/puzzle_1.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn split_line(l: String) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_expression` is never used
[INFO] [stdout]   --> src/day18/puzzle_1.rs:96:4
[INFO] [stdout]    |
[INFO] [stdout] 96 | fn parse_expression(units: Vec<String>) -> Vec<Expression> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expression` is never used
[INFO] [stdout]    --> src/day18/puzzle_1.rs:123:6
[INFO] [stdout]     |
[INFO] [stdout] 123 | enum Expression {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_immediate_next` is never used
[INFO] [stdout]    --> src/day18/puzzle_2.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn calculate_immediate_next(exp: &mut Vec<Expression>) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&usize` instead of cloning the inner type
[INFO] [stdout]   --> src/day13/puzzle2.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 % (*bus.clone() as isize)
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_1_read_file` is never used
[INFO] [stdout]  --> src/day1/code.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn day_1_read_file() -> Vec<i32> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_1_puzzle_1` is never used
[INFO] [stdout]   --> src/day1/code.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn day_1_puzzle_1() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_1_puzzle_2` is never used
[INFO] [stdout]   --> src/day1/code.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn day_1_puzzle_2() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_2_puzzle_1` is never used
[INFO] [stdout]  --> src/day2/code.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn day_2_puzzle_1() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_entries` is never used
[INFO] [stdout]   --> src/day2/code.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn get_entries(file: File) -> Vec<DatabaseEntry> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_2_puzzle_2` is never used
[INFO] [stdout]   --> src/day2/code.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn day_2_puzzle_2() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_chars_from_password` is never used
[INFO] [stdout]   --> src/day2/code.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn get_chars_from_password(e: &DatabaseEntry) -> (char, char) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `first_param`, `second_param`, `letter`, and `password` are never read
[INFO] [stdout]   --> src/day2/code.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct DatabaseEntry {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 68 |     first_param: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 69 |     second_param: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 70 |     letter: char,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 71 |     password: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DatabaseEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_3_puzzle_1` is never used
[INFO] [stdout]  --> src/day3/code.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn day_3_puzzle_1() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_slope` is never used
[INFO] [stdout]   --> src/day3/code.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn process_slope(map: &Vec<Vec<bool>>, right_steps: usize, down_steps: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_map` is never used
[INFO] [stdout]   --> src/day3/code.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn get_map(file: File) -> Vec<Vec<bool>> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_line` is never used
[INFO] [stdout]   --> src/day3/code.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn convert_line(p: String) -> Vec<bool> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_4_puzzle_1` is never used
[INFO] [stdout]   --> src/day4/code.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn day_4_puzzle_1() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_passport_valid_1` is never used
[INFO] [stdout]   --> src/day4/code.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn is_passport_valid_1(passport: &String) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_passport_valid_2` is never used
[INFO] [stdout]   --> src/day4/code.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn is_passport_valid_2(passport: &String) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_batch_file` is never used
[INFO] [stdout]   --> src/day4/code.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn read_batch_file(file: File) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `byr` is never used
[INFO] [stdout]  --> src/day4/rules.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn byr(s: String) -> bool {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `iyr` is never used
[INFO] [stdout]   --> src/day4/rules.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn iyr(s: String) -> bool {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eyr` is never used
[INFO] [stdout]   --> src/day4/rules.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn eyr(s: String) -> bool {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hgt` is never used
[INFO] [stdout]   --> src/day4/rules.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn hgt(s: String) -> bool {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hcl` is never used
[INFO] [stdout]   --> src/day4/rules.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn hcl(s: String) -> bool {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ecl` is never used
[INFO] [stdout]   --> src/day4/rules.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn ecl(s: String) -> bool {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pid` is never used
[INFO] [stdout]   --> src/day4/rules.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn pid(s: String) -> bool {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `empty_rule` is never used
[INFO] [stdout]   --> src/day4/rules.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn empty_rule(s: String) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_5_puzzle_1` is never used
[INFO] [stdout]  --> src/day5/code.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn day_5_puzzle_1() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_seat_ids` is never used
[INFO] [stdout]   --> src/day5/code.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn read_seat_ids(file: File) -> Vec<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_seat_id` is never used
[INFO] [stdout]   --> src/day5/code.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn get_seat_id(s: String) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_binary_to_number` is never used
[INFO] [stdout]   --> src/day5/code.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn convert_binary_to_number(i: &[i32]) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_6_puzzle_1` is never used
[INFO] [stdout]  --> src/day6/code.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn day_6_puzzle_1() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_answers_file_anyone` is never used
[INFO] [stdout]   --> src/day6/code.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn read_answers_file_anyone(file: File) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_answers_file_everyone` is never used
[INFO] [stdout]   --> src/day6/code.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn read_answers_file_everyone(file: File) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_7_puzzle_1` is never used
[INFO] [stdout]   --> src/day7/puzzle1.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn day_7_puzzle_1() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_bag_rules_file` is never used
[INFO] [stdout]   --> src/day7/puzzle1.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn read_bag_rules_file(file: File) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_outer_inner` is never used
[INFO] [stdout]   --> src/day7/puzzle1.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn split_outer_inner(line: String) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_inner_list` is never used
[INFO] [stdout]   --> src/day7/puzzle1.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn get_inner_list(inner: String) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_bags` is never used
[INFO] [stdout]   --> src/day7/puzzle1.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn process_bags(map: &HashMap<String, Vec<String>>, set: &mut HashSet<String>, desired: String) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contains_desired` is never used
[INFO] [stdout]   --> src/day7/puzzle1.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn contains_desired(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_7_puzzle_2` is never used
[INFO] [stdout]   --> src/day7/puzzle2.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn day_7_puzzle_2() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_bag_rules_file` is never used
[INFO] [stdout]   --> src/day7/puzzle2.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn read_bag_rules_file(file: File) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_outer_inner` is never used
[INFO] [stdout]   --> src/day7/puzzle2.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn split_outer_inner(line: String) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_inner_list` is never used
[INFO] [stdout]   --> src/day7/puzzle2.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn get_inner_list(inner: String) -> Vec<InnerBag> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_bags` is never used
[INFO] [stdout]   --> src/day7/puzzle2.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn process_bags(map: &HashMap<String, Vec<InnerBag>>, desired: &String) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contains_desired` is never used
[INFO] [stdout]   --> src/day7/puzzle2.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn contains_desired(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/day7/puzzle2.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     Bag(String, usize),
[INFO] [stdout]     |     --- ^^^^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InnerBag` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 102 |     Bag((), ()),
[INFO] [stdout]     |         ~~  ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_8_puzzle_1` is never used
[INFO] [stdout]   --> src/day8/code.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(crate) fn day_8_puzzle_1() {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_8_puzzle_2` is never used
[INFO] [stdout]   --> src/day8/code.rs:42:15
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) fn day_8_puzzle_2() {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_altered_boot_code` is never used
[INFO] [stdout]   --> src/day8/code.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn process_altered_boot_code(boot_code: &Vec<Oper>, ptr_to_alter: usize) -> Option<isize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_boot_code` is never used
[INFO] [stdout]    --> src/day8/code.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn read_boot_code(file: File) -> Vec<Oper> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day8/code.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     Acc(isize),
[INFO] [stdout]     |     --- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Oper` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 111 |     Acc(()),
[INFO] [stdout]     |         ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day8/code.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     Jmp(isize),
[INFO] [stdout]     |     --- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Oper` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 112 |     Jmp(()),
[INFO] [stdout]     |         ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day8/code.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     Nop(isize),
[INFO] [stdout]     |     --- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Oper` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 113 |     Nop(()),
[INFO] [stdout]     |         ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_9` is never used
[INFO] [stdout]  --> src/day9/code.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn day_9() {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid` is never used
[INFO] [stdout]   --> src/day9/code.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn is_valid(expected: usize, sum_components: &[usize]) -> bool {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `complete_break` is never used
[INFO] [stdout]   --> src/day9/code.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn complete_break(expected_sum: &usize, previous_numbers: &[usize]) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_xmas_file` is never used
[INFO] [stdout]   --> src/day9/code.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn read_xmas_file() -> Vec<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_1` is never used
[INFO] [stdout]  --> src/day10/code.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn puzzle_1() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_2` is never used
[INFO] [stdout]   --> src/day10/code.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn puzzle_2() {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eh` is never used
[INFO] [stdout]   --> src/day10/code.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn eh(curr_value: &usize, curr_pos: &usize, vector: &Vec<usize>, sum_vec: &Vec<usize>) -> usize {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eh_2` is never used
[INFO] [stdout]   --> src/day10/code.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn eh_2(curr_value: &usize, curr_pos: &usize, offset: &usize, vector: &Vec<usize>) -> bool {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_joltage_ratings` is never used
[INFO] [stdout]   --> src/day10/code.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn read_joltage_ratings() -> Vec<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_1` is never used
[INFO] [stdout]   --> src/day11/puzzle1.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn puzzle_1() {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_current_state` is never used
[INFO] [stdout]   --> src/day11/puzzle1.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn print_current_state(current: &Vec<Vec<Seat>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `layouts_are_equal` is never used
[INFO] [stdout]   --> src/day11/puzzle1.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn layouts_are_equal(v1: &Vec<Vec<Seat>>, v2: &Vec<Vec<Seat>>) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_row` is never used
[INFO] [stdout]   --> src/day11/puzzle1.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn new_row(row_index: usize, last: &Vec<Vec<Seat>>) -> Vec<Seat> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_status` is never used
[INFO] [stdout]   --> src/day11/puzzle1.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn new_status(i: usize, j: usize, last: &Vec<Vec<Seat>>) -> Seat {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_occupied_in_area` is never used
[INFO] [stdout]   --> src/day11/puzzle1.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn get_occupied_in_area(i: usize, j: usize, last: &Vec<Vec<Seat>>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_range` is never used
[INFO] [stdout]   --> src/day11/puzzle1.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn get_range(i: usize, max: usize) -> RangeInclusive<usize> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_waiting_room_layout` is never used
[INFO] [stdout]    --> src/day11/puzzle1.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn read_waiting_room_layout() -> Vec<Vec<Seat>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_waiting_room_layout_row` is never used
[INFO] [stdout]    --> src/day11/puzzle1.rs:113:4
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn read_waiting_room_layout_row(s: &str) -> Vec<Seat> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_2` is never used
[INFO] [stdout]   --> src/day11/puzzle2.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn puzzle_2() {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_current_state` is never used
[INFO] [stdout]   --> src/day11/puzzle2.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn print_current_state(current: &Vec<Vec<Seat>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `layouts_are_equal` is never used
[INFO] [stdout]   --> src/day11/puzzle2.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn layouts_are_equal(v1: &Vec<Vec<Seat>>, v2: &Vec<Vec<Seat>>) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_row` is never used
[INFO] [stdout]   --> src/day11/puzzle2.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn new_row(row_index: usize, last: &Vec<Vec<Seat>>) -> Vec<Seat> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_status` is never used
[INFO] [stdout]   --> src/day11/puzzle2.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn new_status(i: usize, j: usize, last: &Vec<Vec<Seat>>) -> Seat {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_occupied_that_can_be_seen_all_directions` is never used
[INFO] [stdout]   --> src/day11/puzzle2.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn get_occupied_that_can_be_seen_all_directions(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_occupied` is never used
[INFO] [stdout]    --> src/day11/puzzle2.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn is_occupied(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_waiting_room_layout` is never used
[INFO] [stdout]    --> src/day11/puzzle2.rs:134:4
[INFO] [stdout]     |
[INFO] [stdout] 134 | fn read_waiting_room_layout() -> Vec<Vec<Seat>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_waiting_room_layout_row` is never used
[INFO] [stdout]    --> src/day11/puzzle2.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn read_waiting_room_layout_row(s: &str) -> Vec<Seat> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_1` is never used
[INFO] [stdout]   --> src/day12/code.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn puzzle_1() {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_2` is never used
[INFO] [stdout]   --> src/day12/code.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn puzzle_2() {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_direction_with_waypoint` is never used
[INFO] [stdout]   --> src/day12/code.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn process_direction_with_waypoint(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `turn_waypoint` is never used
[INFO] [stdout]    --> src/day12/code.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn turn_waypoint(angle: usize, waypoint: &Position) -> Position {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_direction` is never used
[INFO] [stdout]    --> src/day12/code.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn process_direction(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Position` is never constructed
[INFO] [stdout]    --> src/day12/code.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | struct Position {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_forward_direction` is never used
[INFO] [stdout]    --> src/day12/code.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn get_forward_direction(units: usize, pointing_to: &Compass) -> Direction {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `turn_ship` is never used
[INFO] [stdout]    --> src/day12/code.rs:156:4
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn turn_ship(angle: usize, pointing_to: &Compass) -> Compass {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_directions` is never used
[INFO] [stdout]    --> src/day12/code.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn read_directions(file: File) -> Vec<Direction> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Compass` is never used
[INFO] [stdout]    --> src/day12/code.rs:173:6
[INFO] [stdout]     |
[INFO] [stdout] 173 | enum Compass {
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day12/code.rs:182:11
[INFO] [stdout]     |
[INFO] [stdout] 182 |     North(usize),
[INFO] [stdout]     |     ----- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 182 |     North(()),
[INFO] [stdout]     |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day12/code.rs:183:10
[INFO] [stdout]     |
[INFO] [stdout] 183 |     East(usize),
[INFO] [stdout]     |     ---- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 183 |     East(()),
[INFO] [stdout]     |          ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day12/code.rs:184:11
[INFO] [stdout]     |
[INFO] [stdout] 184 |     South(usize),
[INFO] [stdout]     |     ----- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 184 |     South(()),
[INFO] [stdout]     |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day12/code.rs:185:10
[INFO] [stdout]     |
[INFO] [stdout] 185 |     West(usize),
[INFO] [stdout]     |     ---- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 185 |     West(()),
[INFO] [stdout]     |          ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day12/code.rs:186:10
[INFO] [stdout]     |
[INFO] [stdout] 186 |     Left(usize),
[INFO] [stdout]     |     ---- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 186 |     Left(()),
[INFO] [stdout]     |          ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day12/code.rs:187:11
[INFO] [stdout]     |
[INFO] [stdout] 187 |     Right(usize),
[INFO] [stdout]     |     ----- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 187 |     Right(()),
[INFO] [stdout]     |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day12/code.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |     Forward(usize),
[INFO] [stdout]     |     ------- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 188 |     Forward(()),
[INFO] [stdout]     |             ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_1` is never used
[INFO] [stdout]  --> src/day13/puzzle1.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn puzzle_1() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_personal_notes` is never used
[INFO] [stdout]   --> src/day13/puzzle1.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn read_personal_notes(file: File) -> (usize, Vec<usize>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_2` is never used
[INFO] [stdout]  --> src/day13/puzzle2.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn puzzle_2() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_personal_notes` is never used
[INFO] [stdout]   --> src/day13/puzzle2.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn read_personal_notes(file: File) -> Vec<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_1` is never used
[INFO] [stdout]   --> src/day14/puzzle_1.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn puzzle_1() {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_value` is never used
[INFO] [stdout]   --> src/day14/puzzle_1.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn calculate_value(v: usize, op: &Operation) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_operations` is never used
[INFO] [stdout]   --> src/day14/puzzle_1.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn read_operations(file: File) -> Vec<Operation> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_2` is never used
[INFO] [stdout]   --> src/day14/puzzle_2.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn puzzle_2() {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_addresses` is never used
[INFO] [stdout]   --> src/day14/puzzle_2.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn get_addresses(base_addr: usize, op: &Operation) -> Vec<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_floating` is never used
[INFO] [stdout]   --> src/day14/puzzle_2.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn apply_floating(address: usize, bit_vec: &[&usize]) -> Vec<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `overwrite_bit_with_one` is never used
[INFO] [stdout]   --> src/day14/puzzle_2.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn overwrite_bit_with_one(addr: usize, bit: &usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `overwrite_bit_with_zero` is never used
[INFO] [stdout]   --> src/day14/puzzle_2.rs:83:4
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn overwrite_bit_with_zero(addr: usize, bit: &usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_operations` is never used
[INFO] [stdout]   --> src/day14/puzzle_2.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn read_operations(file: File) -> Vec<Operation> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle` is never used
[INFO] [stdout]  --> src/day15/code.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn puzzle() {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_initial_numbers` is never used
[INFO] [stdout]   --> src/day15/code.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn get_initial_numbers(file: File) -> Vec<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzles` is never used
[INFO] [stdout]   --> src/day16/code.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn puzzles() {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_there_only_one_unprocessed_rule` is never used
[INFO] [stdout]   --> src/day16/code.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn is_there_only_one_unprocessed_rule(rules: &Vec<Rule>, processed: Vec<&Rule>) -> Option<Rule> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rule_contains_value` is never used
[INFO] [stdout]    --> src/day16/code.rs:106:4
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn rule_contains_value(rule: &Rule, value: &usize) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_notes` is never used
[INFO] [stdout]    --> src/day16/code.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn read_notes(file: File) -> Notes {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_ticket` is never used
[INFO] [stdout]    --> src/day16/code.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn read_ticket(string: &String) -> Vec<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_rules` is never used
[INFO] [stdout]    --> src/day16/code.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn read_rules(lines: &[String]) -> Vec<Rule> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Notes` is never constructed
[INFO] [stdout]    --> src/day16/code.rs:153:8
[INFO] [stdout]     |
[INFO] [stdout] 153 | struct Notes {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_2` is never used
[INFO] [stdout]  --> src/day17/four_dimensions.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn puzzle_2() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_state_is_active` is never used
[INFO] [stdout]   --> src/day17/four_dimensions.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn new_state_is_active(last_state: &HashSet<Coord>, c: Coord) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_initial_state` is never used
[INFO] [stdout]   --> src/day17/four_dimensions.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn read_initial_state(file: File) -> Vec<Vec<bool>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_initial_to_map` is never used
[INFO] [stdout]   --> src/day17/four_dimensions.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn convert_initial_to_map(initial_state: Vec<Vec<bool>>) -> HashSet<Coord> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_line` is never used
[INFO] [stdout]   --> src/day17/four_dimensions.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn read_line(line: String) -> Vec<bool> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Coord` is never constructed
[INFO] [stdout]   --> src/day17/four_dimensions.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | struct Coord {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_neighbors` is never used
[INFO] [stdout]   --> src/day17/four_dimensions.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl Coord {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 91 |     fn get_neighbors(&self) -> HashSet<Coord> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_1` is never used
[INFO] [stdout]  --> src/day17/three_dimensions.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn puzzle_1() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_state_is_active` is never used
[INFO] [stdout]   --> src/day17/three_dimensions.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn new_state_is_active(last_state: &HashSet<Coord>, c: Coord) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_initial_state` is never used
[INFO] [stdout]   --> src/day17/three_dimensions.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn read_initial_state(file: File) -> Vec<Vec<bool>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_initial_to_map` is never used
[INFO] [stdout]   --> src/day17/three_dimensions.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn convert_initial_to_map(initial_state: Vec<Vec<bool>>) -> HashSet<Coord> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_line` is never used
[INFO] [stdout]   --> src/day17/three_dimensions.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn read_line(line: String) -> Vec<bool> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Coord` is never constructed
[INFO] [stdout]   --> src/day17/three_dimensions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct Coord {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `distance` and `get_neighbors` are never used
[INFO] [stdout]   --> src/day17/three_dimensions.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | impl Coord {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 89 |     fn distance(&self, other: &Coord) -> usize {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     fn get_neighbors(&self) -> HashSet<Coord> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_1` is never used
[INFO] [stdout]   --> src/day18/puzzle_1.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn puzzle_1() {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_homework` is never used
[INFO] [stdout]   --> src/day18/puzzle_1.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn read_homework(file: File) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate` is never used
[INFO] [stdout]   --> src/day18/puzzle_1.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn calculate(exp: &mut Vec<Expression>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_number` is never used
[INFO] [stdout]   --> src/day18/puzzle_1.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn process_number(v1: usize, preceding: &mut Vec<Expression>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_immediate_next` is never used
[INFO] [stdout]   --> src/day18/puzzle_1.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn calculate_immediate_next(exp: &mut Vec<Expression>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_line` is never used
[INFO] [stdout]   --> src/day18/puzzle_1.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn split_line(l: String) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_expression` is never used
[INFO] [stdout]   --> src/day18/puzzle_1.rs:96:4
[INFO] [stdout]    |
[INFO] [stdout] 96 | fn parse_expression(units: Vec<String>) -> Vec<Expression> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expression` is never used
[INFO] [stdout]    --> src/day18/puzzle_1.rs:123:6
[INFO] [stdout]     |
[INFO] [stdout] 123 | enum Expression {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_immediate_next` is never used
[INFO] [stdout]    --> src/day18/puzzle_2.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn calculate_immediate_next(exp: &mut Vec<Expression>) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&usize` instead of cloning the inner type
[INFO] [stdout]   --> src/day13/puzzle2.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 % (*bus.clone() as isize)
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.59s
[INFO] running `Command { std: "docker" "inspect" "aa1122cd04d9a0f8294a2bfd94b1ebdc0cadd7a74b22f2781d47d91a6786fbd9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa1122cd04d9a0f8294a2bfd94b1ebdc0cadd7a74b22f2781d47d91a6786fbd9", kill_on_drop: false }`
[INFO] [stdout] aa1122cd04d9a0f8294a2bfd94b1ebdc0cadd7a74b22f2781d47d91a6786fbd9
