[INFO] cloning repository https://github.com/matteobolner/AOC_2024
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/matteobolner/AOC_2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmatteobolner%2FAOC_2024", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmatteobolner%2FAOC_2024'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 143dfc80af9dc28aa5fae41a83b1d5631a1c3555
[INFO] checking matteobolner/AOC_2024/143dfc80af9dc28aa5fae41a83b1d5631a1c3555 against c9ff496891c278ad660bc0ab85c1f0b72059464a for pr-160491
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmatteobolner%2FAOC_2024" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/matteobolner/AOC_2024
[INFO] finished tweaking git repo https://github.com/matteobolner/AOC_2024
[INFO] tweaked toml for git repo https://github.com/matteobolner/AOC_2024 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/matteobolner/AOC_2024 on toolchain c9ff496891c278ad660bc0ab85c1f0b72059464a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c9ff496891c278ad660bc0ab85c1f0b72059464a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/matteobolner/AOC_2024 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" "+c9ff496891c278ad660bc0ab85c1f0b72059464a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4c33d766c16d0659ea170fd2bf81452f63028d84621e7a8600864978f4a02056
[INFO] running `Command { std: "docker" "start" "4c33d766c16d0659ea170fd2bf81452f63028d84621e7a8600864978f4a02056", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4c33d766c16d0659ea170fd2bf81452f63028d84621e7a8600864978f4a02056", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4c33d766c16d0659ea170fd2bf81452f63028d84621e7a8600864978f4a02056" "/opt/rustwide/cargo-home/bin/cargo" "+c9ff496891c278ad660bc0ab85c1f0b72059464a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4c33d766c16d0659ea170fd2bf81452f63028d84621e7a8600864978f4a02056", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4c33d766c16d0659ea170fd2bf81452f63028d84621e7a8600864978f4a02056" "/opt/rustwide/cargo-home/bin/cargo" "+c9ff496891c278ad660bc0ab85c1f0b72059464a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking AOC_2024 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/days/day5.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut rules: Vec<Rule> = Vec::new();
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/days/day5.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 let mut split_order = i.split(",");
[INFO] [stdout]    |                     ----^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rules`
[INFO] [stdout]   --> src/days/day5.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut rules: Vec<Rule> = Vec::new();
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rules`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `split_order`
[INFO] [stdout]   --> src/days/day5.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 let mut split_order = i.split(",");
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_split_order`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day1` is never used
[INFO] [stdout]  --> src/main.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn 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: function `day2` is never used
[INFO] [stdout]   --> src/main.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn day2() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day3` is never used
[INFO] [stdout]   --> src/main.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn day3() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day4` is never used
[INFO] [stdout]   --> src/main.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn day4() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_input_and_return_vecs` is never used
[INFO] [stdout]  --> src/days/day1.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn parse_input_and_return_vecs(input_path: String) -> (Vec<i32>, Vec<i32>) {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sorted_vecs_diff` is never used
[INFO] [stdout]   --> src/days/day1.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn sorted_vecs_diff(mut first_vec: Vec<i32>, mut second_vec: Vec<i32>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sorted_vecs_similarity_score` is never used
[INFO] [stdout]   --> src/days/day1.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn sorted_vecs_similarity_score(first_vec: Vec<i32>, second_vec: Vec<i32>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `complete_day_1` is never used
[INFO] [stdout]   --> src/days/day1.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn complete_day_1(input_path: String) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ReportDirection` is never used
[INFO] [stdout]  --> src/days/day2.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | enum ReportDirection {
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_current_report_direction` is never used
[INFO] [stdout]   --> src/days/day2.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn get_current_report_direction(prev_value: &i8, curr_value: &i8) -> ReportDirection {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_distance_small` is never used
[INFO] [stdout]   --> src/days/day2.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn is_distance_small(prev_value: &i8, curr_value: &i8) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_report_safety` is never used
[INFO] [stdout]   --> src/days/day2.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn test_report_safety(report: Vec<i8>, dampened: bool) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_safe_reports` is never used
[INFO] [stdout]   --> src/days/day2.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn count_safe_reports(input_path: String, dampener: bool) -> u16 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `complete_day_2` is never used
[INFO] [stdout]   --> src/days/day2.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn complete_day_2(input_path: String) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_regex` is never used
[INFO] [stdout]  --> src/days/day3.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn find_regex(input_string: String, regex_string: String) -> Vec<String> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_and_multiply` is never used
[INFO] [stdout]   --> src/days/day3.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn extract_and_multiply(input_string: String) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `complete_day_3` is never used
[INFO] [stdout]   --> src/days/day3.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn complete_day_3(input_path: String) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Directions` is never used
[INFO] [stdout]  --> src/days/day4.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | enum Directions {
[INFO] [stdout]   |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_direction_with_coords` is never used
[INFO] [stdout]   --> src/days/day4.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn match_direction_with_coords(dir: Directions) -> (i32, i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `advance_in_direction` is never used
[INFO] [stdout]   --> src/days/day4.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn advance_in_direction(dir: (i32, i32), pos: (i32, i32)) -> (i32, i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_char_in_direction` is never used
[INFO] [stdout]   --> src/days/day4.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn find_char_in_direction(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WordCoordinates` is never constructed
[INFO] [stdout]   --> src/days/day4.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | struct WordCoordinates {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_coords` is never used
[INFO] [stdout]   --> src/days/day4.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl WordCoordinates {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 71 |     fn print_coords(&self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_xmas_from_pos` is never used
[INFO] [stdout]   --> src/days/day4.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn search_xmas_from_pos(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_mas_in_diag` is never used
[INFO] [stdout]    --> src/days/day4.rs:130:4
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn find_mas_in_diag(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_x_of_mas_from_pos` is never used
[INFO] [stdout]    --> src/days/day4.rs:152:4
[INFO] [stdout]     |
[INFO] [stdout] 152 | fn search_x_of_mas_from_pos(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `complete_day_4` is never used
[INFO] [stdout]    --> src/days/day4.rs:166:8
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub fn complete_day_4(input_path: String) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RuleOrder` is never used
[INFO] [stdout]  --> src/days/day5.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | enum RuleOrder {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `left_number` and `right_number` are never read
[INFO] [stdout]   --> src/days/day5.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | struct Rule {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout]  9 |     left_number: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 10 |     right_number: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/days/day5.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut rules: Vec<Rule> = Vec::new();
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/days/day5.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 let mut split_order = i.split(",");
[INFO] [stdout]    |                     ----^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rules`
[INFO] [stdout]   --> src/days/day5.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut rules: Vec<Rule> = Vec::new();
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rules`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `split_order`
[INFO] [stdout]   --> src/days/day5.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 let mut split_order = i.split(",");
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_split_order`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day1` is never used
[INFO] [stdout]  --> src/main.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn 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: function `day2` is never used
[INFO] [stdout]   --> src/main.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn day2() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day3` is never used
[INFO] [stdout]   --> src/main.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn day3() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day4` is never used
[INFO] [stdout]   --> src/main.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn day4() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_input_and_return_vecs` is never used
[INFO] [stdout]  --> src/days/day1.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn parse_input_and_return_vecs(input_path: String) -> (Vec<i32>, Vec<i32>) {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sorted_vecs_diff` is never used
[INFO] [stdout]   --> src/days/day1.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn sorted_vecs_diff(mut first_vec: Vec<i32>, mut second_vec: Vec<i32>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sorted_vecs_similarity_score` is never used
[INFO] [stdout]   --> src/days/day1.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn sorted_vecs_similarity_score(first_vec: Vec<i32>, second_vec: Vec<i32>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `complete_day_1` is never used
[INFO] [stdout]   --> src/days/day1.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn complete_day_1(input_path: String) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ReportDirection` is never used
[INFO] [stdout]  --> src/days/day2.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | enum ReportDirection {
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_current_report_direction` is never used
[INFO] [stdout]   --> src/days/day2.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn get_current_report_direction(prev_value: &i8, curr_value: &i8) -> ReportDirection {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_distance_small` is never used
[INFO] [stdout]   --> src/days/day2.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn is_distance_small(prev_value: &i8, curr_value: &i8) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_report_safety` is never used
[INFO] [stdout]   --> src/days/day2.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn test_report_safety(report: Vec<i8>, dampened: bool) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_safe_reports` is never used
[INFO] [stdout]   --> src/days/day2.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn count_safe_reports(input_path: String, dampener: bool) -> u16 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `complete_day_2` is never used
[INFO] [stdout]   --> src/days/day2.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn complete_day_2(input_path: String) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_regex` is never used
[INFO] [stdout]  --> src/days/day3.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn find_regex(input_string: String, regex_string: String) -> Vec<String> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_and_multiply` is never used
[INFO] [stdout]   --> src/days/day3.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn extract_and_multiply(input_string: String) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `complete_day_3` is never used
[INFO] [stdout]   --> src/days/day3.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn complete_day_3(input_path: String) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Directions` is never used
[INFO] [stdout]  --> src/days/day4.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | enum Directions {
[INFO] [stdout]   |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_direction_with_coords` is never used
[INFO] [stdout]   --> src/days/day4.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn match_direction_with_coords(dir: Directions) -> (i32, i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `advance_in_direction` is never used
[INFO] [stdout]   --> src/days/day4.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn advance_in_direction(dir: (i32, i32), pos: (i32, i32)) -> (i32, i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_char_in_direction` is never used
[INFO] [stdout]   --> src/days/day4.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn find_char_in_direction(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WordCoordinates` is never constructed
[INFO] [stdout]   --> src/days/day4.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | struct WordCoordinates {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_coords` is never used
[INFO] [stdout]   --> src/days/day4.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl WordCoordinates {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 71 |     fn print_coords(&self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_xmas_from_pos` is never used
[INFO] [stdout]   --> src/days/day4.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn search_xmas_from_pos(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_mas_in_diag` is never used
[INFO] [stdout]    --> src/days/day4.rs:130:4
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn find_mas_in_diag(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_x_of_mas_from_pos` is never used
[INFO] [stdout]    --> src/days/day4.rs:152:4
[INFO] [stdout]     |
[INFO] [stdout] 152 | fn search_x_of_mas_from_pos(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `complete_day_4` is never used
[INFO] [stdout]    --> src/days/day4.rs:166:8
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub fn complete_day_4(input_path: String) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RuleOrder` is never used
[INFO] [stdout]  --> src/days/day5.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | enum RuleOrder {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `left_number` and `right_number` are never read
[INFO] [stdout]   --> src/days/day5.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | struct Rule {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout]  9 |     left_number: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 10 |     right_number: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.04s
[INFO] running `Command { std: "docker" "inspect" "4c33d766c16d0659ea170fd2bf81452f63028d84621e7a8600864978f4a02056", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4c33d766c16d0659ea170fd2bf81452f63028d84621e7a8600864978f4a02056", kill_on_drop: false }`
[INFO] [stdout] 4c33d766c16d0659ea170fd2bf81452f63028d84621e7a8600864978f4a02056
