[INFO] cloning repository https://github.com/DedsecKnight/aoc2023
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DedsecKnight/aoc2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDedsecKnight%2Faoc2023", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDedsecKnight%2Faoc2023'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ca0544d90f3e5d83b12b0773f8b0fc50a70febc7
[INFO] checking DedsecKnight/aoc2023 against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDedsecKnight%2Faoc2023" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/DedsecKnight/aoc2023
[INFO] finished tweaking git repo https://github.com/DedsecKnight/aoc2023
[INFO] tweaked toml for git repo https://github.com/DedsecKnight/aoc2023 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/DedsecKnight/aoc2023 on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/DedsecKnight/aoc2023 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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rustix v0.38.25
[INFO] [stderr]   Downloaded linux-raw-sys v0.4.11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d3fe4f9ccc9dfcbab9e4cc053209bc8bd4138640c3818f29326d518a7bd4eacc
[INFO] running `Command { std: "docker" "start" "-a" "d3fe4f9ccc9dfcbab9e4cc053209bc8bd4138640c3818f29326d518a7bd4eacc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d3fe4f9ccc9dfcbab9e4cc053209bc8bd4138640c3818f29326d518a7bd4eacc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d3fe4f9ccc9dfcbab9e4cc053209bc8bd4138640c3818f29326d518a7bd4eacc", kill_on_drop: false }`
[INFO] [stdout] d3fe4f9ccc9dfcbab9e4cc053209bc8bd4138640c3818f29326d518a7bd4eacc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d5ea1a7a0bc606491bf4f4dea996a7e1003c2f26631d237a6939fd39e6e945a4
[INFO] running `Command { std: "docker" "start" "-a" "d5ea1a7a0bc606491bf4f4dea996a7e1003c2f26631d237a6939fd39e6e945a4", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.150
[INFO] [stderr]    Compiling proc-macro2 v1.0.70
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]    Compiling pkg-config v0.3.27
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling futures-core v0.3.29
[INFO] [stderr]     Checking bytes v1.5.0
[INFO] [stderr]     Checking itoa v1.0.9
[INFO] [stderr]     Checking bitflags v2.4.1
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling futures-task v0.3.29
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling serde v1.0.193
[INFO] [stderr]    Compiling futures-util v0.3.29
[INFO] [stderr]    Compiling openssl v0.10.60
[INFO] [stderr]     Checking http v0.2.11
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]     Checking futures-sink v0.3.29
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]     Checking futures-io v0.3.29
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling futures-channel v0.3.29
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]     Checking socket2 v0.5.5
[INFO] [stderr]     Checking mio v0.8.9
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking indexmap v2.1.0
[INFO] [stderr]     Checking num-integer v0.1.45
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking tokio v1.34.0
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling openssl-sys v0.9.96
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]    Compiling rustix v0.38.25
[INFO] [stderr]     Checking ryu v1.0.15
[INFO] [stderr]     Checking try-lock v0.2.4
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]     Checking http-body v0.4.5
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]     Checking unicode-bidi v0.3.13
[INFO] [stderr]     Checking linux-raw-sys v0.4.11
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]    Compiling iana-time-zone v0.1.58
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]     Checking term v0.7.0
[INFO] [stderr]     Checking is-terminal v0.4.9
[INFO] [stderr]     Checking num-complex v0.4.4
[INFO] [stderr]    Compiling chrono v0.4.31
[INFO] [stderr]     Checking encoding_rs v0.8.33
[INFO] [stderr]     Checking base64 v0.21.5
[INFO] [stderr]     Checking encode_unicode v1.0.0
[INFO] [stderr]     Checking unicode-width v0.1.11
[INFO] [stderr]     Checking num v0.4.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking prettytable-rs v0.10.0
[INFO] [stderr]     Checking h2 v0.3.22
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling macros v0.1.0 (/opt/rustwide/workdir/macros)
[INFO] [stderr]     Checking hyper v0.14.27
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.22
[INFO] [stderr]     Checking aoc2023 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `Day16` is never constructed
[INFO] [stdout]  --> src/solution/day16.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day16;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIR_VECTOR` is never used
[INFO] [stdout]   --> src/solution/day16.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const DIR_VECTOR: &[(i32, i32)] = &[(-1, 0), (0, 1), (1, 0), (0, -1)];
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIR_UP` is never used
[INFO] [stdout]   --> src/solution/day16.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const DIR_UP: usize = 0;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIR_RIGHT` is never used
[INFO] [stdout]   --> src/solution/day16.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const DIR_RIGHT: usize = 1;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIR_DOWN` is never used
[INFO] [stdout]   --> src/solution/day16.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const DIR_DOWN: usize = 2;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIR_LEFT` is never used
[INFO] [stdout]   --> src/solution/day16.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const DIR_LEFT: usize = 3;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Grid` is never constructed
[INFO] [stdout]   --> src/solution/day16.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct Grid {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `rotate_clockwise`, `rotate_counterclockwise`, `generate_neighbors`, and `count_num_energized` are never used
[INFO] [stdout]   --> src/solution/day16.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Grid {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 21 |     fn new(grid: Vec<Vec<char>>) -> Grid {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn rotate_clockwise(dir_index: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn rotate_counterclockwise(dir_index: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn generate_neighbors(cell_type: char, dir: usize) -> Vec<usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     fn count_num_energized(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_grid` is never used
[INFO] [stdout]    --> src/solution/day16.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl Day16 {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] 120 |     fn parse_grid<'a>(lines: impl Iterator<Item = &'a str>) -> Vec<Vec<char>> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day6` is never constructed
[INFO] [stdout]  --> src/solution/day6.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day6;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QuadraticEquation` is never constructed
[INFO] [stdout]   --> src/solution/day6.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct QuadraticEquation {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `find_clamped_roots`, `evaluate`, and `new` are never used
[INFO] [stdout]   --> src/solution/day6.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl QuadraticEquation {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 17 |     fn find_clamped_roots(&self, lb: f64, rb: f64) -> (f64, f64) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn evaluate(&self, x: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn new(param_a: f64, param_b: f64, param_c: f64) -> QuadraticEquation {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse_line` and `join_line` are never used
[INFO] [stdout]   --> src/solution/day6.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Day6 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 38 |     fn parse_line(line: &str) -> Vec<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn join_line(num_list: Vec<u32>) -> i64 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day9` is never constructed
[INFO] [stdout]  --> src/solution/day9.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Day9;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse_line`, `extrapolate_foward`, and `extrapolate_backward` are never used
[INFO] [stdout]   --> src/solution/day9.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Day9 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout]  9 |     fn parse_line(line: &str) -> Vec<i32> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     fn extrapolate_foward(nums: &Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn extrapolate_backward(nums: &Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day19` is never constructed
[INFO] [stdout]  --> src/solution/day19.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Day19;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rule` is never constructed
[INFO] [stdout]  --> src/solution/day19.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Rule {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkflowManager` is never constructed
[INFO] [stdout]   --> src/solution/day19.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct WorkflowManager {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Input` is never constructed
[INFO] [stdout]   --> src/solution/day19.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct Input {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InputBound` is never constructed
[INFO] [stdout]   --> src/solution/day19.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct InputBound {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `accept_input`, `process_input`, and `find_acceptable_variable_ranges` are never used
[INFO] [stdout]   --> src/solution/day19.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl WorkflowManager {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 35 |     fn new(wm: HashMap<String, Vec<Rule>>) -> WorkflowManager {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn accept_input(&self, input: &Input, workflow: String) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     fn process_input(&self, input_data: &Vec<Input>) -> Vec<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     fn find_acceptable_variable_ranges(&self, init_bound: InputBound) -> Vec<InputBound> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `accept`, `determine_new_range_inverted`, and `determine_new_range` are never used
[INFO] [stdout]    --> src/solution/day19.rs:96:8
[INFO] [stdout]     |
[INFO] [stdout]  95 | impl Rule {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  96 |     fn new(raw_rule: &str) -> Rule {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     fn accept(&self, input: &Input) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     fn determine_new_range_inverted(&self, old_range: &InputBound) -> InputBound {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn determine_new_range(&self, old_range: &InputBound) -> InputBound {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `combined_params` are never used
[INFO] [stdout]    --> src/solution/day19.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | impl Input {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 193 |     fn new(raw_line: &str) -> Input {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn combined_params(&self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_valid` and `count_valid_combinations` are never used
[INFO] [stdout]    --> src/solution/day19.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout] 223 | impl InputBound {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 224 |     fn is_valid(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 227 |     fn count_valid_combinations(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_workflow_data` is never used
[INFO] [stdout]    --> src/solution/day19.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 235 | impl Day19 {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] 236 |     fn parse_workflow_data(raw_data: &str) -> (String, Vec<Rule>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day11` is never constructed
[INFO] [stdout]  --> src/solution/day11.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day11;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `rescale_grid` is never used
[INFO] [stdout]   --> src/solution/day11.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Day11 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 11 |     fn rescale_grid(grid: &Vec<Vec<char>>) -> Vec<Vec<char>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day21` is never constructed
[INFO] [stdout]  --> src/solution/day21.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day21;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DX` is never used
[INFO] [stdout]   --> src/solution/day21.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const DX: &[isize] = &[-1, 1, 0, 0];
[INFO] [stdout]    |       ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DY` is never used
[INFO] [stdout]   --> src/solution/day21.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const DY: &[isize] = &[0, 0, -1, 1];
[INFO] [stdout]    |       ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Grid` is never constructed
[INFO] [stdout]   --> src/solution/day21.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Grid {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `calculate_saturated_state`, `num_reachable_with_num_steps`, `traverse_mini_extended_grid`, `extrapolate_2d`, and `extrapolate_1d` are never used
[INFO] [stdout]    --> src/solution/day21.rs:22:8
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl Grid {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  22 |     fn new(g: Vec<Vec<char>>) -> Grid {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     fn calculate_saturated_state(&mut self, start_pos: (isize, isize)) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     fn num_reachable_with_num_steps(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     fn traverse_mini_extended_grid(&mut self, start_pos: (isize, isize)) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     fn extrapolate_2d(&self, start_pos: (isize, isize), max_num_steps: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     fn extrapolate_1d(&self, start_pos: (isize, isize), max_num_steps: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day15` is never constructed
[INFO] [stdout]  --> src/solution/day15.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Day15;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Operation` is never used
[INFO] [stdout]  --> src/solution/day15.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | enum Operation<'a> {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `calculate_hash` and `parse_operation` are never used
[INFO] [stdout]   --> src/solution/day15.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Day15 {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] 14 |     fn calculate_hash(s: &str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     fn parse_operation(s: &str) -> Operation {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day7` is never constructed
[INFO] [stdout]  --> src/solution/day7.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day7;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `HandType` is never used
[INFO] [stdout]   --> src/solution/day7.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | type HandType = u32;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FIVE_KIND` is never used
[INFO] [stdout]   --> src/solution/day7.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const FIVE_KIND: HandType = 7;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FOUR_KIND` is never used
[INFO] [stdout]   --> src/solution/day7.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const FOUR_KIND: HandType = 6;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FULL_HOUSE` is never used
[INFO] [stdout]   --> src/solution/day7.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const FULL_HOUSE: u32 = 5;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `THREE_KIND` is never used
[INFO] [stdout]   --> src/solution/day7.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const THREE_KIND: u32 = 4;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TWO_PAIR` is never used
[INFO] [stdout]   --> src/solution/day7.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const TWO_PAIR: u32 = 3;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ONE_PAIR` is never used
[INFO] [stdout]   --> src/solution/day7.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const ONE_PAIR: u32 = 2;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HIGH_CARD` is never used
[INFO] [stdout]   --> src/solution/day7.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const HIGH_CARD: u32 = 1;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]   --> src/solution/day7.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Day7 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 20 |     fn is_five_kind(card_freq: &HashMap<char, u32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn is_four_kind(card_freq: &HashMap<char, u32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn is_three_kind(card_freq: &HashMap<char, u32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn is_one_pair(card_freq: &HashMap<char, u32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn is_full_house(card_freq: &HashMap<char, u32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn is_two_pair(card_freq: &HashMap<char, u32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn calculate_card_freq(hand: &str) -> HashMap<char, u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn evaluate_hand(hand: &str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn find_best_hand(hand_data: &str) -> HandType {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn parse_hand(hand_data: &str, j_as_joker: bool) -> (HandType, &str, u32) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     fn compare_hand(lhs: &str, rhs: &str, card_order: &Vec<char>) -> Ordering {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day3` is never constructed
[INFO] [stdout]  --> src/solution/day3.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day3;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `check_range` and `calculate_gear_ratio` are never used
[INFO] [stdout]   --> src/solution/day3.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Day3 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 11 |     fn check_range(
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn calculate_gear_ratio(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day8` is never constructed
[INFO] [stdout]  --> src/solution/day8.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day8;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse_edge`, `find_dist`, `gcd`, and `lcm` are never used
[INFO] [stdout]   --> src/solution/day8.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Day8 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 11 |     fn parse_edge(raw_edge_data: &str) -> (String, Vec<String>) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn find_dist(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn gcd(a: u64, b: u64) -> u64 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn lcm(a: u64, b: u64) -> u64 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day22` is never constructed
[INFO] [stdout]  --> src/solution/day22.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Day22;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Coordinate` is never constructed
[INFO] [stdout]   --> src/solution/day22.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Coordinate {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Block` is never constructed
[INFO] [stdout]   --> src/solution/day22.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct Block {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Space3D` is never constructed
[INFO] [stdout]   --> src/solution/day22.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Space3D {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/solution/day22.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Block {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 30 |     fn new(raw_block: &str) -> Block {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/solution/day22.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl Coordinate {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 44 |     fn new(raw_coordinate: &str) -> Coordinate {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_block`, `simulate_fall`, `count_disintegratable_block`, `build_graph`, and `find_maximum_chain` are never used
[INFO] [stdout]    --> src/solution/day22.rs:59:8
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl Space3D {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  59 |     fn new(dim_size: usize) -> Space3D {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     fn add_block(&mut self, block: &Block) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     fn simulate_fall(&mut self, blocks: Vec<Block>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn count_disintegratable_block(&mut self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn build_graph(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     fn find_maximum_chain(&mut self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day12` is never constructed
[INFO] [stdout]  --> src/solution/day12.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Day12;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse_line`, `validate_configuration`, `count_valid_arrangement_bruteforce`, and `count_valid_arrangement_optimized` are never used
[INFO] [stdout]   --> src/solution/day12.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Day12 {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] 10 |     fn parse_line(line: &str, num_copies: usize) -> (String, Vec<u32>) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn validate_configuration(config: &Vec<char>, requirement: &Vec<u32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn count_valid_arrangement_bruteforce(parsed_line: (String, Vec<u32>)) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     fn count_valid_arrangement_optimized(parsed_line: (String, Vec<u32>)) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day14` is never constructed
[INFO] [stdout]  --> src/solution/day14.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Day14;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/solution/day14.rs:9:8
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl Day14 {
[INFO] [stdout]     | ---------- associated functions in this implementation
[INFO] [stdout]   9 |     fn roll_north(grid: &mut Vec<Vec<char>>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  30 |     fn roll_west(grid: &mut Vec<Vec<char>>) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     fn roll_south(grid: &mut Vec<Vec<char>>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     fn roll_east(grid: &mut Vec<Vec<char>>) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     fn calculate_weight(grid: &Vec<Vec<char>>) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn rotate_cycle(mut grid: Vec<Vec<char>>) -> Vec<Vec<char>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn is_same_grid(g1: &Vec<Vec<char>>, g2: &Vec<Vec<char>>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day1` is never constructed
[INFO] [stdout]  --> src/solution/day1.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Day1;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day23` is never constructed
[INFO] [stdout]  --> src/solution/day23.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Day23;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Graph` is never constructed
[INFO] [stdout]  --> src/solution/day23.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Graph {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STATE` is never used
[INFO] [stdout]   --> src/solution/day23.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const STATE: &[(isize, isize, char)] = &[(-1, 0, '^'), (0, 1, '>'), (0, -1, '<'), (1, 0, 'v')];
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_DEPTH_LIMIT` is never used
[INFO] [stdout]   --> src/solution/day23.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const MAX_DEPTH_LIMIT: i32 = 7000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `find_longest_path`, and `find_longest_path_optimized` are never used
[INFO] [stdout]   --> src/solution/day23.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Graph {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 16 |     fn new(grid: Vec<Vec<char>>) -> Graph {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn find_longest_path(&mut self, curr_pos: (isize, isize), curr_dist: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     fn find_longest_path_optimized(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day4` is never constructed
[INFO] [stdout]  --> src/solution/day4.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day4;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_card_data` is never used
[INFO] [stdout]   --> src/solution/day4.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Day4 {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 11 |     fn parse_card_data(raw_card_data: &str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day18` is never constructed
[INFO] [stdout]  --> src/solution/day18.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Day18;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_line` is never used
[INFO] [stdout]  --> src/solution/day18.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl Day18 {
[INFO] [stdout]   | ---------- associated function in this implementation
[INFO] [stdout] 9 |     fn parse_line(line: &str) -> (char, u32, String) {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day10` is never constructed
[INFO] [stdout]  --> src/solution/day10.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day10;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Graph` is never constructed
[INFO] [stdout]   --> src/solution/day10.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Graph<'a> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DX` is never used
[INFO] [stdout]   --> src/solution/day10.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const DX: &[i32] = &[0, 1, 0, -1];
[INFO] [stdout]    |       ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DY` is never used
[INFO] [stdout]   --> src/solution/day10.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const DY: &[i32] = &[-1, 0, 1, 0];
[INFO] [stdout]    |       ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `GridPos` is never used
[INFO] [stdout]   --> src/solution/day10.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | type GridPos = (usize, usize);
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `GridPosTraits` is never used
[INFO] [stdout]   --> src/solution/day10.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | trait GridPosTraits {
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `is_connected`, `add_edge`, `mark_loop`, `furthest_from`, and `calculate_loop_area` are never used
[INFO] [stdout]    --> src/solution/day10.rs:68:8
[INFO] [stdout]     |
[INFO] [stdout]  67 | impl<'a> Graph<'a> {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  68 |     fn new(grid: &'a Vec<Vec<char>>) -> Graph<'a> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     fn is_connected(&self, grid_pos: &GridPos, parent_pos: &GridPos) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     fn add_edge(&mut self, from: &GridPos, to: &GridPos) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn mark_loop(&mut self, start_pos: GridPos) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn furthest_from(&self, start_pos: GridPos) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     fn calculate_loop_area(&self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day13` is never constructed
[INFO] [stdout]  --> src/solution/day13.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Day13;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatternMap` is never constructed
[INFO] [stdout]  --> src/solution/day13.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct PatternMap {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `match_column`, `match_row`, and `summarize` are never used
[INFO] [stdout]   --> src/solution/day13.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl PatternMap {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 13 |     fn new(buffer: &Vec<Vec<char>>) -> PatternMap {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn match_column(&self, i: usize, j: usize) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn match_row(&self, i: usize, j: usize) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn summarize(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `read_pattern_list` is never used
[INFO] [stdout]   --> src/solution/day13.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | impl Day13 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 81 |     fn read_pattern_list<'a>(lines: impl Iterator<Item = &'a str>) -> Vec<PatternMap> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day2` is never constructed
[INFO] [stdout]  --> src/solution/day2.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Day2;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MatchData` is never constructed
[INFO] [stdout]  --> src/solution/day2.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct MatchData {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse_match_data` and `parse_game_data` are never used
[INFO] [stdout]   --> src/solution/day2.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Day2 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 16 |     fn parse_match_data(match_data: &str) -> MatchData {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn parse_game_data(game_data: &str) -> Vec<MatchData> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day5` is never constructed
[INFO] [stdout]  --> src/solution/day5.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day5;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `QueueElement` is never used
[INFO] [stdout]   --> src/solution/day5.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | enum QueueElement {
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse_seed_data`, `parse_seed_data_p2`, and `parse_map` are never used
[INFO] [stdout]   --> src/solution/day5.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Day5 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 16 |     fn parse_seed_data(seed_data: &str) -> Vec<i64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn parse_seed_data_p2(raw_seed_data: &Vec<i64>) -> Vec<(i64, i64)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn parse_map<'a>(lines: &mut impl Iterator<Item = &'a str>) -> Vec<(i64, i64, i64)> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day20` is never constructed
[INFO] [stdout]  --> src/solution/day20.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day20;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Broadcaster` is never constructed
[INFO] [stdout]   --> src/solution/day20.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Broadcaster {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FlipFlop` is never constructed
[INFO] [stdout]   --> src/solution/day20.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct FlipFlop {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Conjunction` is never constructed
[INFO] [stdout]   --> src/solution/day20.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct Conjunction {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ModuleComponent` is never used
[INFO] [stdout]   --> src/solution/day20.rs:24:6
[INFO] [stdout]    |
[INFO] [stdout] 24 | enum ModuleComponent {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Module` is never constructed
[INFO] [stdout]   --> src/solution/day20.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct Module {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `receive_input`, `current_output`, and `reset` are never used
[INFO] [stdout]   --> src/solution/day20.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl Module {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 36 |     fn receive_input(&mut self, module_from: &String, input: &PulseType) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn current_output(&mut self) -> Option<PulseType> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     fn reset(&mut self) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PulseType` is never used
[INFO] [stdout]    --> src/solution/day20.rs:106:6
[INFO] [stdout]     |
[INFO] [stdout] 106 | enum PulseType {
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Machine` is never constructed
[INFO] [stdout]    --> src/solution/day20.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | struct Machine {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/solution/day20.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl Machine {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 117 |     fn new() -> Machine {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     fn add_module(&mut self, module_name: String, module: Module) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     fn build_connection(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     fn has_module(&self, module_name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     fn push_button(&mut self) -> (u64, u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     fn push_until_node_sends_signal(&mut self, module: &String, pulse: &PulseType) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     fn reset(&mut self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_module` is never used
[INFO] [stdout]    --> src/solution/day20.rs:220:8
[INFO] [stdout]     |
[INFO] [stdout] 219 | impl Day20 {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] 220 |     fn parse_module(line: &str) -> (String, Module) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/solution/day15.rs:19:27
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn parse_operation(s: &str) -> Operation {
[INFO] [stdout]    |                           ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn parse_operation(s: &str) -> Operation<'_> {
[INFO] [stdout]    |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/solution/day7.rs:68:30
[INFO] [stdout]    |
[INFO] [stdout] 68 |                       hand_data
[INFO] [stdout]    |  ______________________________^
[INFO] [stdout] 69 | |                         .clone()
[INFO] [stdout]    | |________________________________^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day16` is never constructed
[INFO] [stdout]  --> src/solution/day16.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day16;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIR_VECTOR` is never used
[INFO] [stdout]   --> src/solution/day16.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const DIR_VECTOR: &[(i32, i32)] = &[(-1, 0), (0, 1), (1, 0), (0, -1)];
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIR_UP` is never used
[INFO] [stdout]   --> src/solution/day16.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const DIR_UP: usize = 0;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIR_RIGHT` is never used
[INFO] [stdout]   --> src/solution/day16.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const DIR_RIGHT: usize = 1;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIR_DOWN` is never used
[INFO] [stdout]   --> src/solution/day16.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const DIR_DOWN: usize = 2;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIR_LEFT` is never used
[INFO] [stdout]   --> src/solution/day16.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const DIR_LEFT: usize = 3;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Grid` is never constructed
[INFO] [stdout]   --> src/solution/day16.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct Grid {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `rotate_clockwise`, `rotate_counterclockwise`, `generate_neighbors`, and `count_num_energized` are never used
[INFO] [stdout]   --> src/solution/day16.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Grid {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 21 |     fn new(grid: Vec<Vec<char>>) -> Grid {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn rotate_clockwise(dir_index: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn rotate_counterclockwise(dir_index: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn generate_neighbors(cell_type: char, dir: usize) -> Vec<usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     fn count_num_energized(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_grid` is never used
[INFO] [stdout]    --> src/solution/day16.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl Day16 {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] 120 |     fn parse_grid<'a>(lines: impl Iterator<Item = &'a str>) -> Vec<Vec<char>> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day6` is never constructed
[INFO] [stdout]  --> src/solution/day6.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day6;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QuadraticEquation` is never constructed
[INFO] [stdout]   --> src/solution/day6.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct QuadraticEquation {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `find_clamped_roots`, `evaluate`, and `new` are never used
[INFO] [stdout]   --> src/solution/day6.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl QuadraticEquation {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 17 |     fn find_clamped_roots(&self, lb: f64, rb: f64) -> (f64, f64) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn evaluate(&self, x: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn new(param_a: f64, param_b: f64, param_c: f64) -> QuadraticEquation {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse_line` and `join_line` are never used
[INFO] [stdout]   --> src/solution/day6.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Day6 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 38 |     fn parse_line(line: &str) -> Vec<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn join_line(num_list: Vec<u32>) -> i64 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day9` is never constructed
[INFO] [stdout]  --> src/solution/day9.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Day9;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse_line`, `extrapolate_foward`, and `extrapolate_backward` are never used
[INFO] [stdout]   --> src/solution/day9.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Day9 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout]  9 |     fn parse_line(line: &str) -> Vec<i32> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     fn extrapolate_foward(nums: &Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn extrapolate_backward(nums: &Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day19` is never constructed
[INFO] [stdout]  --> src/solution/day19.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Day19;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rule` is never constructed
[INFO] [stdout]  --> src/solution/day19.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Rule {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkflowManager` is never constructed
[INFO] [stdout]   --> src/solution/day19.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct WorkflowManager {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Input` is never constructed
[INFO] [stdout]   --> src/solution/day19.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct Input {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InputBound` is never constructed
[INFO] [stdout]   --> src/solution/day19.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct InputBound {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `accept_input`, `process_input`, and `find_acceptable_variable_ranges` are never used
[INFO] [stdout]   --> src/solution/day19.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl WorkflowManager {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 35 |     fn new(wm: HashMap<String, Vec<Rule>>) -> WorkflowManager {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn accept_input(&self, input: &Input, workflow: String) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     fn process_input(&self, input_data: &Vec<Input>) -> Vec<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     fn find_acceptable_variable_ranges(&self, init_bound: InputBound) -> Vec<InputBound> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `accept`, `determine_new_range_inverted`, and `determine_new_range` are never used
[INFO] [stdout]    --> src/solution/day19.rs:96:8
[INFO] [stdout]     |
[INFO] [stdout]  95 | impl Rule {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  96 |     fn new(raw_rule: &str) -> Rule {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     fn accept(&self, input: &Input) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     fn determine_new_range_inverted(&self, old_range: &InputBound) -> InputBound {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn determine_new_range(&self, old_range: &InputBound) -> InputBound {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `combined_params` are never used
[INFO] [stdout]    --> src/solution/day19.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | impl Input {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 193 |     fn new(raw_line: &str) -> Input {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn combined_params(&self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_valid` and `count_valid_combinations` are never used
[INFO] [stdout]    --> src/solution/day19.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout] 223 | impl InputBound {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 224 |     fn is_valid(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 227 |     fn count_valid_combinations(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_workflow_data` is never used
[INFO] [stdout]    --> src/solution/day19.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 235 | impl Day19 {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] 236 |     fn parse_workflow_data(raw_data: &str) -> (String, Vec<Rule>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day11` is never constructed
[INFO] [stdout]  --> src/solution/day11.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day11;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `rescale_grid` is never used
[INFO] [stdout]   --> src/solution/day11.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Day11 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 11 |     fn rescale_grid(grid: &Vec<Vec<char>>) -> Vec<Vec<char>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day21` is never constructed
[INFO] [stdout]  --> src/solution/day21.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day21;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DX` is never used
[INFO] [stdout]   --> src/solution/day21.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const DX: &[isize] = &[-1, 1, 0, 0];
[INFO] [stdout]    |       ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DY` is never used
[INFO] [stdout]   --> src/solution/day21.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const DY: &[isize] = &[0, 0, -1, 1];
[INFO] [stdout]    |       ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Grid` is never constructed
[INFO] [stdout]   --> src/solution/day21.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Grid {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `calculate_saturated_state`, `num_reachable_with_num_steps`, `traverse_mini_extended_grid`, `extrapolate_2d`, and `extrapolate_1d` are never used
[INFO] [stdout]    --> src/solution/day21.rs:22:8
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl Grid {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  22 |     fn new(g: Vec<Vec<char>>) -> Grid {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     fn calculate_saturated_state(&mut self, start_pos: (isize, isize)) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     fn num_reachable_with_num_steps(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     fn traverse_mini_extended_grid(&mut self, start_pos: (isize, isize)) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     fn extrapolate_2d(&self, start_pos: (isize, isize), max_num_steps: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     fn extrapolate_1d(&self, start_pos: (isize, isize), max_num_steps: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day15` is never constructed
[INFO] [stdout]  --> src/solution/day15.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Day15;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Operation` is never used
[INFO] [stdout]  --> src/solution/day15.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | enum Operation<'a> {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `calculate_hash` and `parse_operation` are never used
[INFO] [stdout]   --> src/solution/day15.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Day15 {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] 14 |     fn calculate_hash(s: &str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     fn parse_operation(s: &str) -> Operation {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day7` is never constructed
[INFO] [stdout]  --> src/solution/day7.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day7;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `HandType` is never used
[INFO] [stdout]   --> src/solution/day7.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | type HandType = u32;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FIVE_KIND` is never used
[INFO] [stdout]   --> src/solution/day7.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const FIVE_KIND: HandType = 7;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FOUR_KIND` is never used
[INFO] [stdout]   --> src/solution/day7.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const FOUR_KIND: HandType = 6;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FULL_HOUSE` is never used
[INFO] [stdout]   --> src/solution/day7.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const FULL_HOUSE: u32 = 5;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `THREE_KIND` is never used
[INFO] [stdout]   --> src/solution/day7.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const THREE_KIND: u32 = 4;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TWO_PAIR` is never used
[INFO] [stdout]   --> src/solution/day7.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const TWO_PAIR: u32 = 3;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ONE_PAIR` is never used
[INFO] [stdout]   --> src/solution/day7.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const ONE_PAIR: u32 = 2;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HIGH_CARD` is never used
[INFO] [stdout]   --> src/solution/day7.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const HIGH_CARD: u32 = 1;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]   --> src/solution/day7.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Day7 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 20 |     fn is_five_kind(card_freq: &HashMap<char, u32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn is_four_kind(card_freq: &HashMap<char, u32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn is_three_kind(card_freq: &HashMap<char, u32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn is_one_pair(card_freq: &HashMap<char, u32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn is_full_house(card_freq: &HashMap<char, u32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn is_two_pair(card_freq: &HashMap<char, u32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn calculate_card_freq(hand: &str) -> HashMap<char, u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn evaluate_hand(hand: &str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn find_best_hand(hand_data: &str) -> HandType {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn parse_hand(hand_data: &str, j_as_joker: bool) -> (HandType, &str, u32) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     fn compare_hand(lhs: &str, rhs: &str, card_order: &Vec<char>) -> Ordering {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day3` is never constructed
[INFO] [stdout]  --> src/solution/day3.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day3;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `check_range` and `calculate_gear_ratio` are never used
[INFO] [stdout]   --> src/solution/day3.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Day3 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 11 |     fn check_range(
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn calculate_gear_ratio(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day8` is never constructed
[INFO] [stdout]  --> src/solution/day8.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day8;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse_edge`, `find_dist`, `gcd`, and `lcm` are never used
[INFO] [stdout]   --> src/solution/day8.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Day8 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 11 |     fn parse_edge(raw_edge_data: &str) -> (String, Vec<String>) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn find_dist(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn gcd(a: u64, b: u64) -> u64 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn lcm(a: u64, b: u64) -> u64 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day22` is never constructed
[INFO] [stdout]  --> src/solution/day22.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Day22;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Coordinate` is never constructed
[INFO] [stdout]   --> src/solution/day22.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Coordinate {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Block` is never constructed
[INFO] [stdout]   --> src/solution/day22.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct Block {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Space3D` is never constructed
[INFO] [stdout]   --> src/solution/day22.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Space3D {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/solution/day22.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Block {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 30 |     fn new(raw_block: &str) -> Block {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/solution/day22.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl Coordinate {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 44 |     fn new(raw_coordinate: &str) -> Coordinate {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_block`, `simulate_fall`, `count_disintegratable_block`, `build_graph`, and `find_maximum_chain` are never used
[INFO] [stdout]    --> src/solution/day22.rs:59:8
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl Space3D {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  59 |     fn new(dim_size: usize) -> Space3D {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     fn add_block(&mut self, block: &Block) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     fn simulate_fall(&mut self, blocks: Vec<Block>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn count_disintegratable_block(&mut self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn build_graph(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     fn find_maximum_chain(&mut self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day12` is never constructed
[INFO] [stdout]  --> src/solution/day12.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Day12;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse_line`, `validate_configuration`, `count_valid_arrangement_bruteforce`, and `count_valid_arrangement_optimized` are never used
[INFO] [stdout]   --> src/solution/day12.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Day12 {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] 10 |     fn parse_line(line: &str, num_copies: usize) -> (String, Vec<u32>) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn validate_configuration(config: &Vec<char>, requirement: &Vec<u32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn count_valid_arrangement_bruteforce(parsed_line: (String, Vec<u32>)) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     fn count_valid_arrangement_optimized(parsed_line: (String, Vec<u32>)) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day14` is never constructed
[INFO] [stdout]  --> src/solution/day14.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Day14;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/solution/day14.rs:9:8
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl Day14 {
[INFO] [stdout]     | ---------- associated functions in this implementation
[INFO] [stdout]   9 |     fn roll_north(grid: &mut Vec<Vec<char>>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  30 |     fn roll_west(grid: &mut Vec<Vec<char>>) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     fn roll_south(grid: &mut Vec<Vec<char>>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     fn roll_east(grid: &mut Vec<Vec<char>>) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     fn calculate_weight(grid: &Vec<Vec<char>>) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn rotate_cycle(mut grid: Vec<Vec<char>>) -> Vec<Vec<char>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn is_same_grid(g1: &Vec<Vec<char>>, g2: &Vec<Vec<char>>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day1` is never constructed
[INFO] [stdout]  --> src/solution/day1.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Day1;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day23` is never constructed
[INFO] [stdout]  --> src/solution/day23.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Day23;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Graph` is never constructed
[INFO] [stdout]  --> src/solution/day23.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Graph {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STATE` is never used
[INFO] [stdout]   --> src/solution/day23.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const STATE: &[(isize, isize, char)] = &[(-1, 0, '^'), (0, 1, '>'), (0, -1, '<'), (1, 0, 'v')];
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_DEPTH_LIMIT` is never used
[INFO] [stdout]   --> src/solution/day23.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const MAX_DEPTH_LIMIT: i32 = 7000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `find_longest_path`, and `find_longest_path_optimized` are never used
[INFO] [stdout]   --> src/solution/day23.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Graph {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 16 |     fn new(grid: Vec<Vec<char>>) -> Graph {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn find_longest_path(&mut self, curr_pos: (isize, isize), curr_dist: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     fn find_longest_path_optimized(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day4` is never constructed
[INFO] [stdout]  --> src/solution/day4.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day4;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_card_data` is never used
[INFO] [stdout]   --> src/solution/day4.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Day4 {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 11 |     fn parse_card_data(raw_card_data: &str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day18` is never constructed
[INFO] [stdout]  --> src/solution/day18.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Day18;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_line` is never used
[INFO] [stdout]  --> src/solution/day18.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl Day18 {
[INFO] [stdout]   | ---------- associated function in this implementation
[INFO] [stdout] 9 |     fn parse_line(line: &str) -> (char, u32, String) {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day10` is never constructed
[INFO] [stdout]  --> src/solution/day10.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day10;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Graph` is never constructed
[INFO] [stdout]   --> src/solution/day10.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Graph<'a> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DX` is never used
[INFO] [stdout]   --> src/solution/day10.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const DX: &[i32] = &[0, 1, 0, -1];
[INFO] [stdout]    |       ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DY` is never used
[INFO] [stdout]   --> src/solution/day10.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const DY: &[i32] = &[-1, 0, 1, 0];
[INFO] [stdout]    |       ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `GridPos` is never used
[INFO] [stdout]   --> src/solution/day10.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | type GridPos = (usize, usize);
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `GridPosTraits` is never used
[INFO] [stdout]   --> src/solution/day10.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | trait GridPosTraits {
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `is_connected`, `add_edge`, `mark_loop`, `furthest_from`, and `calculate_loop_area` are never used
[INFO] [stdout]    --> src/solution/day10.rs:68:8
[INFO] [stdout]     |
[INFO] [stdout]  67 | impl<'a> Graph<'a> {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  68 |     fn new(grid: &'a Vec<Vec<char>>) -> Graph<'a> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     fn is_connected(&self, grid_pos: &GridPos, parent_pos: &GridPos) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     fn add_edge(&mut self, from: &GridPos, to: &GridPos) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn mark_loop(&mut self, start_pos: GridPos) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn furthest_from(&self, start_pos: GridPos) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     fn calculate_loop_area(&self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day13` is never constructed
[INFO] [stdout]  --> src/solution/day13.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Day13;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatternMap` is never constructed
[INFO] [stdout]  --> src/solution/day13.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct PatternMap {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `match_column`, `match_row`, and `summarize` are never used
[INFO] [stdout]   --> src/solution/day13.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl PatternMap {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 13 |     fn new(buffer: &Vec<Vec<char>>) -> PatternMap {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn match_column(&self, i: usize, j: usize) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn match_row(&self, i: usize, j: usize) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn summarize(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `read_pattern_list` is never used
[INFO] [stdout]   --> src/solution/day13.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | impl Day13 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 81 |     fn read_pattern_list<'a>(lines: impl Iterator<Item = &'a str>) -> Vec<PatternMap> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day2` is never constructed
[INFO] [stdout]  --> src/solution/day2.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Day2;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MatchData` is never constructed
[INFO] [stdout]  --> src/solution/day2.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct MatchData {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse_match_data` and `parse_game_data` are never used
[INFO] [stdout]   --> src/solution/day2.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Day2 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 16 |     fn parse_match_data(match_data: &str) -> MatchData {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn parse_game_data(game_data: &str) -> Vec<MatchData> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day5` is never constructed
[INFO] [stdout]  --> src/solution/day5.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day5;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `QueueElement` is never used
[INFO] [stdout]   --> src/solution/day5.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | enum QueueElement {
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse_seed_data`, `parse_seed_data_p2`, and `parse_map` are never used
[INFO] [stdout]   --> src/solution/day5.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Day5 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 16 |     fn parse_seed_data(seed_data: &str) -> Vec<i64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn parse_seed_data_p2(raw_seed_data: &Vec<i64>) -> Vec<(i64, i64)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn parse_map<'a>(lines: &mut impl Iterator<Item = &'a str>) -> Vec<(i64, i64, i64)> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day20` is never constructed
[INFO] [stdout]  --> src/solution/day20.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Day20;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Broadcaster` is never constructed
[INFO] [stdout]   --> src/solution/day20.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Broadcaster {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FlipFlop` is never constructed
[INFO] [stdout]   --> src/solution/day20.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct FlipFlop {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Conjunction` is never constructed
[INFO] [stdout]   --> src/solution/day20.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct Conjunction {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ModuleComponent` is never used
[INFO] [stdout]   --> src/solution/day20.rs:24:6
[INFO] [stdout]    |
[INFO] [stdout] 24 | enum ModuleComponent {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Module` is never constructed
[INFO] [stdout]   --> src/solution/day20.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct Module {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `receive_input`, `current_output`, and `reset` are never used
[INFO] [stdout]   --> src/solution/day20.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl Module {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 36 |     fn receive_input(&mut self, module_from: &String, input: &PulseType) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn current_output(&mut self) -> Option<PulseType> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     fn reset(&mut self) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PulseType` is never used
[INFO] [stdout]    --> src/solution/day20.rs:106:6
[INFO] [stdout]     |
[INFO] [stdout] 106 | enum PulseType {
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Machine` is never constructed
[INFO] [stdout]    --> src/solution/day20.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | struct Machine {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/solution/day20.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl Machine {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 117 |     fn new() -> Machine {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     fn add_module(&mut self, module_name: String, module: Module) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     fn build_connection(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     fn has_module(&self, module_name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     fn push_button(&mut self) -> (u64, u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     fn push_until_node_sends_signal(&mut self, module: &String, pulse: &PulseType) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     fn reset(&mut self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_module` is never used
[INFO] [stdout]    --> src/solution/day20.rs:220:8
[INFO] [stdout]     |
[INFO] [stdout] 219 | impl Day20 {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] 220 |     fn parse_module(line: &str) -> (String, Module) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/solution/day15.rs:19:27
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn parse_operation(s: &str) -> Operation {
[INFO] [stdout]    |                           ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn parse_operation(s: &str) -> Operation<'_> {
[INFO] [stdout]    |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/solution/day7.rs:68:30
[INFO] [stdout]    |
[INFO] [stdout] 68 |                       hand_data
[INFO] [stdout]    |  ______________________________^
[INFO] [stdout] 69 | |                         .clone()
[INFO] [stdout]    | |________________________________^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 53.28s
[INFO] running `Command { std: "docker" "inspect" "d5ea1a7a0bc606491bf4f4dea996a7e1003c2f26631d237a6939fd39e6e945a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d5ea1a7a0bc606491bf4f4dea996a7e1003c2f26631d237a6939fd39e6e945a4", kill_on_drop: false }`
[INFO] [stdout] d5ea1a7a0bc606491bf4f4dea996a7e1003c2f26631d237a6939fd39e6e945a4
