[INFO] cloning repository https://github.com/th7nder/aoc-2023
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/th7nder/aoc-2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fth7nder%2Faoc-2023", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fth7nder%2Faoc-2023'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 948dd27d271c50e543d7bbabee4e2fa7f5b1b88a
[INFO] checking th7nder/aoc-2023 against master#80399064afa4a2cd153f30d02c25f7ea0383ed65 for opaque-soundness-fix
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fth7nder%2Faoc-2023" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/th7nder/aoc-2023 on toolchain 80399064afa4a2cd153f30d02c25f7ea0383ed65
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/th7nder/aoc-2023
[INFO] finished tweaking git repo https://github.com/th7nder/aoc-2023
[INFO] tweaked toml for git repo https://github.com/th7nder/aoc-2023 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/th7nder/aoc-2023 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" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[ERROR] this task or one of its parent failed!
[ERROR] no output for 300 seconds
[ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace.
[INFO] checking th7nder/aoc-2023 against master#09bc67b9158392361780e779d32997f14cc75c39 for opaque-soundness-fix
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fth7nder%2Faoc-2023" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/th7nder/aoc-2023 on toolchain 09bc67b9158392361780e779d32997f14cc75c39
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+09bc67b9158392361780e779d32997f14cc75c39" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/th7nder/aoc-2023
[INFO] finished tweaking git repo https://github.com/th7nder/aoc-2023
[INFO] tweaked toml for git repo https://github.com/th7nder/aoc-2023 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/th7nder/aoc-2023 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" "+09bc67b9158392361780e779d32997f14cc75c39" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+09bc67b9158392361780e779d32997f14cc75c39" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 55d8b815df232f21280478ddd6e22b27d022b4566381c65d25f9ca0bf970a8a5
[INFO] running `Command { std: "docker" "start" "-a" "55d8b815df232f21280478ddd6e22b27d022b4566381c65d25f9ca0bf970a8a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "55d8b815df232f21280478ddd6e22b27d022b4566381c65d25f9ca0bf970a8a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "55d8b815df232f21280478ddd6e22b27d022b4566381c65d25f9ca0bf970a8a5", kill_on_drop: false }`
[INFO] [stdout] 55d8b815df232f21280478ddd6e22b27d022b4566381c65d25f9ca0bf970a8a5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+09bc67b9158392361780e779d32997f14cc75c39" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cccf24ab4f9613bb8d7e47d90bf3d08bd4a7747479ea38923cbd94bc26d91881
[INFO] running `Command { std: "docker" "start" "-a" "cccf24ab4f9613bb8d7e47d90bf3d08bd4a7747479ea38923cbd94bc26d91881", kill_on_drop: false }`
[INFO] [stderr]     Checking aoc-2023 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/day12.rs:1:48
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::File, io, collections::{HashMap, HashSet}};
[INFO] [stdout]   |                                                ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/day12.rs:1:48
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::File, io, collections::{HashMap, HashSet}};
[INFO] [stdout]   |                                                ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]    --> src/day19.rs:400:9
[INFO] [stdout]     |
[INFO] [stdout] 400 |     use std::collections::HashMap;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 401 |
[INFO] [stdout] 402 |     use super::*;
[INFO] [stdout]     |         -------- the item `HashMap` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/day20.rs:206:29
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn parse(filename: &str) -> (HashMap<String, Module>) {
[INFO] [stdout]     |                             ^                       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 206 - fn parse(filename: &str) -> (HashMap<String, Module>) {
[INFO] [stdout] 206 + fn parse(filename: &str) -> HashMap<String, Module> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/day20.rs:206:29
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn parse(filename: &str) -> (HashMap<String, Module>) {
[INFO] [stdout]     |                             ^                       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 206 - fn parse(filename: &str) -> (HashMap<String, Module>) {
[INFO] [stdout] 206 + fn parse(filename: &str) -> HashMap<String, Module> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]    --> src/day20.rs:304:28
[INFO] [stdout]     |
[INFO] [stdout] 304 |     use std::collections::{VecDeque};
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]   --> src/day1.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut first: Option<char> = None;
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last`
[INFO] [stdout]   --> src/day1.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut last: Option<char> = None;
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_last`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day1.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut first: Option<char> = None;
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day1.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut last: Option<char> = None;
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]   --> src/day1.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut first: Option<char> = None;
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last`
[INFO] [stdout]   --> src/day1.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut last: Option<char> = None;
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_last`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day1.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut first: Option<char> = None;
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day1.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut last: Option<char> = None;
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_id`
[INFO] [stdout]   --> src/day2.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |             let game_id: u32 = x[1].parse().unwrap();
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_id`
[INFO] [stdout]   --> src/day2.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |             let game_id: u32 = x[1].parse().unwrap();
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/day3.rs:234:31
[INFO] [stdout]     |
[INFO] [stdout] 234 |                     for (num, idx, x) in gears {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/day3.rs:234:36
[INFO] [stdout]     |
[INFO] [stdout] 234 |                     for (num, idx, x) in gears {
[INFO] [stdout]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/day3.rs:234:31
[INFO] [stdout]     |
[INFO] [stdout] 234 |                     for (num, idx, x) in gears {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/day3.rs:234:36
[INFO] [stdout]     |
[INFO] [stdout] 234 |                     for (num, idx, x) in gears {
[INFO] [stdout]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day3.rs:149:25
[INFO] [stdout]     |
[INFO] [stdout] 149 |                     let mut last_idx = col_idx - 1;
[INFO] [stdout]     |                         ----^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day3.rs:149:25
[INFO] [stdout]     |
[INFO] [stdout] 149 |                     let mut last_idx = col_idx - 1;
[INFO] [stdout]     |                         ----^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next`
[INFO] [stdout]    --> src/day10.rs:308:26
[INFO] [stdout]     |
[INFO] [stdout] 308 |                     let (next, nr, nc) = self.get_xy(r, c, dir);
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_next`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next`
[INFO] [stdout]    --> src/day10.rs:308:26
[INFO] [stdout]     |
[INFO] [stdout] 308 |                     let (next, nr, nc) = self.get_xy(r, c, dir);
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_next`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]    --> src/day10.rs:409:13
[INFO] [stdout]     |
[INFO] [stdout] 409 |         let map = parse();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day20.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let mut modules = vec![
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `day7::Hand` is more private than the item `day7::score`
[INFO] [stdout]    --> src/day7.rs:197:1
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub fn score(hands: &Vec<Hand>) -> u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `day7::score` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `day7::Hand` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/day7.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout] 45  | struct Hand {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Hand` is more private than the item `score`
[INFO] [stdout]    --> src/day7.rs:197:1
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub fn score(hands: &Vec<Hand>) -> u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `score` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Hand` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/day7.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout] 45  | struct Hand {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calibration_value` is never used
[INFO] [stdout]  --> src/day1.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn calibration_value(line: &str) -> i32 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calibration_value_v2` is never used
[INFO] [stdout]   --> src/day1.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn calibration_value_v2(line: &str) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day1.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn part1() {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day1.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn part2() {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]  --> src/day2.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn part1() {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day2.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn part2() {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_schematic` is never used
[INFO] [stdout]  --> src/day3.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn read_schematic() -> Vec<Vec<char>> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_symbol` is never used
[INFO] [stdout]   --> src/day3.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn is_symbol(schematic: &Vec<Vec<char>>, row_idx: usize, col_idx: usize, rr: i32, cc: i32) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_number` is never used
[INFO] [stdout]   --> src/day3.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn is_number(schematic: &Vec<Vec<char>>, 
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]    --> src/day3.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn part2() {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Card` is never constructed
[INFO] [stdout]  --> src/day4.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Card {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Card` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `matching_numbers` are never used
[INFO] [stdout]   --> src/day4.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Card {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 14 |     fn new(id: u32, winning: HashSet<u32>, owned: Vec<u32>) -> Card {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn matching_numbers(&self) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_cards` is never used
[INFO] [stdout]   --> src/day4.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn read_cards() -> Vec<Card> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day4.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn part1() {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day4.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn part2() {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/day7.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum Card {
[INFO] [stdout]    |      ---- variants in this enum
[INFO] [stdout] 9  |     J,
[INFO] [stdout]    |     ^
[INFO] [stdout] 10 |     Two,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 11 |     Three,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 12 |     Four, 
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 13 |     Five, 
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 14 |     Six, 
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 15 |     Seven, 
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 16 |     Eight, 
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 17 |     Nine,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 18 |     T,
[INFO] [stdout]    |     ^
[INFO] [stdout] 19 |     Q,
[INFO] [stdout]    |     ^
[INFO] [stdout] 20 |     K,
[INFO] [stdout]    |     ^
[INFO] [stdout] 21 |     A 
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Card` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/day7.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Card {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 25 |     fn new(from: char) -> Card {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bid` is never read
[INFO] [stdout]   --> src/day7.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | struct Hand {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 48 |     bid: u32
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse` and `new` are never used
[INFO] [stdout]   --> src/day7.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl Hand { 
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 52 |     fn parse(cards: &str, bid: u32) -> Hand {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     fn new(cards: Vec<Card>, bid: u32) -> Hand {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/day7.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 187 | enum HandKind {
[INFO] [stdout]     |      -------- variants in this enum
[INFO] [stdout] 188 |     HighCard,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 189 |     OnePair,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 190 |     TwoPair,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 191 |     ThreeOfAKind,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 192 |     FullHouse,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 193 |     FourOfAKind,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 194 |     FiveOfAKind,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `HandKind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `score` is never used
[INFO] [stdout]    --> src/day7.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub fn score(hands: &Vec<Hand>) -> u32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]    --> src/day7.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn part1() {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/day10.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | enum Direction {
[INFO] [stdout]    |      --------- variants in this enum
[INFO] [stdout] 11 |     None,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 12 |     North,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 13 |     NorthWest,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 14 |     NorthEast,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 15 |     East,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 16 |     South,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 17 |     SouthEast,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 18 |     SouthWest,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 19 |     West,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `opposite` is never used
[INFO] [stdout]   --> src/day10.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Direction {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 23 |     fn opposite(self) -> Direction {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/day10.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | enum Tile {
[INFO] [stdout]    |      ---- variants in this enum
[INFO] [stdout] 40 |     None,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 41 |     NorthAndSouth,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 42 |     EastAndWest,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 43 |     NorthAndEast,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 44 |     NorthAndWest,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 45 |     SouthAndWest,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 46 |     SouthAndEast,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 47 |     Ground,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 48 |     StartingPosition,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Tile` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `print`, `parse`, `directions`, and `by_directions` are never used
[INFO] [stdout]   --> src/day10.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl Tile {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 52 |     fn print(self) -> char {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     fn parse(c: char) -> Tile {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     fn directions(self) -> Vec<Direction> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     fn by_directions(dirs: &Vec<Direction>) -> Tile {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]    --> src/day10.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn parse() -> Map {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Map` is never constructed
[INFO] [stdout]    --> src/day10.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | struct Map {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/day10.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl Map {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 146 |     fn new(tiles: Vec<Vec<Tile>>) -> Map {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     fn determine_start(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn get(&self, r: usize, c: usize, dir: Direction) -> Tile {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     fn get_xy(&self, r: usize, c: usize, dir: Direction) -> (Tile, usize, usize) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     fn traverse(&mut self, start: (usize, usize)) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     fn cast(&self, (r, c): (usize, usize), visited: &HashSet<(usize, usize)>) -> usize {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 372 |     fn print(&self, visited: &HashSet<(usize, usize)>) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]    --> src/day10.rs:398:8
[INFO] [stdout]     |
[INFO] [stdout] 398 | pub fn part1() {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calibration_value` is never used
[INFO] [stdout]  --> src/day1.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn calibration_value(line: &str) -> i32 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calibration_value_v2` is never used
[INFO] [stdout]   --> src/day1.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn calibration_value_v2(line: &str) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day1.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn part1() {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day1.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn part2() {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]  --> src/day2.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn part1() {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day2.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn part2() {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_schematic` is never used
[INFO] [stdout]  --> src/day3.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn read_schematic() -> Vec<Vec<char>> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_symbol` is never used
[INFO] [stdout]   --> src/day3.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn is_symbol(schematic: &Vec<Vec<char>>, row_idx: usize, col_idx: usize, rr: i32, cc: i32) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_number` is never used
[INFO] [stdout]   --> src/day3.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn is_number(schematic: &Vec<Vec<char>>, 
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]    --> src/day3.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn part2() {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SpringStatus` is never used
[INFO] [stdout]  --> src/day12.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | enum SpringStatus {
[INFO] [stdout]   |      ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `SpringStatus` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from` and `print` are never used
[INFO] [stdout]   --> src/day12.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl SpringStatus {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn from(c: char) -> SpringStatus {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn print(&self) -> char {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Card` is never constructed
[INFO] [stdout]  --> src/day4.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Card {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Card` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_config` is never used
[INFO] [stdout]   --> src/day12.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn print_config(configuration: &Vec<SpringStatus>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid` is never used
[INFO] [stdout]   --> src/day12.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn valid(configuration: &Vec<SpringStatus>, damaged_segments: Vec<usize>) -> bool {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arrange` is never used
[INFO] [stdout]   --> src/day12.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn arrange(
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]    --> src/day12.rs:162:4
[INFO] [stdout]     |
[INFO] [stdout] 162 | fn parse(s: &str) -> (Vec<SpringStatus>, Vec<usize>) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]    --> src/day12.rs:180:8
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub fn part1() {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `matching_numbers` are never used
[INFO] [stdout]   --> src/day4.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Card {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 14 |     fn new(id: u32, winning: HashSet<u32>, owned: Vec<u32>) -> Card {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn matching_numbers(&self) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Workflow` is never constructed
[INFO] [stdout]  --> src/day19.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Workflow {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `process` and `parse` are never used
[INFO] [stdout]   --> src/day19.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Workflow {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 11 |     fn process(&self, part: &Part) -> String {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn parse(s: &str) -> Workflow {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rule` is never constructed
[INFO] [stdout]   --> src/day19.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct Rule {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Rule` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_cards` is never used
[INFO] [stdout]   --> src/day4.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn read_cards() -> Vec<Card> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `invert`, `parse`, and `accept` are never used
[INFO] [stdout]    --> src/day19.rs:49:8
[INFO] [stdout]     |
[INFO] [stdout] 48  | impl Rule {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 49  |     fn invert(&self) -> Rule {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  |     fn parse(s: &str) -> Rule {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn accept(&self, part: &Part) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day4.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn part1() {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Empty`, `Greater`, and `Lesser` are never constructed
[INFO] [stdout]    --> src/day19.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | enum RuleKind {
[INFO] [stdout]     |      -------- variants in this enum
[INFO] [stdout] 126 |     Empty,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 127 |     Greater,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 128 |     Lesser,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuleKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day4.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn part2() {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `X`, `M`, `A`, and `S` are never constructed
[INFO] [stdout]    --> src/day19.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 133 | enum Segment {
[INFO] [stdout]     |      ------- variants in this enum
[INFO] [stdout] 134 |     X,
[INFO] [stdout]     |     ^
[INFO] [stdout] 135 |     M,
[INFO] [stdout]     |     ^
[INFO] [stdout] 136 |     A,
[INFO] [stdout]     |     ^
[INFO] [stdout] 137 |     S,
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Segment` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]    --> src/day7.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn part1() {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Part` is never constructed
[INFO] [stdout]    --> src/day19.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | struct Part {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse` and `rating` are never used
[INFO] [stdout]    --> src/day19.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl Part {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 149 |     fn parse(s: &str) -> Part {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     fn rating(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `opposite` is never used
[INFO] [stdout]   --> src/day10.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Direction {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 23 |     fn opposite(self) -> Direction {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_part` is never used
[INFO] [stdout]    --> src/day19.rs:175:4
[INFO] [stdout]     |
[INFO] [stdout] 175 | fn process_part(part: &mut Part, workflows: &HashMap<String, Workflow>) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_parts` is never used
[INFO] [stdout]    --> src/day19.rs:198:4
[INFO] [stdout]     |
[INFO] [stdout] 198 | fn process_parts(parts: &mut Vec<Part>, workflows: &HashMap<String, Workflow>) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]    --> src/day19.rs:209:4
[INFO] [stdout]     |
[INFO] [stdout] 209 | fn parse(filename: &str) -> (HashMap<String, Workflow>, Vec<Part>) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]    --> src/day19.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn part1() {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `determine_ranges` is never used
[INFO] [stdout]    --> src/day19.rs:243:4
[INFO] [stdout]     |
[INFO] [stdout] 243 | fn determine_ranges(constraints: &Vec<Rule>) -> i64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `traverse` is never used
[INFO] [stdout]    --> src/day19.rs:343:4
[INFO] [stdout]     |
[INFO] [stdout] 343 | fn traverse(current_workflow: &str, workflows: &HashMap<String, Workflow>, constraints: &mut Vec<Rule>, path: &mut Vec<String>) -> i64 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]    --> src/day19.rs:383:8
[INFO] [stdout]     |
[INFO] [stdout] 383 | pub fn part2() {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print` is never used
[INFO] [stdout]   --> src/day10.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl Tile {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 52 |     fn print(self) -> char {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_signals` is never used
[INFO] [stdout]    --> src/day20.rs:139:4
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn print_signals(signals: &Vec<(String, String, Signal)>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_signal` is never used
[INFO] [stdout]    --> src/day20.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn print_signal((from, target, signal): &(String, String, Signal)) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]    --> src/day20.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub fn part1() {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print` is never used
[INFO] [stdout]    --> src/day10.rs:372:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl Map {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 372 |     fn print(&self, visited: &HashSet<(usize, usize)>) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]    --> src/day10.rs:398:8
[INFO] [stdout]     |
[INFO] [stdout] 398 | pub fn part1() {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print` is never used
[INFO] [stdout]   --> src/day12.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl SpringStatus {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn print(&self) -> char {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_config` is never used
[INFO] [stdout]   --> src/day12.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn print_config(configuration: &Vec<SpringStatus>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]    --> src/day12.rs:180:8
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub fn part1() {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `invert` is never used
[INFO] [stdout]   --> src/day19.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl Rule {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 49 |     fn invert(&self) -> Rule {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]    --> src/day19.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn part1() {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `determine_ranges` is never used
[INFO] [stdout]    --> src/day19.rs:243:4
[INFO] [stdout]     |
[INFO] [stdout] 243 | fn determine_ranges(constraints: &Vec<Rule>) -> i64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `traverse` is never used
[INFO] [stdout]    --> src/day19.rs:343:4
[INFO] [stdout]     |
[INFO] [stdout] 343 | fn traverse(current_workflow: &str, workflows: &HashMap<String, Workflow>, constraints: &mut Vec<Rule>, path: &mut Vec<String>) -> i64 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]    --> src/day19.rs:383:8
[INFO] [stdout]     |
[INFO] [stdout] 383 | pub fn part2() {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_signals` is never used
[INFO] [stdout]    --> src/day20.rs:139:4
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn print_signals(signals: &Vec<(String, String, Signal)>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_signal` is never used
[INFO] [stdout]    --> src/day20.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn print_signal((from, target, signal): &(String, String, Signal)) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]    --> src/day20.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub fn part1() {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 67 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 47 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.33s
[INFO] running `Command { std: "docker" "inspect" "cccf24ab4f9613bb8d7e47d90bf3d08bd4a7747479ea38923cbd94bc26d91881", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cccf24ab4f9613bb8d7e47d90bf3d08bd4a7747479ea38923cbd94bc26d91881", kill_on_drop: false }`
[INFO] [stdout] cccf24ab4f9613bb8d7e47d90bf3d08bd4a7747479ea38923cbd94bc26d91881
