[INFO] cloning repository https://github.com/flyingalex/adventofcode-2023
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/flyingalex/adventofcode-2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fflyingalex%2Fadventofcode-2023", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fflyingalex%2Fadventofcode-2023'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 90b9d1709ee510b35affc328a9190e28212ef911
[INFO] testing flyingalex/adventofcode-2023 against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fflyingalex%2Fadventofcode-2023" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/flyingalex/adventofcode-2023 on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/flyingalex/adventofcode-2023
[INFO] finished tweaking git repo https://github.com/flyingalex/adventofcode-2023
[INFO] tweaked toml for git repo https://github.com/flyingalex/adventofcode-2023 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/flyingalex/adventofcode-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" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a40ab4c81ebba96f65ef55279eba8d9cdc4e1172906af1749a6619a93d81df45
[INFO] running `Command { std: "docker" "start" "-a" "a40ab4c81ebba96f65ef55279eba8d9cdc4e1172906af1749a6619a93d81df45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a40ab4c81ebba96f65ef55279eba8d9cdc4e1172906af1749a6619a93d81df45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a40ab4c81ebba96f65ef55279eba8d9cdc4e1172906af1749a6619a93d81df45", kill_on_drop: false }`
[INFO] [stdout] a40ab4c81ebba96f65ef55279eba8d9cdc4e1172906af1749a6619a93d81df45
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dbfee72cbaa2a4df0a8044ceaa0752b99e84f6cb2b58c7ed46d42d7b889ad401
[INFO] running `Command { std: "docker" "start" "-a" "dbfee72cbaa2a4df0a8044ceaa0752b99e84f6cb2b58c7ed46d42d7b889ad401", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling memchr v2.6.4
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling itertools v0.12.0
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling aho-corasick v1.1.2
[INFO] [stderr]    Compiling num-complex v0.4.4
[INFO] [stderr]    Compiling regex-automata v0.4.3
[INFO] [stderr]    Compiling num v0.4.1
[INFO] [stderr]    Compiling regex v1.10.2
[INFO] [stderr]    Compiling adventofcode-2023 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `absolute_path` has been stable since 1.79.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(absolute_path)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Solution` is never used
[INFO] [stdout]   --> src/lib.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | trait Solution {
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day1` is never constructed
[INFO] [stdout]  --> src/day1/day1.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Day1;
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Part1` is never constructed
[INFO] [stdout]  --> src/day1/day1.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Part1;
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Part2` is never constructed
[INFO] [stdout]  --> src/day1/day1.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Part2;
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Part` is never used
[INFO] [stdout]  --> src/day1/day1.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | trait Part {
[INFO] [stdout]   |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calibration_value` is never used
[INFO] [stdout]   --> src/day1/day1.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Day1 {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 40 |     pub fn calibration_value<P: Part>(&self, part: P, input: &str) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day2` is never constructed
[INFO] [stdout]  --> src/day2/day2.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Day2;
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Part1` is never constructed
[INFO] [stdout]  --> src/day2/day2.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Part1;
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Part2` is never constructed
[INFO] [stdout]  --> src/day2/day2.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Part2;
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Part` is never used
[INFO] [stdout]  --> src/day2/day2.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | trait Part {
[INFO] [stdout]   |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cube_conundrum` is never used
[INFO] [stdout]   --> src/day2/day2.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl Day2 {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 64 |     pub fn cube_conundrum<P: Part>(&self, part: P, input: &str) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_number` is never used
[INFO] [stdout]  --> src/day3/day3.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn calculate_number(engine_schematic: &[Vec<char>]) -> u32 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_line_gear` is never used
[INFO] [stdout]   --> src/day3/day3.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn calculate_line_gear(line: &[char], pos: usize) -> Vec<u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_gear_ratios` is never used
[INFO] [stdout]   --> src/day3/day3.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn calculate_gear_ratios(engine_schematic: &[Vec<char>]) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_answer` is never used
[INFO] [stdout]   --> src/day3/day3.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn puzzle_answer(file: &Path, calculate_fn: &dyn Fn(&[Vec<char>]) -> u32) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `each_line_winner_count` is never used
[INFO] [stdout]  --> src/day4/day4.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn each_line_winner_count(line: &str) -> u32 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `total_points` is never used
[INFO] [stdout]   --> src/day4/day4.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn total_points(file: &Path) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `total_points2` is never used
[INFO] [stdout]   --> src/day4/day4.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn total_points2(file: &Path) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `found_next_location` is never used
[INFO] [stdout]  --> src/day5/day5.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn found_next_location(location: u64, vec_map: &Vec<Vec<u64>>) -> u64 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_lowest_location_number` is never used
[INFO] [stdout]   --> src/day5/day5.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn find_lowest_location_number(file: &Path) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]   --> src/day5/day5.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn format_data(file: &Path) -> (Vec<(u64, u64)>, Vec<Vec<(u64, u64, u64)>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_lowest_location_number2` is never used
[INFO] [stdout]   --> src/day5/day5.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn find_lowest_location_number2(seeds: Vec<(u64, u64)>, seed_to_soils: Vec<Vec<(u64, u64, u64)>>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RaceRecord` is never constructed
[INFO] [stdout]  --> src/day6/day6.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct RaceRecord {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `beat_record` is never used
[INFO] [stdout]  --> src/day6/day6.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn beat_record(file: &Path, combined: bool) -> u64 {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Hand` is never constructed
[INFO] [stdout]  --> src/day7/day7.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Hand {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]   --> src/day7/day7.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn format_data(file: &Path, has_joker: bool) -> (Vec<Hand>, HashMap<char, u64>) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `total_winnings` is never used
[INFO] [stdout]   --> src/day7/day7.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn total_winnings(hands: Vec<Hand>, char_rank: HashMap<char, u64>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day8/day8.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn format_data(file: &Path) -> (Vec<u64>, HashMap<String, Vec<String>>) {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_steps` is never used
[INFO] [stdout]   --> src/day8/day8.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn get_steps(directions: &Vec<u64>, route_map: &HashMap<String, Vec<String>>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_steps2` is never used
[INFO] [stdout]   --> src/day8/day8.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn get_steps2(directions: &Vec<u64>, route_map: &HashMap<String, Vec<String>>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day9/day9.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn format_data(file: &Path) -> Vec<Vec<i64>> {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_extrapolated_values` is never used
[INFO] [stdout]   --> src/day9/day9.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn get_extrapolated_values(histories: Vec<Vec<i64>>) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_extrapolated_values2` is never used
[INFO] [stdout]   --> src/day9/day9.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn get_extrapolated_values2(histories: Vec<Vec<i64>>) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StartPoint` is never constructed
[INFO] [stdout]  --> src/day10/day10.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct StartPoint {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]   --> src/day10/day10.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn format_data(file: &Path) -> (Vec<Vec<char>>, StartPoint) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_start_points` is never used
[INFO] [stdout]   --> src/day10/day10.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn init_start_points(tiles: &Vec<Vec<char>>, start_point: StartPoint) -> Vec<StartPoint> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_around_points` is never used
[INFO] [stdout]   --> src/day10/day10.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn get_around_points(tiles: &Vec<Vec<char>>, start_point: StartPoint) -> Vec<StartPoint> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_steps` is never used
[INFO] [stdout]   --> src/day10/day10.rs:91:4
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn get_steps(tiles: &Vec<Vec<char>>, start_point: StartPoint) -> (i64, Vec<Vec<bool>>) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_steps2` is never used
[INFO] [stdout]    --> src/day10/day10.rs:139:4
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn get_steps2(tiles: &Vec<Vec<char>>, start_point: StartPoint) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day11/day11.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn format_data(file: &Path) -> (Vec<Vec<char>>, (Vec<usize>, Vec<usize>)) {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_len_sum` is never used
[INFO] [stdout]   --> src/day11/day11.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn get_len_sum(data: &Vec<Vec<char>>, empty_row_cols: &(Vec<usize>, Vec<usize>), times: u64) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day12/day12.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn format_data(file: &Path, step2: bool) -> Vec<(Vec<char>, Vec<u64>)> {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_arrangements` is never used
[INFO] [stdout]   --> src/day12/day12.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn calculate_arrangements(springs: Vec<char>, rows: &Vec<u64>, cache: &mut HashMap<String, u64>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_arrangement_sum` is never used
[INFO] [stdout]   --> src/day12/day12.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn get_arrangement_sum(data: Vec<(Vec<char>, Vec<u64>)>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day13/day13.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn format_data(file: &Path) -> Vec<Vec<Vec<char>>> {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_notes_sum` is never used
[INFO] [stdout]   --> src/day13/day13.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn get_notes_sum(data: Vec<Vec<Vec<char>>>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_notes_sum2` is never used
[INFO] [stdout]   --> src/day13/day13.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn get_notes_sum2(data: Vec<Vec<Vec<char>>>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day14/day14.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn format_data(file: &Path) -> Vec<Vec<char>> {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_line` is never used
[INFO] [stdout]   --> src/day14/day14.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn sort_line(data: Vec<char>, space_in_end: bool) -> Vec<char> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `roate_platform` is never used
[INFO] [stdout]   --> src/day14/day14.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn roate_platform(data: &mut Vec<Vec<char>>, step2: bool) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_total_load` is never used
[INFO] [stdout]   --> src/day14/day14.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn get_total_load(data: Vec<Vec<char>>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rotate_data` is never used
[INFO] [stdout]   --> src/day14/day14.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn get_rotate_data(data: &mut Vec<Vec<char>>, times: usize) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day15/day15.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn format_data(file: &Path) -> Vec<Vec<char>> {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_of_sequence` is never used
[INFO] [stdout]   --> src/day15/day15.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn get_result_of_sequence(data: Vec<Vec<char>>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_of_sequence2` is never used
[INFO] [stdout]   --> src/day15/day15.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn get_result_of_sequence2(data: Vec<Vec<char>>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]  --> src/day16/day16.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum Direction {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_position` is never used
[INFO] [stdout]   --> src/day16/day16.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn get_next_position(position: (u64, u64, Direction), data: &Vec<Vec<char>>) -> Vec<(u64, u64, Direction)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]   --> src/day16/day16.rs:96:4
[INFO] [stdout]    |
[INFO] [stdout] 96 | fn format_data(file: &Path) -> Vec<Vec<char>> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_energized_tiles` is never used
[INFO] [stdout]    --> src/day16/day16.rs:108:4
[INFO] [stdout]     |
[INFO] [stdout] 108 | fn get_energized_tiles(data: Vec<Vec<char>>, starts: Vec<(u64, u64, Direction)>) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]   --> src/day17/day17.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn format_data(file: &Path) -> Vec<Vec<i32>> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_least_heat_loss` is never used
[INFO] [stdout]   --> src/day17/day17.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn get_least_heat_loss(data: &mut Vec<Vec<i32>>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_least_heat_loss2` is never used
[INFO] [stdout]   --> src/day17/day17.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn get_least_heat_loss2(data: &mut Vec<Vec<i32>>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day18/day18.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn format_data(file: &Path) -> Vec<(String, i64)> {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data2` is never used
[INFO] [stdout]   --> src/day18/day18.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn format_data2(file: &Path) -> Vec<(String, i64)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shoelace_formula` is never used
[INFO] [stdout]   --> src/day18/day18.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn shoelace_formula(v: Vec<(i64, i64)>) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_cubic_meters` is never used
[INFO] [stdout]   --> src/day18/day18.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn get_cubic_meters(data: Vec<(String, i64)>) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day19/day19.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn format_data(file: &Path) -> (HashMap<String, Vec<(String, i64, i64, String)>>, Vec<HashMap<String, i64>>) {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rating_numbers` is never used
[INFO] [stdout]   --> src/day19/day19.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn get_rating_numbers(workflows: HashMap<String, Vec<(String, i64, i64, String)>>, ratings: Vec<HashMap<String, i64>>) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_option` is never used
[INFO] [stdout]   --> src/day19/day19.rs:91:4
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn find_option(
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rating_numbers2` is never used
[INFO] [stdout]    --> src/day19/day19.rs:139:4
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn get_rating_numbers2(workflows: HashMap<String, Vec<(String, i64, i64, String)>>) -> i64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Type` is never used
[INFO] [stdout]  --> src/day20/day20.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum Type {
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Module` is never constructed
[INFO] [stdout]   --> src/day20/day20.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Module {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]   --> src/day20/day20.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn format_data(file: &Path) -> (HashMap<String, Module>, Vec<(String, String, bool)>) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pulses_numbers` is never used
[INFO] [stdout]   --> src/day20/day20.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn get_pulses_numbers(modules: &mut HashMap<String, Module>, start: Vec<(String, String, bool)>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pulses_numbers2` is never used
[INFO] [stdout]    --> src/day20/day20.rs:103:4
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn get_pulses_numbers2(modules: &mut HashMap<String, Module>, start: Vec<(String, String, bool)>) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day21/day21.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn format_data(file: &Path) -> (Vec<Vec<char>>, (i32, i32)) {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_div_euclid` is never used
[INFO] [stdout]   --> src/day21/day21.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn update_div_euclid(map: &mut HashMap<(i32, i32), HashSet<(i32, i32)>>, point: (i32, i32), x_len: i32, y_len: i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_garden_plots` is never used
[INFO] [stdout]   --> src/day21/day21.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn get_garden_plots(data: Vec<Vec<char>>, start: (i32, i32), step: i32) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day22/day22.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn format_data(file: &Path) -> Vec<Vec<i32>> {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `overlap` is never used
[INFO] [stdout]   --> src/day22/day22.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn overlap(a: &Vec<i32>, b: &Vec<i32>) -> bool {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bricks` is never used
[INFO] [stdout]   --> src/day22/day22.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn get_bricks(bricks: &mut Vec<Vec<i32>>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bricks2` is never used
[INFO] [stdout]   --> src/day22/day22.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn get_bricks2(bricks: &mut Vec<Vec<i32>>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day23/day23.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn format_data(file: &Path) -> Vec<Vec<char>> {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bread_first_search` is never used
[INFO] [stdout]   --> src/day23/day23.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn bread_first_search(mark: Vec<(usize, usize)> , map: &Vec<Vec<char>>, start: (usize, usize), end: (usize, usize), result: &mut HashSet<...
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_longest_hikes` is never used
[INFO] [stdout]   --> src/day23/day23.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn get_longest_hikes(map: Vec<Vec<char>>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bread_first_search2` is never used
[INFO] [stdout]   --> src/day23/day23.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn bread_first_search2(mark: &mut Vec<(usize, usize)> , map: &Vec<Vec<char>>, start: (usize, usize), end: (usize, usize), result: &mut Ha...
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_longest_hikes2` is never used
[INFO] [stdout]   --> src/day23/day23.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn get_longest_hikes2(map: Vec<Vec<char>>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Hailstone` is never constructed
[INFO] [stdout]   --> src/day24/day24.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Hailstone {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/day24/day24.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Hailstone {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 24 |     fn new(sx: i128, sy: i128, _sz: i128, vx: i128, vy: i128, _vz: i128) -> Hailstone {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]   --> src/day24/day24.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn format_data(file: &Path) -> Vec<Hailstone> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_intersections1` is never used
[INFO] [stdout]   --> src/day24/day24.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn get_intersections1(hailstones: Vec<Hailstone> ) -> i128 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_intersections2` is never used
[INFO] [stdout]   --> src/day24/day24.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn get_intersections2(hailstones: Vec<Hailstone> ) -> i128 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]  --> src/utils.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn read_lines<P>(filename: P) -> io::Result<io::Lines<io::BufReader<File>>>
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 94 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.50s
[INFO] running `Command { std: "docker" "inspect" "dbfee72cbaa2a4df0a8044ceaa0752b99e84f6cb2b58c7ed46d42d7b889ad401", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dbfee72cbaa2a4df0a8044ceaa0752b99e84f6cb2b58c7ed46d42d7b889ad401", kill_on_drop: false }`
[INFO] [stdout] dbfee72cbaa2a4df0a8044ceaa0752b99e84f6cb2b58c7ed46d42d7b889ad401
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 65b4cb9ae75901afac0ca4685acdecdf54ff3354bde2bcda1c3a95dced6646de
[INFO] running `Command { std: "docker" "start" "-a" "65b4cb9ae75901afac0ca4685acdecdf54ff3354bde2bcda1c3a95dced6646de", kill_on_drop: false }`
[INFO] [stdout] warning: the feature `absolute_path` has been stable since 1.79.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(absolute_path)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Solution` is never used
[INFO] [stdout]   --> src/lib.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | trait Solution {
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day1` is never constructed
[INFO] [stdout]  --> src/day1/day1.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Day1;
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Part1` is never constructed
[INFO] [stdout]  --> src/day1/day1.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Part1;
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Part2` is never constructed
[INFO] [stdout]  --> src/day1/day1.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Part2;
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Part` is never used
[INFO] [stdout]  --> src/day1/day1.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | trait Part {
[INFO] [stdout]   |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calibration_value` is never used
[INFO] [stdout]   --> src/day1/day1.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Day1 {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 40 |     pub fn calibration_value<P: Part>(&self, part: P, input: &str) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day2` is never constructed
[INFO] [stdout]  --> src/day2/day2.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Day2;
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Part1` is never constructed
[INFO] [stdout]  --> src/day2/day2.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Part1;
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Part2` is never constructed
[INFO] [stdout]  --> src/day2/day2.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Part2;
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Part` is never used
[INFO] [stdout]  --> src/day2/day2.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | trait Part {
[INFO] [stdout]   |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cube_conundrum` is never used
[INFO] [stdout]   --> src/day2/day2.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl Day2 {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 64 |     pub fn cube_conundrum<P: Part>(&self, part: P, input: &str) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_number` is never used
[INFO] [stdout]  --> src/day3/day3.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn calculate_number(engine_schematic: &[Vec<char>]) -> u32 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_line_gear` is never used
[INFO] [stdout]   --> src/day3/day3.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn calculate_line_gear(line: &[char], pos: usize) -> Vec<u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_gear_ratios` is never used
[INFO] [stdout]   --> src/day3/day3.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn calculate_gear_ratios(engine_schematic: &[Vec<char>]) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle_answer` is never used
[INFO] [stdout]   --> src/day3/day3.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn puzzle_answer(file: &Path, calculate_fn: &dyn Fn(&[Vec<char>]) -> u32) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `each_line_winner_count` is never used
[INFO] [stdout]  --> src/day4/day4.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn each_line_winner_count(line: &str) -> u32 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `total_points` is never used
[INFO] [stdout]   --> src/day4/day4.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn total_points(file: &Path) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `total_points2` is never used
[INFO] [stdout]   --> src/day4/day4.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn total_points2(file: &Path) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `found_next_location` is never used
[INFO] [stdout]  --> src/day5/day5.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn found_next_location(location: u64, vec_map: &Vec<Vec<u64>>) -> u64 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_lowest_location_number` is never used
[INFO] [stdout]   --> src/day5/day5.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn find_lowest_location_number(file: &Path) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]   --> src/day5/day5.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn format_data(file: &Path) -> (Vec<(u64, u64)>, Vec<Vec<(u64, u64, u64)>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_lowest_location_number2` is never used
[INFO] [stdout]   --> src/day5/day5.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn find_lowest_location_number2(seeds: Vec<(u64, u64)>, seed_to_soils: Vec<Vec<(u64, u64, u64)>>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RaceRecord` is never constructed
[INFO] [stdout]  --> src/day6/day6.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct RaceRecord {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `beat_record` is never used
[INFO] [stdout]  --> src/day6/day6.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn beat_record(file: &Path, combined: bool) -> u64 {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Hand` is never constructed
[INFO] [stdout]  --> src/day7/day7.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Hand {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]   --> src/day7/day7.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn format_data(file: &Path, has_joker: bool) -> (Vec<Hand>, HashMap<char, u64>) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `total_winnings` is never used
[INFO] [stdout]   --> src/day7/day7.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn total_winnings(hands: Vec<Hand>, char_rank: HashMap<char, u64>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day8/day8.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn format_data(file: &Path) -> (Vec<u64>, HashMap<String, Vec<String>>) {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_steps` is never used
[INFO] [stdout]   --> src/day8/day8.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn get_steps(directions: &Vec<u64>, route_map: &HashMap<String, Vec<String>>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_steps2` is never used
[INFO] [stdout]   --> src/day8/day8.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn get_steps2(directions: &Vec<u64>, route_map: &HashMap<String, Vec<String>>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day9/day9.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn format_data(file: &Path) -> Vec<Vec<i64>> {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_extrapolated_values` is never used
[INFO] [stdout]   --> src/day9/day9.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn get_extrapolated_values(histories: Vec<Vec<i64>>) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_extrapolated_values2` is never used
[INFO] [stdout]   --> src/day9/day9.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn get_extrapolated_values2(histories: Vec<Vec<i64>>) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StartPoint` is never constructed
[INFO] [stdout]  --> src/day10/day10.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct StartPoint {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]   --> src/day10/day10.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn format_data(file: &Path) -> (Vec<Vec<char>>, StartPoint) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_start_points` is never used
[INFO] [stdout]   --> src/day10/day10.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn init_start_points(tiles: &Vec<Vec<char>>, start_point: StartPoint) -> Vec<StartPoint> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_around_points` is never used
[INFO] [stdout]   --> src/day10/day10.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn get_around_points(tiles: &Vec<Vec<char>>, start_point: StartPoint) -> Vec<StartPoint> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_steps` is never used
[INFO] [stdout]   --> src/day10/day10.rs:91:4
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn get_steps(tiles: &Vec<Vec<char>>, start_point: StartPoint) -> (i64, Vec<Vec<bool>>) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_steps2` is never used
[INFO] [stdout]    --> src/day10/day10.rs:139:4
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn get_steps2(tiles: &Vec<Vec<char>>, start_point: StartPoint) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day11/day11.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn format_data(file: &Path) -> (Vec<Vec<char>>, (Vec<usize>, Vec<usize>)) {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_len_sum` is never used
[INFO] [stdout]   --> src/day11/day11.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn get_len_sum(data: &Vec<Vec<char>>, empty_row_cols: &(Vec<usize>, Vec<usize>), times: u64) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day12/day12.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn format_data(file: &Path, step2: bool) -> Vec<(Vec<char>, Vec<u64>)> {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_arrangements` is never used
[INFO] [stdout]   --> src/day12/day12.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn calculate_arrangements(springs: Vec<char>, rows: &Vec<u64>, cache: &mut HashMap<String, u64>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_arrangement_sum` is never used
[INFO] [stdout]   --> src/day12/day12.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn get_arrangement_sum(data: Vec<(Vec<char>, Vec<u64>)>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day13/day13.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn format_data(file: &Path) -> Vec<Vec<Vec<char>>> {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_notes_sum` is never used
[INFO] [stdout]   --> src/day13/day13.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn get_notes_sum(data: Vec<Vec<Vec<char>>>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_notes_sum2` is never used
[INFO] [stdout]   --> src/day13/day13.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn get_notes_sum2(data: Vec<Vec<Vec<char>>>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day14/day14.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn format_data(file: &Path) -> Vec<Vec<char>> {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_line` is never used
[INFO] [stdout]   --> src/day14/day14.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn sort_line(data: Vec<char>, space_in_end: bool) -> Vec<char> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `roate_platform` is never used
[INFO] [stdout]   --> src/day14/day14.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn roate_platform(data: &mut Vec<Vec<char>>, step2: bool) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_total_load` is never used
[INFO] [stdout]   --> src/day14/day14.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn get_total_load(data: Vec<Vec<char>>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rotate_data` is never used
[INFO] [stdout]   --> src/day14/day14.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn get_rotate_data(data: &mut Vec<Vec<char>>, times: usize) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day15/day15.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn format_data(file: &Path) -> Vec<Vec<char>> {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_of_sequence` is never used
[INFO] [stdout]   --> src/day15/day15.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn get_result_of_sequence(data: Vec<Vec<char>>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_of_sequence2` is never used
[INFO] [stdout]   --> src/day15/day15.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn get_result_of_sequence2(data: Vec<Vec<char>>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]  --> src/day16/day16.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum Direction {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_position` is never used
[INFO] [stdout]   --> src/day16/day16.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn get_next_position(position: (u64, u64, Direction), data: &Vec<Vec<char>>) -> Vec<(u64, u64, Direction)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]   --> src/day16/day16.rs:96:4
[INFO] [stdout]    |
[INFO] [stdout] 96 | fn format_data(file: &Path) -> Vec<Vec<char>> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_energized_tiles` is never used
[INFO] [stdout]    --> src/day16/day16.rs:108:4
[INFO] [stdout]     |
[INFO] [stdout] 108 | fn get_energized_tiles(data: Vec<Vec<char>>, starts: Vec<(u64, u64, Direction)>) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]   --> src/day17/day17.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn format_data(file: &Path) -> Vec<Vec<i32>> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_least_heat_loss` is never used
[INFO] [stdout]   --> src/day17/day17.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn get_least_heat_loss(data: &mut Vec<Vec<i32>>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_least_heat_loss2` is never used
[INFO] [stdout]   --> src/day17/day17.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn get_least_heat_loss2(data: &mut Vec<Vec<i32>>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day18/day18.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn format_data(file: &Path) -> Vec<(String, i64)> {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data2` is never used
[INFO] [stdout]   --> src/day18/day18.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn format_data2(file: &Path) -> Vec<(String, i64)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shoelace_formula` is never used
[INFO] [stdout]   --> src/day18/day18.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn shoelace_formula(v: Vec<(i64, i64)>) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_cubic_meters` is never used
[INFO] [stdout]   --> src/day18/day18.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn get_cubic_meters(data: Vec<(String, i64)>) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day19/day19.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn format_data(file: &Path) -> (HashMap<String, Vec<(String, i64, i64, String)>>, Vec<HashMap<String, i64>>) {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rating_numbers` is never used
[INFO] [stdout]   --> src/day19/day19.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn get_rating_numbers(workflows: HashMap<String, Vec<(String, i64, i64, String)>>, ratings: Vec<HashMap<String, i64>>) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_option` is never used
[INFO] [stdout]   --> src/day19/day19.rs:91:4
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn find_option(
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rating_numbers2` is never used
[INFO] [stdout]    --> src/day19/day19.rs:139:4
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn get_rating_numbers2(workflows: HashMap<String, Vec<(String, i64, i64, String)>>) -> i64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Type` is never used
[INFO] [stdout]  --> src/day20/day20.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum Type {
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Module` is never constructed
[INFO] [stdout]   --> src/day20/day20.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Module {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]   --> src/day20/day20.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn format_data(file: &Path) -> (HashMap<String, Module>, Vec<(String, String, bool)>) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pulses_numbers` is never used
[INFO] [stdout]   --> src/day20/day20.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn get_pulses_numbers(modules: &mut HashMap<String, Module>, start: Vec<(String, String, bool)>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pulses_numbers2` is never used
[INFO] [stdout]    --> src/day20/day20.rs:103:4
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn get_pulses_numbers2(modules: &mut HashMap<String, Module>, start: Vec<(String, String, bool)>) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day21/day21.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn format_data(file: &Path) -> (Vec<Vec<char>>, (i32, i32)) {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_div_euclid` is never used
[INFO] [stdout]   --> src/day21/day21.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn update_div_euclid(map: &mut HashMap<(i32, i32), HashSet<(i32, i32)>>, point: (i32, i32), x_len: i32, y_len: i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_garden_plots` is never used
[INFO] [stdout]   --> src/day21/day21.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn get_garden_plots(data: Vec<Vec<char>>, start: (i32, i32), step: i32) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day22/day22.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn format_data(file: &Path) -> Vec<Vec<i32>> {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `overlap` is never used
[INFO] [stdout]   --> src/day22/day22.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn overlap(a: &Vec<i32>, b: &Vec<i32>) -> bool {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bricks` is never used
[INFO] [stdout]   --> src/day22/day22.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn get_bricks(bricks: &mut Vec<Vec<i32>>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bricks2` is never used
[INFO] [stdout]   --> src/day22/day22.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn get_bricks2(bricks: &mut Vec<Vec<i32>>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]  --> src/day23/day23.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn format_data(file: &Path) -> Vec<Vec<char>> {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bread_first_search` is never used
[INFO] [stdout]   --> src/day23/day23.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn bread_first_search(mark: Vec<(usize, usize)> , map: &Vec<Vec<char>>, start: (usize, usize), end: (usize, usize), result: &mut HashSet<...
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_longest_hikes` is never used
[INFO] [stdout]   --> src/day23/day23.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn get_longest_hikes(map: Vec<Vec<char>>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bread_first_search2` is never used
[INFO] [stdout]   --> src/day23/day23.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn bread_first_search2(mark: &mut Vec<(usize, usize)> , map: &Vec<Vec<char>>, start: (usize, usize), end: (usize, usize), result: &mut Ha...
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_longest_hikes2` is never used
[INFO] [stdout]   --> src/day23/day23.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn get_longest_hikes2(map: Vec<Vec<char>>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Hailstone` is never constructed
[INFO] [stdout]   --> src/day24/day24.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Hailstone {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/day24/day24.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Hailstone {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 24 |     fn new(sx: i128, sy: i128, _sz: i128, vx: i128, vy: i128, _vz: i128) -> Hailstone {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling adventofcode-2023 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `format_data` is never used
[INFO] [stdout]   --> src/day24/day24.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn format_data(file: &Path) -> Vec<Hailstone> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_intersections1` is never used
[INFO] [stdout]   --> src/day24/day24.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn get_intersections1(hailstones: Vec<Hailstone> ) -> i128 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_intersections2` is never used
[INFO] [stdout]   --> src/day24/day24.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn get_intersections2(hailstones: Vec<Hailstone> ) -> i128 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]  --> src/utils.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn read_lines<P>(filename: P) -> io::Result<io::Lines<io::BufReader<File>>>
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 94 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `absolute_path` has been stable since 1.79.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(absolute_path)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.79s
[INFO] running `Command { std: "docker" "inspect" "65b4cb9ae75901afac0ca4685acdecdf54ff3354bde2bcda1c3a95dced6646de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "65b4cb9ae75901afac0ca4685acdecdf54ff3354bde2bcda1c3a95dced6646de", kill_on_drop: false }`
[INFO] [stdout] 65b4cb9ae75901afac0ca4685acdecdf54ff3354bde2bcda1c3a95dced6646de
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 72c66729fc21e6cf0f9b9aef21af1ccb3fb0ba926309b7760d482be7c161f84f
[INFO] running `Command { std: "docker" "start" "-a" "72c66729fc21e6cf0f9b9aef21af1ccb3fb0ba926309b7760d482be7c161f84f", kill_on_drop: false }`
[INFO] [stderr] warning: the feature `absolute_path` has been stable since 1.79.0 and no longer requires an attribute to enable
[INFO] [stderr]  --> src/lib.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | #![feature(absolute_path)]
[INFO] [stderr]   |            ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(stable_features)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Solution` is never used
[INFO] [stderr]   --> src/lib.rs:33:7
[INFO] [stderr]    |
[INFO] [stderr] 33 | trait Solution {
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Day1` is never constructed
[INFO] [stderr]  --> src/day1/day1.rs:3:8
[INFO] [stderr]   |
[INFO] [stderr] 3 | struct Day1;
[INFO] [stderr]   |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Part1` is never constructed
[INFO] [stderr]  --> src/day1/day1.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | struct Part1;
[INFO] [stderr]   |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Part2` is never constructed
[INFO] [stderr]  --> src/day1/day1.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | struct Part2;
[INFO] [stderr]   |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Part` is never used
[INFO] [stderr]  --> src/day1/day1.rs:7:7
[INFO] [stderr]   |
[INFO] [stderr] 7 | trait Part {
[INFO] [stderr]   |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `calibration_value` is never used
[INFO] [stderr]   --> src/day1/day1.rs:40:12
[INFO] [stderr]    |
[INFO] [stderr] 39 | impl Day1 {
[INFO] [stderr]    | --------- method in this implementation
[INFO] [stderr] 40 |     pub fn calibration_value<P: Part>(&self, part: P, input: &str) -> u32 {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Day2` is never constructed
[INFO] [stderr]  --> src/day2/day2.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | struct Day2;
[INFO] [stderr]   |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Part1` is never constructed
[INFO] [stderr]  --> src/day2/day2.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | struct Part1;
[INFO] [stderr]   |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Part2` is never constructed
[INFO] [stderr]  --> src/day2/day2.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | struct Part2;
[INFO] [stderr]   |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Part` is never used
[INFO] [stderr]  --> src/day2/day2.rs:8:7
[INFO] [stderr]   |
[INFO] [stderr] 8 | trait Part {
[INFO] [stderr]   |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `cube_conundrum` is never used
[INFO] [stderr]   --> src/day2/day2.rs:64:12
[INFO] [stderr]    |
[INFO] [stderr] 63 | impl Day2 {
[INFO] [stderr]    | --------- method in this implementation
[INFO] [stderr] 64 |     pub fn cube_conundrum<P: Part>(&self, part: P, input: &str) -> u32 {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `calculate_number` is never used
[INFO] [stderr]  --> src/day3/day3.rs:4:4
[INFO] [stderr]   |
[INFO] [stderr] 4 | fn calculate_number(engine_schematic: &[Vec<char>]) -> u32 {
[INFO] [stderr]   |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `calculate_line_gear` is never used
[INFO] [stderr]   --> src/day3/day3.rs:34:4
[INFO] [stderr]    |
[INFO] [stderr] 34 | fn calculate_line_gear(line: &[char], pos: usize) -> Vec<u32> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `calculate_gear_ratios` is never used
[INFO] [stderr]   --> src/day3/day3.rs:78:4
[INFO] [stderr]    |
[INFO] [stderr] 78 | fn calculate_gear_ratios(engine_schematic: &[Vec<char>]) -> u32 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `puzzle_answer` is never used
[INFO] [stderr]   --> src/day3/day3.rs:95:4
[INFO] [stderr]    |
[INFO] [stderr] 95 | fn puzzle_answer(file: &Path, calculate_fn: &dyn Fn(&[Vec<char>]) -> u32) -> u32 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `each_line_winner_count` is never used
[INFO] [stderr]  --> src/day4/day4.rs:4:4
[INFO] [stderr]   |
[INFO] [stderr] 4 | fn each_line_winner_count(line: &str) -> u32 {
[INFO] [stderr]   |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `total_points` is never used
[INFO] [stderr]   --> src/day4/day4.rs:25:4
[INFO] [stderr]    |
[INFO] [stderr] 25 | fn total_points(file: &Path) -> u32 {
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `total_points2` is never used
[INFO] [stderr]   --> src/day4/day4.rs:40:4
[INFO] [stderr]    |
[INFO] [stderr] 40 | fn total_points2(file: &Path) -> u32 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `found_next_location` is never used
[INFO] [stderr]  --> src/day5/day5.rs:4:4
[INFO] [stderr]   |
[INFO] [stderr] 4 | fn found_next_location(location: u64, vec_map: &Vec<Vec<u64>>) -> u64 {
[INFO] [stderr]   |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `find_lowest_location_number` is never used
[INFO] [stderr]   --> src/day5/day5.rs:13:4
[INFO] [stderr]    |
[INFO] [stderr] 13 | fn find_lowest_location_number(file: &Path) -> u64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data` is never used
[INFO] [stderr]   --> src/day5/day5.rs:53:4
[INFO] [stderr]    |
[INFO] [stderr] 53 | fn format_data(file: &Path) -> (Vec<(u64, u64)>, Vec<Vec<(u64, u64, u64)>>) {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `find_lowest_location_number2` is never used
[INFO] [stderr]   --> src/day5/day5.rs:93:4
[INFO] [stderr]    |
[INFO] [stderr] 93 | fn find_lowest_location_number2(seeds: Vec<(u64, u64)>, seed_to_soils: Vec<Vec<(u64, u64, u64)>>) -> u64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RaceRecord` is never constructed
[INFO] [stderr]  --> src/day6/day6.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | struct RaceRecord {
[INFO] [stderr]   |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `beat_record` is never used
[INFO] [stderr]  --> src/day6/day6.rs:9:4
[INFO] [stderr]   |
[INFO] [stderr] 9 | fn beat_record(file: &Path, combined: bool) -> u64 {
[INFO] [stderr]   |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Hand` is never constructed
[INFO] [stderr]  --> src/day7/day7.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | struct Hand {
[INFO] [stderr]   |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data` is never used
[INFO] [stderr]   --> src/day7/day7.rs:12:4
[INFO] [stderr]    |
[INFO] [stderr] 12 | fn format_data(file: &Path, has_joker: bool) -> (Vec<Hand>, HashMap<char, u64>) {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `total_winnings` is never used
[INFO] [stderr]   --> src/day7/day7.rs:76:4
[INFO] [stderr]    |
[INFO] [stderr] 76 | fn total_winnings(hands: Vec<Hand>, char_rank: HashMap<char, u64>) -> u64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data` is never used
[INFO] [stderr]  --> src/day8/day8.rs:6:4
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn format_data(file: &Path) -> (Vec<u64>, HashMap<String, Vec<String>>) {
[INFO] [stderr]   |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_steps` is never used
[INFO] [stderr]   --> src/day8/day8.rs:36:4
[INFO] [stderr]    |
[INFO] [stderr] 36 | fn get_steps(directions: &Vec<u64>, route_map: &HashMap<String, Vec<String>>) -> u64 {
[INFO] [stderr]    |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_steps2` is never used
[INFO] [stderr]   --> src/day8/day8.rs:54:4
[INFO] [stderr]    |
[INFO] [stderr] 54 | fn get_steps2(directions: &Vec<u64>, route_map: &HashMap<String, Vec<String>>) -> u64 {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data` is never used
[INFO] [stderr]  --> src/day9/day9.rs:4:4
[INFO] [stderr]   |
[INFO] [stderr] 4 | fn format_data(file: &Path) -> Vec<Vec<i64>> {
[INFO] [stderr]   |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_extrapolated_values` is never used
[INFO] [stderr]   --> src/day9/day9.rs:18:4
[INFO] [stderr]    |
[INFO] [stderr] 18 | fn get_extrapolated_values(histories: Vec<Vec<i64>>) -> i64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_extrapolated_values2` is never used
[INFO] [stderr]   --> src/day9/day9.rs:40:4
[INFO] [stderr]    |
[INFO] [stderr] 40 | fn get_extrapolated_values2(histories: Vec<Vec<i64>>) -> i64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `StartPoint` is never constructed
[INFO] [stderr]  --> src/day10/day10.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 | struct StartPoint {
[INFO] [stderr]   |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data` is never used
[INFO] [stderr]   --> src/day10/day10.rs:12:4
[INFO] [stderr]    |
[INFO] [stderr] 12 | fn format_data(file: &Path) -> (Vec<Vec<char>>, StartPoint) {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `init_start_points` is never used
[INFO] [stderr]   --> src/day10/day10.rs:40:4
[INFO] [stderr]    |
[INFO] [stderr] 40 | fn init_start_points(tiles: &Vec<Vec<char>>, start_point: StartPoint) -> Vec<StartPoint> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_around_points` is never used
[INFO] [stderr]   --> src/day10/day10.rs:63:4
[INFO] [stderr]    |
[INFO] [stderr] 63 | fn get_around_points(tiles: &Vec<Vec<char>>, start_point: StartPoint) -> Vec<StartPoint> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_steps` is never used
[INFO] [stderr]   --> src/day10/day10.rs:91:4
[INFO] [stderr]    |
[INFO] [stderr] 91 | fn get_steps(tiles: &Vec<Vec<char>>, start_point: StartPoint) -> (i64, Vec<Vec<bool>>) {
[INFO] [stderr]    |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_steps2` is never used
[INFO] [stderr]    --> src/day10/day10.rs:139:4
[INFO] [stderr]     |
[INFO] [stderr] 139 | fn get_steps2(tiles: &Vec<Vec<char>>, start_point: StartPoint) -> u32 {
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data` is never used
[INFO] [stderr]  --> src/day11/day11.rs:5:4
[INFO] [stderr]   |
[INFO] [stderr] 5 | fn format_data(file: &Path) -> (Vec<Vec<char>>, (Vec<usize>, Vec<usize>)) {
[INFO] [stderr]   |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_len_sum` is never used
[INFO] [stderr]   --> src/day11/day11.rs:40:4
[INFO] [stderr]    |
[INFO] [stderr] 40 | fn get_len_sum(data: &Vec<Vec<char>>, empty_row_cols: &(Vec<usize>, Vec<usize>), times: u64) -> u64 {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data` is never used
[INFO] [stderr]  --> src/day12/day12.rs:5:4
[INFO] [stderr]   |
[INFO] [stderr] 5 | fn format_data(file: &Path, step2: bool) -> Vec<(Vec<char>, Vec<u64>)> {
[INFO] [stderr]   |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `calculate_arrangements` is never used
[INFO] [stderr]   --> src/day12/day12.rs:37:4
[INFO] [stderr]    |
[INFO] [stderr] 37 | fn calculate_arrangements(springs: Vec<char>, rows: &Vec<u64>, cache: &mut HashMap<String, u64>) -> u64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_arrangement_sum` is never used
[INFO] [stderr]   --> src/day12/day12.rs:68:4
[INFO] [stderr]    |
[INFO] [stderr] 68 | fn get_arrangement_sum(data: Vec<(Vec<char>, Vec<u64>)>) -> u64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data` is never used
[INFO] [stderr]  --> src/day13/day13.rs:5:4
[INFO] [stderr]   |
[INFO] [stderr] 5 | fn format_data(file: &Path) -> Vec<Vec<Vec<char>>> {
[INFO] [stderr]   |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_notes_sum` is never used
[INFO] [stderr]   --> src/day13/day13.rs:25:4
[INFO] [stderr]    |
[INFO] [stderr] 25 | fn get_notes_sum(data: Vec<Vec<Vec<char>>>) -> usize {
[INFO] [stderr]    |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_notes_sum2` is never used
[INFO] [stderr]   --> src/day13/day13.rs:75:4
[INFO] [stderr]    |
[INFO] [stderr] 75 | fn get_notes_sum2(data: Vec<Vec<Vec<char>>>) -> usize {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data` is never used
[INFO] [stderr]  --> src/day14/day14.rs:6:4
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn format_data(file: &Path) -> Vec<Vec<char>> {
[INFO] [stderr]   |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sort_line` is never used
[INFO] [stderr]   --> src/day14/day14.rs:20:4
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn sort_line(data: Vec<char>, space_in_end: bool) -> Vec<char> {
[INFO] [stderr]    |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `roate_platform` is never used
[INFO] [stderr]   --> src/day14/day14.rs:34:4
[INFO] [stderr]    |
[INFO] [stderr] 34 | fn roate_platform(data: &mut Vec<Vec<char>>, step2: bool) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_total_load` is never used
[INFO] [stderr]   --> src/day14/day14.rs:72:4
[INFO] [stderr]    |
[INFO] [stderr] 72 | fn get_total_load(data: Vec<Vec<char>>) -> u64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_rotate_data` is never used
[INFO] [stderr]   --> src/day14/day14.rs:81:4
[INFO] [stderr]    |
[INFO] [stderr] 81 | fn get_rotate_data(data: &mut Vec<Vec<char>>, times: usize) -> u64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data` is never used
[INFO] [stderr]  --> src/day15/day15.rs:5:4
[INFO] [stderr]   |
[INFO] [stderr] 5 | fn format_data(file: &Path) -> Vec<Vec<char>> {
[INFO] [stderr]   |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_result_of_sequence` is never used
[INFO] [stderr]   --> src/day15/day15.rs:21:4
[INFO] [stderr]    |
[INFO] [stderr] 21 | fn get_result_of_sequence(data: Vec<Vec<char>>) -> u64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_result_of_sequence2` is never used
[INFO] [stderr]   --> src/day15/day15.rs:33:4
[INFO] [stderr]    |
[INFO] [stderr] 33 | fn get_result_of_sequence2(data: Vec<Vec<char>>) -> u64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Direction` is never used
[INFO] [stderr]  --> src/day16/day16.rs:6:6
[INFO] [stderr]   |
[INFO] [stderr] 6 | enum Direction {
[INFO] [stderr]   |      ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_next_position` is never used
[INFO] [stderr]   --> src/day16/day16.rs:13:4
[INFO] [stderr]    |
[INFO] [stderr] 13 | fn get_next_position(position: (u64, u64, Direction), data: &Vec<Vec<char>>) -> Vec<(u64, u64, Direction)> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data` is never used
[INFO] [stderr]   --> src/day16/day16.rs:96:4
[INFO] [stderr]    |
[INFO] [stderr] 96 | fn format_data(file: &Path) -> Vec<Vec<char>> {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_energized_tiles` is never used
[INFO] [stderr]    --> src/day16/day16.rs:108:4
[INFO] [stderr]     |
[INFO] [stderr] 108 | fn get_energized_tiles(data: Vec<Vec<char>>, starts: Vec<(u64, u64, Direction)>) -> u64 {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data` is never used
[INFO] [stderr]   --> src/day17/day17.rs:12:4
[INFO] [stderr]    |
[INFO] [stderr] 12 | fn format_data(file: &Path) -> Vec<Vec<i32>> {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_least_heat_loss` is never used
[INFO] [stderr]   --> src/day17/day17.rs:24:4
[INFO] [stderr]    |
[INFO] [stderr] 24 | fn get_least_heat_loss(data: &mut Vec<Vec<i32>>) -> i32 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_least_heat_loss2` is never used
[INFO] [stderr]   --> src/day17/day17.rs:77:4
[INFO] [stderr]    |
[INFO] [stderr] 77 | fn get_least_heat_loss2(data: &mut Vec<Vec<i32>>) -> i32 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data` is never used
[INFO] [stderr]  --> src/day18/day18.rs:8:4
[INFO] [stderr]   |
[INFO] [stderr] 8 | fn format_data(file: &Path) -> Vec<(String, i64)> {
[INFO] [stderr]   |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data2` is never used
[INFO] [stderr]   --> src/day18/day18.rs:24:4
[INFO] [stderr]    |
[INFO] [stderr] 24 | fn format_data2(file: &Path) -> Vec<(String, i64)> {
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `shoelace_formula` is never used
[INFO] [stderr]   --> src/day18/day18.rs:49:4
[INFO] [stderr]    |
[INFO] [stderr] 49 | fn shoelace_formula(v: Vec<(i64, i64)>) -> i64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_cubic_meters` is never used
[INFO] [stderr]   --> src/day18/day18.rs:60:4
[INFO] [stderr]    |
[INFO] [stderr] 60 | fn get_cubic_meters(data: Vec<(String, i64)>) -> i64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data` is never used
[INFO] [stderr]  --> src/day19/day19.rs:7:4
[INFO] [stderr]   |
[INFO] [stderr] 7 | fn format_data(file: &Path) -> (HashMap<String, Vec<(String, i64, i64, String)>>, Vec<HashMap<String, i64>>) {
[INFO] [stderr]   |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_rating_numbers` is never used
[INFO] [stderr]   --> src/day19/day19.rs:56:4
[INFO] [stderr]    |
[INFO] [stderr] 56 | fn get_rating_numbers(workflows: HashMap<String, Vec<(String, i64, i64, String)>>, ratings: Vec<HashMap<String, i64>>) -> i64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `find_option` is never used
[INFO] [stderr]   --> src/day19/day19.rs:91:4
[INFO] [stderr]    |
[INFO] [stderr] 91 | fn find_option(
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_rating_numbers2` is never used
[INFO] [stderr]    --> src/day19/day19.rs:139:4
[INFO] [stderr]     |
[INFO] [stderr] 139 | fn get_rating_numbers2(workflows: HashMap<String, Vec<(String, i64, i64, String)>>) -> i64 {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Type` is never used
[INFO] [stderr]  --> src/day20/day20.rs:7:6
[INFO] [stderr]   |
[INFO] [stderr] 7 | enum Type {
[INFO] [stderr]   |      ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Module` is never constructed
[INFO] [stderr]   --> src/day20/day20.rs:13:8
[INFO] [stderr]    |
[INFO] [stderr] 13 | struct Module {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data` is never used
[INFO] [stderr]   --> src/day20/day20.rs:20:4
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn format_data(file: &Path) -> (HashMap<String, Module>, Vec<(String, String, bool)>) {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_pulses_numbers` is never used
[INFO] [stderr]   --> src/day20/day20.rs:59:4
[INFO] [stderr]    |
[INFO] [stderr] 59 | fn get_pulses_numbers(modules: &mut HashMap<String, Module>, start: Vec<(String, String, bool)>) -> u64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_pulses_numbers2` is never used
[INFO] [stderr]    --> src/day20/day20.rs:103:4
[INFO] [stderr]     |
[INFO] [stderr] 103 | fn get_pulses_numbers2(modules: &mut HashMap<String, Module>, start: Vec<(String, String, bool)>) -> u64 {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data` is never used
[INFO] [stderr]  --> src/day21/day21.rs:6:4
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn format_data(file: &Path) -> (Vec<Vec<char>>, (i32, i32)) {
[INFO] [stderr]   |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `update_div_euclid` is never used
[INFO] [stderr]   --> src/day21/day21.rs:22:4
[INFO] [stderr]    |
[INFO] [stderr] 22 | fn update_div_euclid(map: &mut HashMap<(i32, i32), HashSet<(i32, i32)>>, point: (i32, i32), x_len: i32, y_len: i32) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_garden_plots` is never used
[INFO] [stderr]   --> src/day21/day21.rs:37:4
[INFO] [stderr]    |
[INFO] [stderr] 37 | fn get_garden_plots(data: Vec<Vec<char>>, start: (i32, i32), step: i32) -> u64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data` is never used
[INFO] [stderr]  --> src/day22/day22.rs:6:4
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn format_data(file: &Path) -> Vec<Vec<i32>> {
[INFO] [stderr]   |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `overlap` is never used
[INFO] [stderr]   --> src/day22/day22.rs:28:4
[INFO] [stderr]    |
[INFO] [stderr] 28 | fn overlap(a: &Vec<i32>, b: &Vec<i32>) -> bool {
[INFO] [stderr]    |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_bricks` is never used
[INFO] [stderr]   --> src/day22/day22.rs:32:4
[INFO] [stderr]    |
[INFO] [stderr] 32 | fn get_bricks(bricks: &mut Vec<Vec<i32>>) -> u64 {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_bricks2` is never used
[INFO] [stderr]   --> src/day22/day22.rs:73:4
[INFO] [stderr]    |
[INFO] [stderr] 73 | fn get_bricks2(bricks: &mut Vec<Vec<i32>>) -> u64 {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data` is never used
[INFO] [stderr]  --> src/day23/day23.rs:6:4
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn format_data(file: &Path) -> Vec<Vec<char>> {
[INFO] [stderr]   |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `bread_first_search` is never used
[INFO] [stderr]   --> src/day23/day23.rs:17:4
[INFO] [stderr]    |
[INFO] [stderr] 17 | fn bread_first_search(mark: Vec<(usize, usize)> , map: &Vec<Vec<char>>, start: (usize, usize), end: (usize, usize), result: &mut HashSet<...
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_longest_hikes` is never used
[INFO] [stderr]   --> src/day23/day23.rs:51:4
[INFO] [stderr]    |
[INFO] [stderr] 51 | fn get_longest_hikes(map: Vec<Vec<char>>) -> usize {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `bread_first_search2` is never used
[INFO] [stderr]   --> src/day23/day23.rs:62:4
[INFO] [stderr]    |
[INFO] [stderr] 62 | fn bread_first_search2(mark: &mut Vec<(usize, usize)> , map: &Vec<Vec<char>>, start: (usize, usize), end: (usize, usize), result: &mut Ha...
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_longest_hikes2` is never used
[INFO] [stderr]   --> src/day23/day23.rs:81:4
[INFO] [stderr]    |
[INFO] [stderr] 81 | fn get_longest_hikes2(map: Vec<Vec<char>>) -> usize {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Hailstone` is never constructed
[INFO] [stderr]   --> src/day24/day24.rs:11:8
[INFO] [stderr]    |
[INFO] [stderr] 11 | struct Hailstone {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/day24/day24.rs:24:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | impl Hailstone {
[INFO] [stderr]    | -------------- associated function in this implementation
[INFO] [stderr] 24 |     fn new(sx: i128, sy: i128, _sz: i128, vx: i128, vy: i128, _vz: i128) -> Hailstone {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_data` is never used
[INFO] [stderr]   --> src/day24/day24.rs:32:4
[INFO] [stderr]    |
[INFO] [stderr] 32 | fn format_data(file: &Path) -> Vec<Hailstone> {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_intersections1` is never used
[INFO] [stderr]   --> src/day24/day24.rs:46:4
[INFO] [stderr]    |
[INFO] [stderr] 46 | fn get_intersections1(hailstones: Vec<Hailstone> ) -> i128 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_intersections2` is never used
[INFO] [stderr]   --> src/day24/day24.rs:70:4
[INFO] [stderr]    |
[INFO] [stderr] 70 | fn get_intersections2(hailstones: Vec<Hailstone> ) -> i128 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_lines` is never used
[INFO] [stderr]  --> src/utils.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn read_lines<P>(filename: P) -> io::Result<io::Lines<io::BufReader<File>>>
[INFO] [stderr]   |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `adventofcode-2023` (lib) generated 94 warnings
[INFO] [stderr] warning: `adventofcode-2023` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/adventofcode_2023-386489f6882f7d76)
[INFO] [stdout] 
[INFO] [stdout] running 99 tests
[INFO] [stdout] test day11::day11::day11_tests::day11_1_test ... ok
[INFO] [stdout] test day10::day10::day10_tests::day10_1_test ... ok
[INFO] [stdout] test day10::day10::day10_tests::day10_2_test ... ok
[INFO] [stdout] test day11::day11::day11_tests::day11_2_test ... ok
[INFO] [stdout] test day12::day12::day12_tests::day12_1_test ... ok
[INFO] [stdout] test day12::day12::day12_tests::day12_2_test ... ok
[INFO] [stdout] test day13::day13::day13_tests::day13_1_test ... ok
[INFO] [stdout] test day13::day13::day13_tests::day13_1_answer ... ok
[INFO] [stdout] test day13::day13::day13_tests::day13_2_test ... ok
[INFO] [stdout] test day13::day13::day13_tests::day13_3_test ... ok
[INFO] [stdout] test day13::day13::day13_tests::day13_4_test ... ok
[INFO] [stdout] test day13::day13::day13_tests::day13_5_test ... ok
[INFO] [stdout] test day14::day14::day14_tests::day14_1_answer ... ok
[INFO] [stdout] test day14::day14::day14_tests::day14_1_test ... ok
[INFO] [stdout] test day13::day13::day13_tests::day13_2_answer ... ok
[INFO] [stdout] test day14::day14::day14_tests::day14_2_test ... ok
[INFO] [stdout] test day11::day11::day11_tests::day11_1_answer ... ok
[INFO] [stdout] test day15::day15::day15_tests::day15_1_answer ... ok
[INFO] [stdout] test day11::day11::day11_tests::day11_2_answer ... FAILED
[INFO] [stdout] test day15::day15::day15_tests::day15_1_test ... FAILED
[INFO] [stdout] test day15::day15::day15_tests::day15_2_answer ... FAILED
[INFO] [stdout] test day15::day15::day15_tests::day15_2_test ... ok
[INFO] [stdout] test day16::day16::day16_tests::day16_1_test ... ok
[INFO] [stdout] test day16::day16::day16_tests::day16_2_test ... ok
[INFO] [stdout] test day12::day12::day12_tests::day12_1_answer ... ok
[INFO] [stdout] test day16::day16::day16_tests::day16_1_answer ... ok
[INFO] [stdout] test day10::day10::day10_tests::day10_1_answer ... ok
[INFO] [stdout] test day17::day17::day17_tests::day17_2_test ... ok
[INFO] [stdout] test day17::day17::day17_tests::day17_1_test ... ok
[INFO] [stdout] test day18::day18::day18_tests::day18_1_test ... ok
[INFO] [stdout] test day10::day10::day10_tests::day10_2_answer ... ok
[INFO] [stdout] test day18::day18::day18_tests::day18_2_test ... ok
[INFO] [stdout] test day18::day18::day18_tests::day18_2_answer ... ok
[INFO] [stdout] test day19::day19::day19_tests::day19_1_test ... ok
[INFO] [stdout] test day19::day19::day19_tests::day19_1_answer ... ok
[INFO] [stdout] test day19::day19::day19_tests::day19_2_test ... ok
[INFO] [stdout] test day1::day1::day1_tests::day1_1_answer ... ok
[INFO] [stdout] test day1::day1::day1_tests::day1_1_test ... ok
[INFO] [stdout] test day1::day1::day1_tests::day1_2_answer ... ok
[INFO] [stdout] test day1::day1::day1_tests::day1_2_test ... ok
[INFO] [stdout] test day19::day19::day19_tests::day19_2_answer ... ok
[INFO] [stdout] test day20::day20::day20_tests::day20_1_answer ... ok
[INFO] [stdout] test day20::day20::day20_tests::day20_1_test ... ok
[INFO] [stdout] test day20::day20::day20_tests::day20_2_test ... ok
[INFO] [stdout] test day20::day20::day20_tests::day20_2_answer ... ok
[INFO] [stdout] test day21::day21::day21_tests::day21_1_test ... FAILED
[INFO] [stdout] test day21::day21::day21_tests::day21_2_answer ... FAILED
[INFO] [stdout] test day21::day21::day21_tests::day21_1_answer ... FAILED
[INFO] [stdout] test day18::day18::day18_tests::day18_1_answer ... ok
[INFO] [stdout] test day22::day22::day22_tests::day22_1_test ... ok
[INFO] [stdout] test day22::day22::day22_tests::day22_1_answer ... FAILED
[INFO] [stdout] test day22::day22::day22_tests::day22_2_test ... ok
[INFO] [stdout] test day14::day14::day14_tests::day14_2_answer ... ok
[INFO] [stdout] test day23::day23::day23_tests::day23_1_test ... ok
[INFO] [stderr] 
[INFO] [stderr] thread 'day23::day23::day23_tests::day23_2_answer' has overflowed its stack
[INFO] [stderr] fatal runtime error: stack overflow
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/adventofcode_2023-386489f6882f7d76` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "72c66729fc21e6cf0f9b9aef21af1ccb3fb0ba926309b7760d482be7c161f84f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "72c66729fc21e6cf0f9b9aef21af1ccb3fb0ba926309b7760d482be7c161f84f", kill_on_drop: false }`
[INFO] [stdout] 72c66729fc21e6cf0f9b9aef21af1ccb3fb0ba926309b7760d482be7c161f84f
