[INFO] cloning repository https://github.com/ArjobanSingh/Rust-Advent-of-Code-2024
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ArjobanSingh/Rust-Advent-of-Code-2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArjobanSingh%2FRust-Advent-of-Code-2024", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArjobanSingh%2FRust-Advent-of-Code-2024'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dc79d87d98801f5cbdd9c320e27d670c4d573606
[INFO] testing ArjobanSingh/Rust-Advent-of-Code-2024 against master#d98a5da813da67eb189387b8ccfb73cf481275d8+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArjobanSingh%2FRust-Advent-of-Code-2024" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ArjobanSingh/Rust-Advent-of-Code-2024
[INFO] finished tweaking git repo https://github.com/ArjobanSingh/Rust-Advent-of-Code-2024
[INFO] tweaked toml for git repo https://github.com/ArjobanSingh/Rust-Advent-of-Code-2024 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ArjobanSingh/Rust-Advent-of-Code-2024 on toolchain d98a5da813da67eb189387b8ccfb73cf481275d8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ArjobanSingh/Rust-Advent-of-Code-2024 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 396722d2eda0db7c37bdc711b9cbde553527c447929e17718c998f8c65f32c75
[INFO] running `Command { std: "docker" "start" "-a" "396722d2eda0db7c37bdc711b9cbde553527c447929e17718c998f8c65f32c75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "396722d2eda0db7c37bdc711b9cbde553527c447929e17718c998f8c65f32c75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "396722d2eda0db7c37bdc711b9cbde553527c447929e17718c998f8c65f32c75", kill_on_drop: false }`
[INFO] [stdout] 396722d2eda0db7c37bdc711b9cbde553527c447929e17718c998f8c65f32c75
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0afede800c407ff626c07a7bb3ab680e410bfdc00dc78f1f182ab6a6602712ef
[INFO] running `Command { std: "docker" "start" "-a" "0afede800c407ff626c07a7bb3ab680e410bfdc00dc78f1f182ab6a6602712ef", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling advent-of-code-24 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `challenge_1::get_distance_bw_lists`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use challenge_1::get_distance_bw_lists;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_10::topographic_map_search`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use challenge_10::topographic_map_search;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_11::stone_count`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use challenge_11::stone_count;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_12::garden_groups`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use challenge_12::garden_groups;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_13::min_tokens`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use challenge_13::min_tokens;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_14::restroom_redoubt`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use challenge_14::restroom_redoubt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_15::warehouse_woes`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use challenge_15::warehouse_woes;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_16::reindeer_olympics`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use challenge_16::reindeer_olympics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_18::ram_run`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use challenge_18::ram_run;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_2::get_safe_reports_count`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use challenge_2::get_safe_reports_count;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_3::get_uncorrupted_mul_ans`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use challenge_3::get_uncorrupted_mul_ans;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_5::correct_page_order_sum as correct_page_order_sum_puz_1`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use challenge_5::correct_page_order_sum as correct_page_order_sum_puz_1;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_6::get_guard_distinct_pos_size`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use challenge_6::get_guard_distinct_pos_size;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_7::bridge_repair_puz`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use challenge_7::bridge_repair_puz;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_8::resonant_collinearity`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use challenge_8::resonant_collinearity;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_9::disk_fragmenter`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use challenge_9::disk_fragmenter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cmp`
[INFO] [stdout]  --> src/challenge_13.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     cmp,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_distance_bw_lists` is never used
[INFO] [stdout]  --> src/challenge_1.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn get_distance_bw_lists(file_path: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIR` is never used
[INFO] [stdout]  --> src/challenge_10.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const DIR: [(isize, isize); 4] = [(-1, 0), (0, 1), (1, 0), (0, -1)];
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_trails` is never used
[INFO] [stdout]   --> src/challenge_10.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn find_trails(matrix: &mut Vec<Vec<u8>>, cell: (usize, usize), result: &mut i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `topographic_map_search` is never used
[INFO] [stdout]   --> src/challenge_10.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn topographic_map_search(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N` is never used
[INFO] [stdout]  --> src/challenge_11.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const N: u16 = 75;
[INFO] [stdout]   |       ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_is_even_digits` is never used
[INFO] [stdout]  --> src/challenge_11.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn get_is_even_digits(mut num: u64) -> (bool, u32) {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_num_at_mid` is never used
[INFO] [stdout]   --> src/challenge_11.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn split_num_at_mid(num: u64, digits: u32) -> (u64, u64) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transform_nums` is never used
[INFO] [stdout]   --> src/challenge_11.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn transform_nums(num: u64, count: u64, map: &mut HashMap<u64, u64>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stone_count` is never used
[INFO] [stdout]   --> src/challenge_11.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn stone_count(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIRCTIONS` is never used
[INFO] [stdout]  --> src/challenge_12.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const DIRCTIONS: [(i32, i32); 4] = [(-1, 0), (0, 1), (1, 0), (0, -1)];
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uniq_idx` is never used
[INFO] [stdout]  --> src/challenge_12.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn get_uniq_idx(r: usize, c: usize, cols: usize) -> usize {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inside` is never used
[INFO] [stdout]   --> src/challenge_12.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn inside(cell: (i32, i32), grid_size: (i32, i32)) -> bool {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_same_neighbour` is never used
[INFO] [stdout]   --> src/challenge_12.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn is_same_neighbour(matrix: &Vec<String>, dir: (i32, i32), cell: (i32, i32)) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_ans_for_cells` is never used
[INFO] [stdout]   --> src/challenge_12.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn find_ans_for_cells(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `garden_groups` is never used
[INFO] [stdout]   --> src/challenge_12.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn garden_groups(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COST_A` is never used
[INFO] [stdout]  --> src/challenge_13.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const COST_A: i64 = 3;
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COST_B` is never used
[INFO] [stdout]  --> src/challenge_13.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const COST_B: i64 = 1;
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_TO_ADD` is never used
[INFO] [stdout]   --> src/challenge_13.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const NUM_TO_ADD: i64 = 10_000_000_000_000;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Coord` is never constructed
[INFO] [stdout]   --> src/challenge_13.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Coord {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Game` is never constructed
[INFO] [stdout]   --> src/challenge_13.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct Game {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_min_comb` is never used
[INFO] [stdout]   --> src/challenge_13.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn get_min_comb(game: &Game) -> Option<i64> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `min_tokens` is never used
[INFO] [stdout]   --> src/challenge_13.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn min_tokens(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Coord` is never constructed
[INFO] [stdout]  --> src/challenge_14.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct Coord {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Robot` is never constructed
[INFO] [stdout]   --> src/challenge_14.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Robot {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H` is never used
[INFO] [stdout]   --> src/challenge_14.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const H: i32 = 103; // no. of rows
[INFO] [stdout]    |       ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W` is never used
[INFO] [stdout]   --> src/challenge_14.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const W: i32 = 101; // no. of cols
[INFO] [stdout]    |       ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_value` is never used
[INFO] [stdout]   --> src/challenge_14.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn get_value(pos: i32, velocity: i32, max: i32) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_robot` is never used
[INFO] [stdout]   --> src/challenge_14.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn move_robot(robot: &mut Robot) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_robot_matrix` is never used
[INFO] [stdout]   --> src/challenge_14.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn print_robot_matrix(robots: &Vec<Robot>, index: i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restroom_redoubt` is never used
[INFO] [stdout]   --> src/challenge_14.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn restroom_redoubt(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROBOT` is never used
[INFO] [stdout]  --> src/challenge_15.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const ROBOT: char = '@';
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOX` is never used
[INFO] [stdout]  --> src/challenge_15.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const BOX: char = 'O';
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOX_START` is never used
[INFO] [stdout]  --> src/challenge_15.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const BOX_START: char = '[';
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOX_END` is never used
[INFO] [stdout]  --> src/challenge_15.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const BOX_END: char = ']';
[INFO] [stdout]   |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WALL` is never used
[INFO] [stdout]   --> src/challenge_15.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const WALL: char = '#';
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPACE` is never used
[INFO] [stdout]   --> src/challenge_15.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const SPACE: char = '.';
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]   --> src/challenge_15.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Direction {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `to_offset` are never used
[INFO] [stdout]   --> src/challenge_15.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Direction {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 23 |     fn new(direction: char) -> Option<Self> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn to_offset(&self) -> (i32, i32) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inside` is never used
[INFO] [stdout]   --> src/challenge_15.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn inside(matrix: &Vec<Vec<char>>, position: (i32, i32)) -> bool {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_horizontal` is never used
[INFO] [stdout]   --> src/challenge_15.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn move_horizontal(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_vertical` is never used
[INFO] [stdout]   --> src/challenge_15.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn move_vertical(
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `can_move_vertical` is never used
[INFO] [stdout]    --> src/challenge_15.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn can_move_vertical(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_robot_in_matrix` is never used
[INFO] [stdout]    --> src/challenge_15.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn move_robot_in_matrix(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `warehouse_woes` is never used
[INFO] [stdout]    --> src/challenge_15.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub fn warehouse_woes(file_path: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROBOT` is never used
[INFO] [stdout]  --> src/challenge_16.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const ROBOT: char = 'S';
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WALL` is never used
[INFO] [stdout]   --> src/challenge_16.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const WALL: char = '#';
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `END` is never used
[INFO] [stdout]   --> src/challenge_16.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const END: char = 'E';
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROTATE_COST` is never used
[INFO] [stdout]   --> src/challenge_16.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const ROTATE_COST: i32 = 1000;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]   --> src/challenge_16.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Direction {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NeighbourPath` is never constructed
[INFO] [stdout]   --> src/challenge_16.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct NeighbourPath {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_direction_idx`, `get_opposite_dir`, `get_neighbour_path`, and `to_offset` are never used
[INFO] [stdout]    --> src/challenge_16.rs:29:8
[INFO] [stdout]     |
[INFO] [stdout] 28  | impl Direction {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] 29  |     fn get_direction_idx(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38  |     fn get_opposite_dir(&self) -> Direction {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47  |     fn get_neighbour_path(&self) -> [NeighbourPath; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     fn to_offset(&self) -> (i32, i32) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `State` is never constructed
[INFO] [stdout]    --> src/challenge_16.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | struct State {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_nodes_in_path` is never used
[INFO] [stdout]    --> src/challenge_16.rs:165:8
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub fn print_nodes_in_path(matrix: &Vec<Vec<char>>, nodes: &HashSet<(i32, i32)>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `backtrack_single_best_path` is never used
[INFO] [stdout]    --> src/challenge_16.rs:180:8
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub fn backtrack_single_best_path(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uniq_idx_with_dir` is never used
[INFO] [stdout]    --> src/challenge_16.rs:224:4
[INFO] [stdout]     |
[INFO] [stdout] 224 | fn get_uniq_idx_with_dir(r: i32, c: i32, cols: i32, dir: Direction) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inside` is never used
[INFO] [stdout]    --> src/challenge_16.rs:228:4
[INFO] [stdout]     |
[INFO] [stdout] 228 | fn inside(matrix: &Vec<Vec<char>>, position: (i32, i32)) -> bool {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_shortest_correct_path` is never used
[INFO] [stdout]    --> src/challenge_16.rs:237:4
[INFO] [stdout]     |
[INFO] [stdout] 237 | fn find_shortest_correct_path(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_min_node_dist_for_node` is never used
[INFO] [stdout]    --> src/challenge_16.rs:317:4
[INFO] [stdout]     |
[INFO] [stdout] 317 | fn get_min_node_dist_for_node(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reindeer_olympics` is never used
[INFO] [stdout]    --> src/challenge_16.rs:336:8
[INFO] [stdout]     |
[INFO] [stdout] 336 | pub fn reindeer_olympics(file_path: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WALL` is never used
[INFO] [stdout]  --> src/challenge_18.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const WALL: char = '#';
[INFO] [stdout]   |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROWS` is never used
[INFO] [stdout]  --> src/challenge_18.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const ROWS: i32 = 71;
[INFO] [stdout]   |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COLS` is never used
[INFO] [stdout]   --> src/challenge_18.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const COLS: i32 = 71;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BREAK_AT` is never used
[INFO] [stdout]   --> src/challenge_18.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const BREAK_AT: i32 = 1024;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIRS` is never used
[INFO] [stdout]   --> src/challenge_18.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const DIRS: [(i32, i32); 4] = [(-1, 0), (0, 1), (1, 0), (0, -1)];
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `State` is never constructed
[INFO] [stdout]   --> src/challenge_18.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct State {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uniq_idx` is never used
[INFO] [stdout]   --> src/challenge_18.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn get_uniq_idx(r: i32, c: i32, cols: i32) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inside` is never used
[INFO] [stdout]   --> src/challenge_18.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn inside(matrix: &Vec<Vec<char>>, position: (i32, i32)) -> bool {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_if_shortest_path_available` is never used
[INFO] [stdout]   --> src/challenge_18.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn check_if_shortest_path_available(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ram_run` is never used
[INFO] [stdout]    --> src/challenge_18.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub fn ram_run(file_path: &str) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INC` is never used
[INFO] [stdout]  --> src/challenge_2.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const INC: &'static str = "Increasing";
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEC` is never used
[INFO] [stdout]  --> src/challenge_2.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const DEC: &'static str = "Decreasing";
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_if_safe_vector` is never used
[INFO] [stdout]  --> src/challenge_2.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn check_if_safe_vector(levels: &Vec<i8>, ignore_idx_option: Option<usize>) -> bool {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_safe_reports_count` is never used
[INFO] [stdout]   --> src/challenge_2.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn get_safe_reports_count(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_safe_reports_count_ch_1` is never used
[INFO] [stdout]    --> src/challenge_2.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn get_safe_reports_count_ch_1(file_path: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHECK_STR` is never used
[INFO] [stdout]  --> src/challenge_3.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const CHECK_STR: &'static str = "mul(";
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_product_if_valid` is never used
[INFO] [stdout]  --> src/challenge_3.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn get_product_if_valid(text: &str, idx: usize) -> Option<u32> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_largest_smaller_than_x` is never used
[INFO] [stdout]   --> src/challenge_3.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn find_largest_smaller_than_x(arr: &Vec<usize>, x: usize) -> Option<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uncorrupted_mul_ans` is never used
[INFO] [stdout]   --> src/challenge_3.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn get_uncorrupted_mul_ans(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uncorrupted_mul_ans_puzzle_1` is never used
[INFO] [stdout]    --> src/challenge_3.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn get_uncorrupted_mul_ans_puzzle_1(file_path: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_in_diagonals` is never used
[INFO] [stdout]  --> src/challenge_4.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn check_in_diagonals(matrix: &Vec<Vec<char>>, result: &mut usize) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_for_xmas` is never used
[INFO] [stdout]   --> src/challenge_4.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn search_for_xmas(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_xmas_count` is never used
[INFO] [stdout]   --> src/challenge_4.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn get_xmas_count(text: String) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_for_xmas_part_1` is never used
[INFO] [stdout]   --> src/challenge_4.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn search_for_xmas_part_1(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `correct_page_order_sum` is never used
[INFO] [stdout]   --> src/challenge_5.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn correct_page_order_sum(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TARGET_CHAR` is never used
[INFO] [stdout]  --> src/challenge_6.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const TARGET_CHAR: char = '^';
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCKER` is never used
[INFO] [stdout]  --> src/challenge_6.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const BLOCKER: char = '#';
[INFO] [stdout]   |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIR` is never used
[INFO] [stdout]  --> src/challenge_6.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const DIR: [(isize, isize); 4] = [(-1, 0), (0, 1), (1, 0), (0, -1)];
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uniq_idx` is never used
[INFO] [stdout]   --> src/challenge_6.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn get_uniq_idx(r: isize, c: isize, cols: isize, dir: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_guard_distinct_pos_size` is never used
[INFO] [stdout]   --> src/challenge_6.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn get_guard_distinct_pos_size(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUM` is never used
[INFO] [stdout]  --> src/challenge_7.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const SUM: char = '+';
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROD` is never used
[INFO] [stdout]  --> src/challenge_7.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const PROD: char = '*';
[INFO] [stdout]   |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `JOIN` is never used
[INFO] [stdout]  --> src/challenge_7.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const JOIN: char = '|';
[INFO] [stdout]   |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_operator_combinations` is never used
[INFO] [stdout]   --> src/challenge_7.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn get_operator_combinations(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bridge_repair_puz` is never used
[INFO] [stdout]   --> src/challenge_7.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn bridge_repair_puz(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]  --> src/challenge_8.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | enum Direction {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_offset` is never used
[INFO] [stdout]   --> src/challenge_8.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Direction {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 20 |     /// Get the matrix value (row, col) for the direction
[INFO] [stdout] 21 |     fn to_offset(self) -> (isize, isize) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uniq_idx` is never used
[INFO] [stdout]   --> src/challenge_8.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn get_uniq_idx(r: usize, c: usize, cols: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_direction` is never used
[INFO] [stdout]   --> src/challenge_8.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn get_direction(cell: (usize, usize), position: (usize, usize)) -> Option<Direction> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_is_antinode_on_cell` is never used
[INFO] [stdout]   --> src/challenge_8.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn get_is_antinode_on_cell(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resonant_collinearity` is never used
[INFO] [stdout]    --> src/challenge_8.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn resonant_collinearity(file_path: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Item` is never constructed
[INFO] [stdout]  --> src/challenge_9.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Item {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rearrange_none_at_end` is never used
[INFO] [stdout]   --> src/challenge_9.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn rearrange_none_at_end(vec: &mut Vec<Option<Item>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `disk_fragmenter` is never used
[INFO] [stdout]   --> src/challenge_9.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn disk_fragmenter(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/challenge_4.rs:119:29
[INFO] [stdout]     |
[INFO] [stdout] 119 |         while row < rows && current_col >= 0 {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.17s
[INFO] running `Command { std: "docker" "inspect" "0afede800c407ff626c07a7bb3ab680e410bfdc00dc78f1f182ab6a6602712ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0afede800c407ff626c07a7bb3ab680e410bfdc00dc78f1f182ab6a6602712ef", kill_on_drop: false }`
[INFO] [stdout] 0afede800c407ff626c07a7bb3ab680e410bfdc00dc78f1f182ab6a6602712ef
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f499404704a80e45bc8631a21de343bee249e183eec742eb2004ae608fc3e7d4
[INFO] running `Command { std: "docker" "start" "-a" "f499404704a80e45bc8631a21de343bee249e183eec742eb2004ae608fc3e7d4", kill_on_drop: false }`
[INFO] [stderr]    Compiling advent-of-code-24 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `challenge_1::get_distance_bw_lists`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use challenge_1::get_distance_bw_lists;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_10::topographic_map_search`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use challenge_10::topographic_map_search;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_11::stone_count`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use challenge_11::stone_count;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_12::garden_groups`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use challenge_12::garden_groups;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_13::min_tokens`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use challenge_13::min_tokens;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_14::restroom_redoubt`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use challenge_14::restroom_redoubt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_15::warehouse_woes`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use challenge_15::warehouse_woes;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_16::reindeer_olympics`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use challenge_16::reindeer_olympics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_18::ram_run`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use challenge_18::ram_run;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_2::get_safe_reports_count`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use challenge_2::get_safe_reports_count;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_3::get_uncorrupted_mul_ans`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use challenge_3::get_uncorrupted_mul_ans;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_5::correct_page_order_sum as correct_page_order_sum_puz_1`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use challenge_5::correct_page_order_sum as correct_page_order_sum_puz_1;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_6::get_guard_distinct_pos_size`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use challenge_6::get_guard_distinct_pos_size;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_7::bridge_repair_puz`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use challenge_7::bridge_repair_puz;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_8::resonant_collinearity`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use challenge_8::resonant_collinearity;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `challenge_9::disk_fragmenter`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use challenge_9::disk_fragmenter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cmp`
[INFO] [stdout]  --> src/challenge_13.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     cmp,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_distance_bw_lists` is never used
[INFO] [stdout]  --> src/challenge_1.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn get_distance_bw_lists(file_path: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIR` is never used
[INFO] [stdout]  --> src/challenge_10.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const DIR: [(isize, isize); 4] = [(-1, 0), (0, 1), (1, 0), (0, -1)];
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_trails` is never used
[INFO] [stdout]   --> src/challenge_10.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn find_trails(matrix: &mut Vec<Vec<u8>>, cell: (usize, usize), result: &mut i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `topographic_map_search` is never used
[INFO] [stdout]   --> src/challenge_10.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn topographic_map_search(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N` is never used
[INFO] [stdout]  --> src/challenge_11.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const N: u16 = 75;
[INFO] [stdout]   |       ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_is_even_digits` is never used
[INFO] [stdout]  --> src/challenge_11.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn get_is_even_digits(mut num: u64) -> (bool, u32) {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_num_at_mid` is never used
[INFO] [stdout]   --> src/challenge_11.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn split_num_at_mid(num: u64, digits: u32) -> (u64, u64) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transform_nums` is never used
[INFO] [stdout]   --> src/challenge_11.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn transform_nums(num: u64, count: u64, map: &mut HashMap<u64, u64>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stone_count` is never used
[INFO] [stdout]   --> src/challenge_11.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn stone_count(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIRCTIONS` is never used
[INFO] [stdout]  --> src/challenge_12.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const DIRCTIONS: [(i32, i32); 4] = [(-1, 0), (0, 1), (1, 0), (0, -1)];
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uniq_idx` is never used
[INFO] [stdout]  --> src/challenge_12.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn get_uniq_idx(r: usize, c: usize, cols: usize) -> usize {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inside` is never used
[INFO] [stdout]   --> src/challenge_12.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn inside(cell: (i32, i32), grid_size: (i32, i32)) -> bool {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_same_neighbour` is never used
[INFO] [stdout]   --> src/challenge_12.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn is_same_neighbour(matrix: &Vec<String>, dir: (i32, i32), cell: (i32, i32)) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_ans_for_cells` is never used
[INFO] [stdout]   --> src/challenge_12.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn find_ans_for_cells(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `garden_groups` is never used
[INFO] [stdout]   --> src/challenge_12.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn garden_groups(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COST_A` is never used
[INFO] [stdout]  --> src/challenge_13.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const COST_A: i64 = 3;
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COST_B` is never used
[INFO] [stdout]  --> src/challenge_13.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const COST_B: i64 = 1;
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_TO_ADD` is never used
[INFO] [stdout]   --> src/challenge_13.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const NUM_TO_ADD: i64 = 10_000_000_000_000;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Coord` is never constructed
[INFO] [stdout]   --> src/challenge_13.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Coord {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Game` is never constructed
[INFO] [stdout]   --> src/challenge_13.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct Game {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_min_comb` is never used
[INFO] [stdout]   --> src/challenge_13.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn get_min_comb(game: &Game) -> Option<i64> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `min_tokens` is never used
[INFO] [stdout]   --> src/challenge_13.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn min_tokens(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Coord` is never constructed
[INFO] [stdout]  --> src/challenge_14.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct Coord {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Robot` is never constructed
[INFO] [stdout]   --> src/challenge_14.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Robot {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H` is never used
[INFO] [stdout]   --> src/challenge_14.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const H: i32 = 103; // no. of rows
[INFO] [stdout]    |       ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W` is never used
[INFO] [stdout]   --> src/challenge_14.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const W: i32 = 101; // no. of cols
[INFO] [stdout]    |       ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_value` is never used
[INFO] [stdout]   --> src/challenge_14.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn get_value(pos: i32, velocity: i32, max: i32) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_robot` is never used
[INFO] [stdout]   --> src/challenge_14.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn move_robot(robot: &mut Robot) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_robot_matrix` is never used
[INFO] [stdout]   --> src/challenge_14.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn print_robot_matrix(robots: &Vec<Robot>, index: i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restroom_redoubt` is never used
[INFO] [stdout]   --> src/challenge_14.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn restroom_redoubt(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROBOT` is never used
[INFO] [stdout]  --> src/challenge_15.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const ROBOT: char = '@';
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOX` is never used
[INFO] [stdout]  --> src/challenge_15.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const BOX: char = 'O';
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOX_START` is never used
[INFO] [stdout]  --> src/challenge_15.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const BOX_START: char = '[';
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOX_END` is never used
[INFO] [stdout]  --> src/challenge_15.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const BOX_END: char = ']';
[INFO] [stdout]   |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WALL` is never used
[INFO] [stdout]   --> src/challenge_15.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const WALL: char = '#';
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPACE` is never used
[INFO] [stdout]   --> src/challenge_15.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const SPACE: char = '.';
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]   --> src/challenge_15.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Direction {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `to_offset` are never used
[INFO] [stdout]   --> src/challenge_15.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Direction {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 23 |     fn new(direction: char) -> Option<Self> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn to_offset(&self) -> (i32, i32) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inside` is never used
[INFO] [stdout]   --> src/challenge_15.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn inside(matrix: &Vec<Vec<char>>, position: (i32, i32)) -> bool {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_horizontal` is never used
[INFO] [stdout]   --> src/challenge_15.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn move_horizontal(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_vertical` is never used
[INFO] [stdout]   --> src/challenge_15.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn move_vertical(
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `can_move_vertical` is never used
[INFO] [stdout]    --> src/challenge_15.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn can_move_vertical(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_robot_in_matrix` is never used
[INFO] [stdout]    --> src/challenge_15.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn move_robot_in_matrix(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `warehouse_woes` is never used
[INFO] [stdout]    --> src/challenge_15.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub fn warehouse_woes(file_path: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROBOT` is never used
[INFO] [stdout]  --> src/challenge_16.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const ROBOT: char = 'S';
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WALL` is never used
[INFO] [stdout]   --> src/challenge_16.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const WALL: char = '#';
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `END` is never used
[INFO] [stdout]   --> src/challenge_16.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const END: char = 'E';
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROTATE_COST` is never used
[INFO] [stdout]   --> src/challenge_16.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const ROTATE_COST: i32 = 1000;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]   --> src/challenge_16.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Direction {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NeighbourPath` is never constructed
[INFO] [stdout]   --> src/challenge_16.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct NeighbourPath {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_direction_idx`, `get_opposite_dir`, `get_neighbour_path`, and `to_offset` are never used
[INFO] [stdout]    --> src/challenge_16.rs:29:8
[INFO] [stdout]     |
[INFO] [stdout] 28  | impl Direction {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] 29  |     fn get_direction_idx(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38  |     fn get_opposite_dir(&self) -> Direction {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47  |     fn get_neighbour_path(&self) -> [NeighbourPath; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     fn to_offset(&self) -> (i32, i32) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `State` is never constructed
[INFO] [stdout]    --> src/challenge_16.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | struct State {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_nodes_in_path` is never used
[INFO] [stdout]    --> src/challenge_16.rs:165:8
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub fn print_nodes_in_path(matrix: &Vec<Vec<char>>, nodes: &HashSet<(i32, i32)>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `backtrack_single_best_path` is never used
[INFO] [stdout]    --> src/challenge_16.rs:180:8
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub fn backtrack_single_best_path(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uniq_idx_with_dir` is never used
[INFO] [stdout]    --> src/challenge_16.rs:224:4
[INFO] [stdout]     |
[INFO] [stdout] 224 | fn get_uniq_idx_with_dir(r: i32, c: i32, cols: i32, dir: Direction) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inside` is never used
[INFO] [stdout]    --> src/challenge_16.rs:228:4
[INFO] [stdout]     |
[INFO] [stdout] 228 | fn inside(matrix: &Vec<Vec<char>>, position: (i32, i32)) -> bool {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_shortest_correct_path` is never used
[INFO] [stdout]    --> src/challenge_16.rs:237:4
[INFO] [stdout]     |
[INFO] [stdout] 237 | fn find_shortest_correct_path(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_min_node_dist_for_node` is never used
[INFO] [stdout]    --> src/challenge_16.rs:317:4
[INFO] [stdout]     |
[INFO] [stdout] 317 | fn get_min_node_dist_for_node(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reindeer_olympics` is never used
[INFO] [stdout]    --> src/challenge_16.rs:336:8
[INFO] [stdout]     |
[INFO] [stdout] 336 | pub fn reindeer_olympics(file_path: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WALL` is never used
[INFO] [stdout]  --> src/challenge_18.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const WALL: char = '#';
[INFO] [stdout]   |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROWS` is never used
[INFO] [stdout]  --> src/challenge_18.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const ROWS: i32 = 71;
[INFO] [stdout]   |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COLS` is never used
[INFO] [stdout]   --> src/challenge_18.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const COLS: i32 = 71;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BREAK_AT` is never used
[INFO] [stdout]   --> src/challenge_18.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const BREAK_AT: i32 = 1024;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIRS` is never used
[INFO] [stdout]   --> src/challenge_18.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const DIRS: [(i32, i32); 4] = [(-1, 0), (0, 1), (1, 0), (0, -1)];
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `State` is never constructed
[INFO] [stdout]   --> src/challenge_18.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct State {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uniq_idx` is never used
[INFO] [stdout]   --> src/challenge_18.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn get_uniq_idx(r: i32, c: i32, cols: i32) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inside` is never used
[INFO] [stdout]   --> src/challenge_18.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn inside(matrix: &Vec<Vec<char>>, position: (i32, i32)) -> bool {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_if_shortest_path_available` is never used
[INFO] [stdout]   --> src/challenge_18.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn check_if_shortest_path_available(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ram_run` is never used
[INFO] [stdout]    --> src/challenge_18.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub fn ram_run(file_path: &str) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INC` is never used
[INFO] [stdout]  --> src/challenge_2.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const INC: &'static str = "Increasing";
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEC` is never used
[INFO] [stdout]  --> src/challenge_2.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const DEC: &'static str = "Decreasing";
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_if_safe_vector` is never used
[INFO] [stdout]  --> src/challenge_2.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn check_if_safe_vector(levels: &Vec<i8>, ignore_idx_option: Option<usize>) -> bool {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_safe_reports_count` is never used
[INFO] [stdout]   --> src/challenge_2.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn get_safe_reports_count(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_safe_reports_count_ch_1` is never used
[INFO] [stdout]    --> src/challenge_2.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn get_safe_reports_count_ch_1(file_path: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHECK_STR` is never used
[INFO] [stdout]  --> src/challenge_3.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const CHECK_STR: &'static str = "mul(";
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_product_if_valid` is never used
[INFO] [stdout]  --> src/challenge_3.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn get_product_if_valid(text: &str, idx: usize) -> Option<u32> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_largest_smaller_than_x` is never used
[INFO] [stdout]   --> src/challenge_3.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn find_largest_smaller_than_x(arr: &Vec<usize>, x: usize) -> Option<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uncorrupted_mul_ans` is never used
[INFO] [stdout]   --> src/challenge_3.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn get_uncorrupted_mul_ans(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uncorrupted_mul_ans_puzzle_1` is never used
[INFO] [stdout]    --> src/challenge_3.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn get_uncorrupted_mul_ans_puzzle_1(file_path: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_in_diagonals` is never used
[INFO] [stdout]  --> src/challenge_4.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn check_in_diagonals(matrix: &Vec<Vec<char>>, result: &mut usize) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_for_xmas` is never used
[INFO] [stdout]   --> src/challenge_4.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn search_for_xmas(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_xmas_count` is never used
[INFO] [stdout]   --> src/challenge_4.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn get_xmas_count(text: String) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_for_xmas_part_1` is never used
[INFO] [stdout]   --> src/challenge_4.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn search_for_xmas_part_1(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `correct_page_order_sum` is never used
[INFO] [stdout]   --> src/challenge_5.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn correct_page_order_sum(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TARGET_CHAR` is never used
[INFO] [stdout]  --> src/challenge_6.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const TARGET_CHAR: char = '^';
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCKER` is never used
[INFO] [stdout]  --> src/challenge_6.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const BLOCKER: char = '#';
[INFO] [stdout]   |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIR` is never used
[INFO] [stdout]  --> src/challenge_6.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const DIR: [(isize, isize); 4] = [(-1, 0), (0, 1), (1, 0), (0, -1)];
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uniq_idx` is never used
[INFO] [stdout]   --> src/challenge_6.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn get_uniq_idx(r: isize, c: isize, cols: isize, dir: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_guard_distinct_pos_size` is never used
[INFO] [stdout]   --> src/challenge_6.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn get_guard_distinct_pos_size(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUM` is never used
[INFO] [stdout]  --> src/challenge_7.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const SUM: char = '+';
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROD` is never used
[INFO] [stdout]  --> src/challenge_7.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const PROD: char = '*';
[INFO] [stdout]   |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `JOIN` is never used
[INFO] [stdout]  --> src/challenge_7.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const JOIN: char = '|';
[INFO] [stdout]   |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_operator_combinations` is never used
[INFO] [stdout]   --> src/challenge_7.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn get_operator_combinations(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bridge_repair_puz` is never used
[INFO] [stdout]   --> src/challenge_7.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn bridge_repair_puz(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]  --> src/challenge_8.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | enum Direction {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_offset` is never used
[INFO] [stdout]   --> src/challenge_8.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Direction {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 20 |     /// Get the matrix value (row, col) for the direction
[INFO] [stdout] 21 |     fn to_offset(self) -> (isize, isize) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uniq_idx` is never used
[INFO] [stdout]   --> src/challenge_8.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn get_uniq_idx(r: usize, c: usize, cols: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_direction` is never used
[INFO] [stdout]   --> src/challenge_8.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn get_direction(cell: (usize, usize), position: (usize, usize)) -> Option<Direction> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_is_antinode_on_cell` is never used
[INFO] [stdout]   --> src/challenge_8.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn get_is_antinode_on_cell(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resonant_collinearity` is never used
[INFO] [stdout]    --> src/challenge_8.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn resonant_collinearity(file_path: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Item` is never constructed
[INFO] [stdout]  --> src/challenge_9.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Item {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rearrange_none_at_end` is never used
[INFO] [stdout]   --> src/challenge_9.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn rearrange_none_at_end(vec: &mut Vec<Option<Item>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `disk_fragmenter` is never used
[INFO] [stdout]   --> src/challenge_9.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn disk_fragmenter(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/challenge_4.rs:119:29
[INFO] [stdout]     |
[INFO] [stdout] 119 |         while row < rows && current_col >= 0 {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.56s
[INFO] running `Command { std: "docker" "inspect" "f499404704a80e45bc8631a21de343bee249e183eec742eb2004ae608fc3e7d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f499404704a80e45bc8631a21de343bee249e183eec742eb2004ae608fc3e7d4", kill_on_drop: false }`
[INFO] [stdout] f499404704a80e45bc8631a21de343bee249e183eec742eb2004ae608fc3e7d4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 62e103cbd3b1be03c64eb15f340dcfe8da4e7515323fa26d6a449355381ce24c
[INFO] running `Command { std: "docker" "start" "-a" "62e103cbd3b1be03c64eb15f340dcfe8da4e7515323fa26d6a449355381ce24c", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `challenge_1::get_distance_bw_lists`
[INFO] [stderr]  --> src/main.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use challenge_1::get_distance_bw_lists;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `challenge_10::topographic_map_search`
[INFO] [stderr]  --> src/main.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use challenge_10::topographic_map_search;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `challenge_11::stone_count`
[INFO] [stderr]  --> src/main.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use challenge_11::stone_count;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `challenge_12::garden_groups`
[INFO] [stderr]  --> src/main.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use challenge_12::garden_groups;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `challenge_13::min_tokens`
[INFO] [stderr]  --> src/main.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use challenge_13::min_tokens;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `challenge_14::restroom_redoubt`
[INFO] [stderr]  --> src/main.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use challenge_14::restroom_redoubt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `challenge_15::warehouse_woes`
[INFO] [stderr]  --> src/main.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use challenge_15::warehouse_woes;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `challenge_16::reindeer_olympics`
[INFO] [stderr]  --> src/main.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use challenge_16::reindeer_olympics;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `challenge_18::ram_run`
[INFO] [stderr]  --> src/main.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use challenge_18::ram_run;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `challenge_2::get_safe_reports_count`
[INFO] [stderr]   --> src/main.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use challenge_2::get_safe_reports_count;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `challenge_3::get_uncorrupted_mul_ans`
[INFO] [stderr]   --> src/main.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use challenge_3::get_uncorrupted_mul_ans;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `challenge_5::correct_page_order_sum as correct_page_order_sum_puz_1`
[INFO] [stderr]   --> src/main.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use challenge_5::correct_page_order_sum as correct_page_order_sum_puz_1;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `challenge_6::get_guard_distinct_pos_size`
[INFO] [stderr]   --> src/main.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use challenge_6::get_guard_distinct_pos_size;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `challenge_7::bridge_repair_puz`
[INFO] [stderr]   --> src/main.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use challenge_7::bridge_repair_puz;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `challenge_8::resonant_collinearity`
[INFO] [stderr]   --> src/main.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use challenge_8::resonant_collinearity;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `challenge_9::disk_fragmenter`
[INFO] [stderr]   --> src/main.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | use challenge_9::disk_fragmenter;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `cmp`
[INFO] [stderr]  --> src/challenge_13.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     cmp,
[INFO] [stderr]   |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_distance_bw_lists` is never used
[INFO] [stderr]  --> src/challenge_1.rs:3:8
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn get_distance_bw_lists(file_path: &str) {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DIR` is never used
[INFO] [stderr]  --> src/challenge_10.rs:6:7
[INFO] [stderr]   |
[INFO] [stderr] 6 | const DIR: [(isize, isize); 4] = [(-1, 0), (0, 1), (1, 0), (0, -1)];
[INFO] [stderr]   |       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `find_trails` is never used
[INFO] [stderr]   --> src/challenge_10.rs:12:4
[INFO] [stderr]    |
[INFO] [stderr] 12 | fn find_trails(matrix: &mut Vec<Vec<u8>>, cell: (usize, usize), result: &mut i32) {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `topographic_map_search` is never used
[INFO] [stderr]   --> src/challenge_10.rs:42:8
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub fn topographic_map_search(file_path: &str) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N` is never used
[INFO] [stderr]  --> src/challenge_11.rs:7:7
[INFO] [stderr]   |
[INFO] [stderr] 7 | const N: u16 = 75;
[INFO] [stderr]   |       ^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_is_even_digits` is never used
[INFO] [stderr]  --> src/challenge_11.rs:9:4
[INFO] [stderr]   |
[INFO] [stderr] 9 | fn get_is_even_digits(mut num: u64) -> (bool, u32) {
[INFO] [stderr]   |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `split_num_at_mid` is never used
[INFO] [stderr]   --> src/challenge_11.rs:18:4
[INFO] [stderr]    |
[INFO] [stderr] 18 | fn split_num_at_mid(num: u64, digits: u32) -> (u64, u64) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `transform_nums` is never used
[INFO] [stderr]   --> src/challenge_11.rs:29:4
[INFO] [stderr]    |
[INFO] [stderr] 29 | fn transform_nums(num: u64, count: u64, map: &mut HashMap<u64, u64>) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `stone_count` is never used
[INFO] [stderr]   --> src/challenge_11.rs:47:8
[INFO] [stderr]    |
[INFO] [stderr] 47 | pub fn stone_count(file_path: &str) {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DIRCTIONS` is never used
[INFO] [stderr]  --> src/challenge_12.rs:6:7
[INFO] [stderr]   |
[INFO] [stderr] 6 | const DIRCTIONS: [(i32, i32); 4] = [(-1, 0), (0, 1), (1, 0), (0, -1)];
[INFO] [stderr]   |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_uniq_idx` is never used
[INFO] [stderr]  --> src/challenge_12.rs:8:4
[INFO] [stderr]   |
[INFO] [stderr] 8 | fn get_uniq_idx(r: usize, c: usize, cols: usize) -> usize {
[INFO] [stderr]   |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `inside` is never used
[INFO] [stderr]   --> src/challenge_12.rs:12:4
[INFO] [stderr]    |
[INFO] [stderr] 12 | fn inside(cell: (i32, i32), grid_size: (i32, i32)) -> bool {
[INFO] [stderr]    |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_same_neighbour` is never used
[INFO] [stderr]   --> src/challenge_12.rs:18:4
[INFO] [stderr]    |
[INFO] [stderr] 18 | fn is_same_neighbour(matrix: &Vec<String>, dir: (i32, i32), cell: (i32, i32)) -> bool {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `find_ans_for_cells` is never used
[INFO] [stderr]   --> src/challenge_12.rs:27:4
[INFO] [stderr]    |
[INFO] [stderr] 27 | fn find_ans_for_cells(
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `garden_groups` is never used
[INFO] [stderr]   --> src/challenge_12.rs:75:8
[INFO] [stderr]    |
[INFO] [stderr] 75 | pub fn garden_groups(file_path: &str) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `COST_A` is never used
[INFO] [stderr]  --> src/challenge_13.rs:8:7
[INFO] [stderr]   |
[INFO] [stderr] 8 | const COST_A: i64 = 3;
[INFO] [stderr]   |       ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `COST_B` is never used
[INFO] [stderr]  --> src/challenge_13.rs:9:7
[INFO] [stderr]   |
[INFO] [stderr] 9 | const COST_B: i64 = 1;
[INFO] [stderr]   |       ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NUM_TO_ADD` is never used
[INFO] [stderr]   --> src/challenge_13.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 | const NUM_TO_ADD: i64 = 10_000_000_000_000;
[INFO] [stderr]    |       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Coord` is never constructed
[INFO] [stderr]   --> src/challenge_13.rs:13:8
[INFO] [stderr]    |
[INFO] [stderr] 13 | struct Coord {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Game` is never constructed
[INFO] [stderr]   --> src/challenge_13.rs:19:8
[INFO] [stderr]    |
[INFO] [stderr] 19 | struct Game {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_min_comb` is never used
[INFO] [stderr]   --> src/challenge_13.rs:25:4
[INFO] [stderr]    |
[INFO] [stderr] 25 | fn get_min_comb(game: &Game) -> Option<i64> {
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `min_tokens` is never used
[INFO] [stderr]   --> src/challenge_13.rs:51:8
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub fn min_tokens(file_path: &str) {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Coord` is never constructed
[INFO] [stderr]  --> src/challenge_14.rs:8:8
[INFO] [stderr]   |
[INFO] [stderr] 8 | struct Coord {
[INFO] [stderr]   |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Robot` is never constructed
[INFO] [stderr]   --> src/challenge_14.rs:14:8
[INFO] [stderr]    |
[INFO] [stderr] 14 | struct Robot {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `H` is never used
[INFO] [stderr]   --> src/challenge_14.rs:19:7
[INFO] [stderr]    |
[INFO] [stderr] 19 | const H: i32 = 103; // no. of rows
[INFO] [stderr]    |       ^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `W` is never used
[INFO] [stderr]   --> src/challenge_14.rs:20:7
[INFO] [stderr]    |
[INFO] [stderr] 20 | const W: i32 = 101; // no. of cols
[INFO] [stderr]    |       ^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_value` is never used
[INFO] [stderr]   --> src/challenge_14.rs:22:4
[INFO] [stderr]    |
[INFO] [stderr] 22 | fn get_value(pos: i32, velocity: i32, max: i32) -> i32 {
[INFO] [stderr]    |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `move_robot` is never used
[INFO] [stderr]   --> src/challenge_14.rs:34:4
[INFO] [stderr]    |
[INFO] [stderr] 34 | fn move_robot(robot: &mut Robot) {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_robot_matrix` is never used
[INFO] [stderr]   --> src/challenge_14.rs:39:4
[INFO] [stderr]    |
[INFO] [stderr] 39 | fn print_robot_matrix(robots: &Vec<Robot>, index: i32) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `restroom_redoubt` is never used
[INFO] [stderr]   --> src/challenge_14.rs:81:8
[INFO] [stderr]    |
[INFO] [stderr] 81 | pub fn restroom_redoubt(file_path: &str) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ROBOT` is never used
[INFO] [stderr]  --> src/challenge_15.rs:6:7
[INFO] [stderr]   |
[INFO] [stderr] 6 | const ROBOT: char = '@';
[INFO] [stderr]   |       ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BOX` is never used
[INFO] [stderr]  --> src/challenge_15.rs:7:7
[INFO] [stderr]   |
[INFO] [stderr] 7 | const BOX: char = 'O';
[INFO] [stderr]   |       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BOX_START` is never used
[INFO] [stderr]  --> src/challenge_15.rs:8:7
[INFO] [stderr]   |
[INFO] [stderr] 8 | const BOX_START: char = '[';
[INFO] [stderr]   |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BOX_END` is never used
[INFO] [stderr]  --> src/challenge_15.rs:9:7
[INFO] [stderr]   |
[INFO] [stderr] 9 | const BOX_END: char = ']';
[INFO] [stderr]   |       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WALL` is never used
[INFO] [stderr]   --> src/challenge_15.rs:11:7
[INFO] [stderr]    |
[INFO] [stderr] 11 | const WALL: char = '#';
[INFO] [stderr]    |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SPACE` is never used
[INFO] [stderr]   --> src/challenge_15.rs:12:7
[INFO] [stderr]    |
[INFO] [stderr] 12 | const SPACE: char = '.';
[INFO] [stderr]    |       ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Direction` is never used
[INFO] [stderr]   --> src/challenge_15.rs:15:6
[INFO] [stderr]    |
[INFO] [stderr] 15 | enum Direction {
[INFO] [stderr]    |      ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `to_offset` are never used
[INFO] [stderr]   --> src/challenge_15.rs:23:8
[INFO] [stderr]    |
[INFO] [stderr] 22 | impl Direction {
[INFO] [stderr]    | -------------- associated items in this implementation
[INFO] [stderr] 23 |     fn new(direction: char) -> Option<Self> {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 33 |     fn to_offset(&self) -> (i32, i32) {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `inside` is never used
[INFO] [stderr]   --> src/challenge_15.rs:43:4
[INFO] [stderr]    |
[INFO] [stderr] 43 | fn inside(matrix: &Vec<Vec<char>>, position: (i32, i32)) -> bool {
[INFO] [stderr]    |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `move_horizontal` is never used
[INFO] [stderr]   --> src/challenge_15.rs:52:4
[INFO] [stderr]    |
[INFO] [stderr] 52 | fn move_horizontal(
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `move_vertical` is never used
[INFO] [stderr]   --> src/challenge_15.rs:81:4
[INFO] [stderr]    |
[INFO] [stderr] 81 | fn move_vertical(
[INFO] [stderr]    |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `can_move_vertical` is never used
[INFO] [stderr]    --> src/challenge_15.rs:105:4
[INFO] [stderr]     |
[INFO] [stderr] 105 | fn can_move_vertical(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `move_robot_in_matrix` is never used
[INFO] [stderr]    --> src/challenge_15.rs:131:4
[INFO] [stderr]     |
[INFO] [stderr] 131 | fn move_robot_in_matrix(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `warehouse_woes` is never used
[INFO] [stderr]    --> src/challenge_15.rs:185:8
[INFO] [stderr]     |
[INFO] [stderr] 185 | pub fn warehouse_woes(file_path: &str) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ROBOT` is never used
[INFO] [stderr]  --> src/challenge_16.rs:9:7
[INFO] [stderr]   |
[INFO] [stderr] 9 | const ROBOT: char = 'S';
[INFO] [stderr]   |       ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WALL` is never used
[INFO] [stderr]   --> src/challenge_16.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 | const WALL: char = '#';
[INFO] [stderr]    |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `END` is never used
[INFO] [stderr]   --> src/challenge_16.rs:11:7
[INFO] [stderr]    |
[INFO] [stderr] 11 | const END: char = 'E';
[INFO] [stderr]    |       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ROTATE_COST` is never used
[INFO] [stderr]   --> src/challenge_16.rs:12:7
[INFO] [stderr]    |
[INFO] [stderr] 12 | const ROTATE_COST: i32 = 1000;
[INFO] [stderr]    |       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Direction` is never used
[INFO] [stderr]   --> src/challenge_16.rs:15:6
[INFO] [stderr]    |
[INFO] [stderr] 15 | enum Direction {
[INFO] [stderr]    |      ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `NeighbourPath` is never constructed
[INFO] [stderr]   --> src/challenge_16.rs:23:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | struct NeighbourPath {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_direction_idx`, `get_opposite_dir`, `get_neighbour_path`, and `to_offset` are never used
[INFO] [stderr]    --> src/challenge_16.rs:29:8
[INFO] [stderr]     |
[INFO] [stderr] 28  | impl Direction {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] 29  |     fn get_direction_idx(&self) -> i32 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 38  |     fn get_opposite_dir(&self) -> Direction {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 47  |     fn get_neighbour_path(&self) -> [NeighbourPath; 4] {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 124 |     fn to_offset(&self) -> (i32, i32) {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `State` is never constructed
[INFO] [stderr]    --> src/challenge_16.rs:135:8
[INFO] [stderr]     |
[INFO] [stderr] 135 | struct State {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_nodes_in_path` is never used
[INFO] [stderr]    --> src/challenge_16.rs:165:8
[INFO] [stderr]     |
[INFO] [stderr] 165 | pub fn print_nodes_in_path(matrix: &Vec<Vec<char>>, nodes: &HashSet<(i32, i32)>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `backtrack_single_best_path` is never used
[INFO] [stderr]    --> src/challenge_16.rs:180:8
[INFO] [stderr]     |
[INFO] [stderr] 180 | pub fn backtrack_single_best_path(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_uniq_idx_with_dir` is never used
[INFO] [stderr]    --> src/challenge_16.rs:224:4
[INFO] [stderr]     |
[INFO] [stderr] 224 | fn get_uniq_idx_with_dir(r: i32, c: i32, cols: i32, dir: Direction) -> i32 {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `inside` is never used
[INFO] [stderr]    --> src/challenge_16.rs:228:4
[INFO] [stderr]     |
[INFO] [stderr] 228 | fn inside(matrix: &Vec<Vec<char>>, position: (i32, i32)) -> bool {
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `find_shortest_correct_path` is never used
[INFO] [stderr]    --> src/challenge_16.rs:237:4
[INFO] [stderr]     |
[INFO] [stderr] 237 | fn find_shortest_correct_path(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_min_node_dist_for_node` is never used
[INFO] [stderr]    --> src/challenge_16.rs:317:4
[INFO] [stderr]     |
[INFO] [stderr] 317 | fn get_min_node_dist_for_node(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `reindeer_olympics` is never used
[INFO] [stderr]    --> src/challenge_16.rs:336:8
[INFO] [stderr]     |
[INFO] [stderr] 336 | pub fn reindeer_olympics(file_path: &str) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WALL` is never used
[INFO] [stderr]  --> src/challenge_18.rs:8:7
[INFO] [stderr]   |
[INFO] [stderr] 8 | const WALL: char = '#';
[INFO] [stderr]   |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ROWS` is never used
[INFO] [stderr]  --> src/challenge_18.rs:9:7
[INFO] [stderr]   |
[INFO] [stderr] 9 | const ROWS: i32 = 71;
[INFO] [stderr]   |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `COLS` is never used
[INFO] [stderr]   --> src/challenge_18.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 | const COLS: i32 = 71;
[INFO] [stderr]    |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BREAK_AT` is never used
[INFO] [stderr]   --> src/challenge_18.rs:11:7
[INFO] [stderr]    |
[INFO] [stderr] 11 | const BREAK_AT: i32 = 1024;
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DIRS` is never used
[INFO] [stderr]   --> src/challenge_18.rs:13:7
[INFO] [stderr]    |
[INFO] [stderr] 13 | const DIRS: [(i32, i32); 4] = [(-1, 0), (0, 1), (1, 0), (0, -1)];
[INFO] [stderr]    |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `State` is never constructed
[INFO] [stderr]   --> src/challenge_18.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | struct State {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_uniq_idx` is never used
[INFO] [stderr]   --> src/challenge_18.rs:40:4
[INFO] [stderr]    |
[INFO] [stderr] 40 | fn get_uniq_idx(r: i32, c: i32, cols: i32) -> i32 {
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `inside` is never used
[INFO] [stderr]   --> src/challenge_18.rs:44:4
[INFO] [stderr]    |
[INFO] [stderr] 44 | fn inside(matrix: &Vec<Vec<char>>, position: (i32, i32)) -> bool {
[INFO] [stderr]    |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `check_if_shortest_path_available` is never used
[INFO] [stderr]   --> src/challenge_18.rs:53:4
[INFO] [stderr]    |
[INFO] [stderr] 53 | fn check_if_shortest_path_available(
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ram_run` is never used
[INFO] [stderr]    --> src/challenge_18.rs:115:8
[INFO] [stderr]     |
[INFO] [stderr] 115 | pub fn ram_run(file_path: &str) {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `INC` is never used
[INFO] [stderr]  --> src/challenge_2.rs:4:7
[INFO] [stderr]   |
[INFO] [stderr] 4 | const INC: &'static str = "Increasing";
[INFO] [stderr]   |       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DEC` is never used
[INFO] [stderr]  --> src/challenge_2.rs:5:7
[INFO] [stderr]   |
[INFO] [stderr] 5 | const DEC: &'static str = "Decreasing";
[INFO] [stderr]   |       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `check_if_safe_vector` is never used
[INFO] [stderr]  --> src/challenge_2.rs:7:4
[INFO] [stderr]   |
[INFO] [stderr] 7 | fn check_if_safe_vector(levels: &Vec<i8>, ignore_idx_option: Option<usize>) -> bool {
[INFO] [stderr]   |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_safe_reports_count` is never used
[INFO] [stderr]   --> src/challenge_2.rs:83:8
[INFO] [stderr]    |
[INFO] [stderr] 83 | pub fn get_safe_reports_count(file_path: &str) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_safe_reports_count_ch_1` is never used
[INFO] [stderr]    --> src/challenge_2.rs:117:8
[INFO] [stderr]     |
[INFO] [stderr] 117 | pub fn get_safe_reports_count_ch_1(file_path: &str) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CHECK_STR` is never used
[INFO] [stderr]  --> src/challenge_3.rs:3:7
[INFO] [stderr]   |
[INFO] [stderr] 3 | const CHECK_STR: &'static str = "mul(";
[INFO] [stderr]   |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_product_if_valid` is never used
[INFO] [stderr]  --> src/challenge_3.rs:5:4
[INFO] [stderr]   |
[INFO] [stderr] 5 | fn get_product_if_valid(text: &str, idx: usize) -> Option<u32> {
[INFO] [stderr]   |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `find_largest_smaller_than_x` is never used
[INFO] [stderr]   --> src/challenge_3.rs:55:4
[INFO] [stderr]    |
[INFO] [stderr] 55 | fn find_largest_smaller_than_x(arr: &Vec<usize>, x: usize) -> Option<usize> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_uncorrupted_mul_ans` is never used
[INFO] [stderr]   --> src/challenge_3.rs:76:8
[INFO] [stderr]    |
[INFO] [stderr] 76 | pub fn get_uncorrupted_mul_ans(file_path: &str) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_uncorrupted_mul_ans_puzzle_1` is never used
[INFO] [stderr]    --> src/challenge_3.rs:114:8
[INFO] [stderr]     |
[INFO] [stderr] 114 | pub fn get_uncorrupted_mul_ans_puzzle_1(file_path: &str) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `check_in_diagonals` is never used
[INFO] [stderr]  --> src/challenge_4.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn check_in_diagonals(matrix: &Vec<Vec<char>>, result: &mut usize) {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `search_for_xmas` is never used
[INFO] [stderr]   --> src/challenge_4.rs:17:8
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub fn search_for_xmas(file_path: &str) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_xmas_count` is never used
[INFO] [stderr]   --> src/challenge_4.rs:47:8
[INFO] [stderr]    |
[INFO] [stderr] 47 | pub fn get_xmas_count(text: String) -> usize {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `search_for_xmas_part_1` is never used
[INFO] [stderr]   --> src/challenge_4.rs:53:8
[INFO] [stderr]    |
[INFO] [stderr] 53 | pub fn search_for_xmas_part_1(file_path: &str) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `correct_page_order_sum` is never used
[INFO] [stderr]   --> src/challenge_5.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn correct_page_order_sum(file_path: &str) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TARGET_CHAR` is never used
[INFO] [stderr]  --> src/challenge_6.rs:6:7
[INFO] [stderr]   |
[INFO] [stderr] 6 | const TARGET_CHAR: char = '^';
[INFO] [stderr]   |       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLOCKER` is never used
[INFO] [stderr]  --> src/challenge_6.rs:7:7
[INFO] [stderr]   |
[INFO] [stderr] 7 | const BLOCKER: char = '#';
[INFO] [stderr]   |       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DIR` is never used
[INFO] [stderr]  --> src/challenge_6.rs:9:7
[INFO] [stderr]   |
[INFO] [stderr] 9 | const DIR: [(isize, isize); 4] = [(-1, 0), (0, 1), (1, 0), (0, -1)];
[INFO] [stderr]   |       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_uniq_idx` is never used
[INFO] [stderr]   --> src/challenge_6.rs:11:4
[INFO] [stderr]    |
[INFO] [stderr] 11 | fn get_uniq_idx(r: isize, c: isize, cols: isize, dir: usize) -> usize {
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_guard_distinct_pos_size` is never used
[INFO] [stderr]   --> src/challenge_6.rs:15:8
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub fn get_guard_distinct_pos_size(file_path: &str) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stderr] warning: constant `SUM` is never used
[INFO] [stdout] running 0 tests
[INFO] [stderr]  --> src/challenge_7.rs:6:7
[INFO] [stdout] 
[INFO] [stderr]   |
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr] 6 | const SUM: char = '+';
[INFO] [stdout] 
[INFO] [stderr]   |       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROD` is never used
[INFO] [stderr]  --> src/challenge_7.rs:7:7
[INFO] [stderr]   |
[INFO] [stderr] 7 | const PROD: char = '*';
[INFO] [stderr]   |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `JOIN` is never used
[INFO] [stderr]  --> src/challenge_7.rs:8:7
[INFO] [stderr]   |
[INFO] [stderr] 8 | const JOIN: char = '|';
[INFO] [stderr]   |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_operator_combinations` is never used
[INFO] [stderr]   --> src/challenge_7.rs:11:4
[INFO] [stderr]    |
[INFO] [stderr] 11 | fn get_operator_combinations(
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `bridge_repair_puz` is never used
[INFO] [stderr]   --> src/challenge_7.rs:34:8
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub fn bridge_repair_puz(file_path: &str) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Direction` is never used
[INFO] [stderr]  --> src/challenge_8.rs:8:6
[INFO] [stderr]   |
[INFO] [stderr] 8 | enum Direction {
[INFO] [stderr]   |      ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `to_offset` is never used
[INFO] [stderr]   --> src/challenge_8.rs:21:8
[INFO] [stderr]    |
[INFO] [stderr] 19 | impl Direction {
[INFO] [stderr]    | -------------- method in this implementation
[INFO] [stderr] 20 |     /// Get the matrix value (row, col) for the direction
[INFO] [stderr] 21 |     fn to_offset(self) -> (isize, isize) {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_uniq_idx` is never used
[INFO] [stderr]   --> src/challenge_8.rs:35:4
[INFO] [stderr]    |
[INFO] [stderr] 35 | fn get_uniq_idx(r: usize, c: usize, cols: usize) -> usize {
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_direction` is never used
[INFO] [stderr]   --> src/challenge_8.rs:39:4
[INFO] [stderr]    |
[INFO] [stderr] 39 | fn get_direction(cell: (usize, usize), position: (usize, usize)) -> Option<Direction> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_is_antinode_on_cell` is never used
[INFO] [stderr]   --> src/challenge_8.rs:79:4
[INFO] [stderr]    |
[INFO] [stderr] 79 | fn get_is_antinode_on_cell(
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `resonant_collinearity` is never used
[INFO] [stderr]    --> src/challenge_8.rs:121:8
[INFO] [stderr]     |
[INFO] [stderr] 121 | pub fn resonant_collinearity(file_path: &str) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Item` is never constructed
[INFO] [stderr]  --> src/challenge_9.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 | struct Item {
[INFO] [stderr]   |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `rearrange_none_at_end` is never used
[INFO] [stderr]   --> src/challenge_9.rs:14:4
[INFO] [stderr]    |
[INFO] [stderr] 14 | fn rearrange_none_at_end(vec: &mut Vec<Option<Item>>) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `disk_fragmenter` is never used
[INFO] [stderr]   --> src/challenge_9.rs:67:8
[INFO] [stderr]    |
[INFO] [stderr] 67 | pub fn disk_fragmenter(file_path: &str) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/challenge_4.rs:119:29
[INFO] [stderr]     |
[INFO] [stderr] 119 |         while row < rows && current_col >= 0 {
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `advent-of-code-24` (bin "advent-of-code-24" test) generated 121 warnings (run `cargo fix --bin "advent-of-code-24" --tests` to apply 17 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/advent_of_code_24-1a2638c5bf5ad77c)
[INFO] running `Command { std: "docker" "inspect" "62e103cbd3b1be03c64eb15f340dcfe8da4e7515323fa26d6a449355381ce24c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "62e103cbd3b1be03c64eb15f340dcfe8da4e7515323fa26d6a449355381ce24c", kill_on_drop: false }`
[INFO] [stdout] 62e103cbd3b1be03c64eb15f340dcfe8da4e7515323fa26d6a449355381ce24c
