[INFO] cloning repository https://github.com/ellipsoid/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/ellipsoid/aoc_2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fellipsoid%2Faoc_2023", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fellipsoid%2Faoc_2023'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7e3818ba0c25828739bc71df9ecdcf7f2e43d84c
[INFO] checking ellipsoid/aoc_2023 against try#b4c55082edd8dec08ce8af276d7054d9c4db20c4 for pr-147984
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fellipsoid%2Faoc_2023" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ellipsoid/aoc_2023
[INFO] finished tweaking git repo https://github.com/ellipsoid/aoc_2023
[INFO] tweaked toml for git repo https://github.com/ellipsoid/aoc_2023 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ellipsoid/aoc_2023 on toolchain b4c55082edd8dec08ce8af276d7054d9c4db20c4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4c55082edd8dec08ce8af276d7054d9c4db20c4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ellipsoid/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" "+b4c55082edd8dec08ce8af276d7054d9c4db20c4" "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
[ERROR] error running command: no output for 300 seconds
[INFO] checking ellipsoid/aoc_2023 against try#b4c55082edd8dec08ce8af276d7054d9c4db20c4 for pr-147984
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fellipsoid%2Faoc_2023" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ellipsoid/aoc_2023
[INFO] finished tweaking git repo https://github.com/ellipsoid/aoc_2023
[INFO] tweaked toml for git repo https://github.com/ellipsoid/aoc_2023 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ellipsoid/aoc_2023 on toolchain b4c55082edd8dec08ce8af276d7054d9c4db20c4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4c55082edd8dec08ce8af276d7054d9c4db20c4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ellipsoid/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" "+b4c55082edd8dec08ce8af276d7054d9c4db20c4" "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-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b4c55082edd8dec08ce8af276d7054d9c4db20c4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0a7aadbd2dad2ffb7bbc7d175349897fad9c2721b149ff10855bb4b4f403264c
[INFO] running `Command { std: "docker" "start" "-a" "0a7aadbd2dad2ffb7bbc7d175349897fad9c2721b149ff10855bb4b4f403264c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0a7aadbd2dad2ffb7bbc7d175349897fad9c2721b149ff10855bb4b4f403264c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0a7aadbd2dad2ffb7bbc7d175349897fad9c2721b149ff10855bb4b4f403264c", kill_on_drop: false }`
[INFO] [stdout] 0a7aadbd2dad2ffb7bbc7d175349897fad9c2721b149ff10855bb4b4f403264c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b4c55082edd8dec08ce8af276d7054d9c4db20c4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f64aadabe55595c8af7bd8fa6f66a760793542eaaedf5f6bad275f81947d4b42
[INFO] running `Command { std: "docker" "start" "-a" "f64aadabe55595c8af7bd8fa6f66a760793542eaaedf5f6bad275f81947d4b42", kill_on_drop: false }`
[INFO] [stderr]     Checking regex v1.10.2
[INFO] [stderr]     Checking aoc_2023 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `day1::*`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use day1::*;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `day2::*`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use day2::*;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/day3/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `day3::*`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use day3::*;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/day4/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `day1::*`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use day1::*;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `day2::*`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use day2::*;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/day3/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `day3::*`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use day3::*;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/day4/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base`
[INFO] [stdout]   --> src/day4/mod.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let base: u32 = 2;
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_base`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day1` is never constructed
[INFO] [stdout]  --> src/day1/mod.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Day1;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run_all`, `part_1`, `part_2`, `part_2_digits`, `part_1_digits`, and `combine_to_2_digit_number` are never used
[INFO] [stdout]   --> src/day1/mod.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Day1 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout]  6 |     pub fn run_all() {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn part_1(input: &str) -> u32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn part_2(input: &str) -> u32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn part_2_digits(line: &str) -> Vec<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn part_1_digits(line: &str) -> Vec<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn combine_to_2_digit_number(digits: Vec<u32>) -> Option<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day2` is never constructed
[INFO] [stdout]  --> src/day2/mod.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Day2;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]   --> src/day2/mod.rs:4:12
[INFO] [stdout]    |
[INFO] [stdout]  3 | impl Day2 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout]  4 |     pub fn run_all() {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn part_1(input: &str) -> u32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn part_2(input: &str) -> u32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn max_amounts_per_line(line: &str) -> (u32, u32, u32, u32) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn parse_line(line: &str) -> (u32, Vec<Vec<(u32, &str)>>) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     fn parse_game_id(game_str: &str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn parse_reveals(reveals_str: &str) -> Vec<Vec<(u32, &str)>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     fn parse_reveal(reveal_str: &str) -> Vec<(u32, &str)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     fn parse_number_and_color(chunk: &str) -> (u32, &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day3` is never constructed
[INFO] [stdout]  --> src/day3/mod.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Day3;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run_all`, `part_1`, `part_2`, `build_numbers`, and `parse_input` are never used
[INFO] [stdout]   --> src/day3/mod.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Day3 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout]  6 |     pub fn run_all() {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn part_1(input: &str) -> u32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn part_2(input: &str) -> u32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     fn build_numbers(char_map: &[Vec<CharType>]) -> Vec<Number> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     fn parse_input(input: &str) -> Vec<Vec<CharType>> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CharType` is never used
[INFO] [stdout]    --> src/day3/mod.rs:106:10
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub enum CharType {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]    --> src/day3/mod.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl CharType {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 114 |     pub fn parse(ch: char) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Number` is never constructed
[INFO] [stdout]    --> src/day3/mod.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 122 | struct Number {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `neighbor_indices` and `contains` are never used
[INFO] [stdout]    --> src/day3/mod.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl Number {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] 130 |     pub fn neighbor_indices(&self) -> Vec<(usize, usize)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn contains(&self, line_index: usize, cell_index: usize) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Doubling` is never constructed
[INFO] [stdout]   --> src/day4/mod.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct Doubling {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base`
[INFO] [stdout]   --> src/day4/mod.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let base: u32 = 2;
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_base`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day1` is never constructed
[INFO] [stdout]  --> src/day1/mod.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Day1;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run_all`, `part_1`, `part_2`, `part_2_digits`, `part_1_digits`, and `combine_to_2_digit_number` are never used
[INFO] [stdout]   --> src/day1/mod.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Day1 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout]  6 |     pub fn run_all() {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn part_1(input: &str) -> u32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn part_2(input: &str) -> u32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn part_2_digits(line: &str) -> Vec<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn part_1_digits(line: &str) -> Vec<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn combine_to_2_digit_number(digits: Vec<u32>) -> Option<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day2` is never constructed
[INFO] [stdout]  --> src/day2/mod.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Day2;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]   --> src/day2/mod.rs:4:12
[INFO] [stdout]    |
[INFO] [stdout]  3 | impl Day2 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout]  4 |     pub fn run_all() {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn part_1(input: &str) -> u32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn part_2(input: &str) -> u32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn max_amounts_per_line(line: &str) -> (u32, u32, u32, u32) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn parse_line(line: &str) -> (u32, Vec<Vec<(u32, &str)>>) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     fn parse_game_id(game_str: &str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn parse_reveals(reveals_str: &str) -> Vec<Vec<(u32, &str)>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     fn parse_reveal(reveal_str: &str) -> Vec<(u32, &str)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     fn parse_number_and_color(chunk: &str) -> (u32, &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day3` is never constructed
[INFO] [stdout]  --> src/day3/mod.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Day3;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run_all`, `part_1`, `part_2`, `build_numbers`, and `parse_input` are never used
[INFO] [stdout]   --> src/day3/mod.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Day3 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout]  6 |     pub fn run_all() {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn part_1(input: &str) -> u32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn part_2(input: &str) -> u32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     fn build_numbers(char_map: &[Vec<CharType>]) -> Vec<Number> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     fn parse_input(input: &str) -> Vec<Vec<CharType>> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CharType` is never used
[INFO] [stdout]    --> src/day3/mod.rs:106:10
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub enum CharType {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]    --> src/day3/mod.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl CharType {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 114 |     pub fn parse(ch: char) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Number` is never constructed
[INFO] [stdout]    --> src/day3/mod.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 122 | struct Number {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `neighbor_indices` and `contains` are never used
[INFO] [stdout]    --> src/day3/mod.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl Number {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] 130 |     pub fn neighbor_indices(&self) -> Vec<(usize, usize)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn contains(&self, line_index: usize, cell_index: usize) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Doubling` is never constructed
[INFO] [stdout]   --> src/day4/mod.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct Doubling {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.43s
[INFO] running `Command { std: "docker" "inspect" "f64aadabe55595c8af7bd8fa6f66a760793542eaaedf5f6bad275f81947d4b42", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f64aadabe55595c8af7bd8fa6f66a760793542eaaedf5f6bad275f81947d4b42", kill_on_drop: false }`
[INFO] [stdout] f64aadabe55595c8af7bd8fa6f66a760793542eaaedf5f6bad275f81947d4b42
