[INFO] cloning repository https://github.com/robgev/aoc-2024-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/robgev/aoc-2024-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frobgev%2Faoc-2024-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frobgev%2Faoc-2024-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3ce02ff4d6e1d32d94b3a0805766b09f6d706777 [INFO] checking robgev/aoc-2024-rust against try#fc545c6b951a304df08b327c158f92678582f435 for pr-140557-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frobgev%2Faoc-2024-rust" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/robgev/aoc-2024-rust on toolchain fc545c6b951a304df08b327c158f92678582f435 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+fc545c6b951a304df08b327c158f92678582f435" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/robgev/aoc-2024-rust [INFO] finished tweaking git repo https://github.com/robgev/aoc-2024-rust [INFO] tweaked toml for git repo https://github.com/robgev/aoc-2024-rust written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/robgev/aoc-2024-rust 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" "+fc545c6b951a304df08b327c158f92678582f435" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+fc545c6b951a304df08b327c158f92678582f435" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a34ff33d029a8a6926ee672e47cf127cb78058fc13074eecabaa057dad309647 [INFO] running `Command { std: "docker" "start" "-a" "a34ff33d029a8a6926ee672e47cf127cb78058fc13074eecabaa057dad309647", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a34ff33d029a8a6926ee672e47cf127cb78058fc13074eecabaa057dad309647", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a34ff33d029a8a6926ee672e47cf127cb78058fc13074eecabaa057dad309647", kill_on_drop: false }` [INFO] [stdout] a34ff33d029a8a6926ee672e47cf127cb78058fc13074eecabaa057dad309647 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+fc545c6b951a304df08b327c158f92678582f435" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 33eecb8a0dbac9144c98c90de93aa6a39d98c29e58a8763e9db692794c1a08c2 [INFO] running `Command { std: "docker" "start" "-a" "33eecb8a0dbac9144c98c90de93aa6a39d98c29e58a8763e9db692794c1a08c2", kill_on_drop: false }` [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking aoc-2024-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::utils::to_num` [INFO] [stdout] --> src/day03_alt.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::utils::to_num; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/day03_alt.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/day07.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `u32` [INFO] [stdout] --> src/day07.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{fs, u32, usize}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `i64` [INFO] [stdout] --> src/day13.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{fs, i64, usize}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `thread::sleep` and `time::Duration` [INFO] [stdout] --> src/day14.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{fs, i32, thread::sleep, time::Duration, usize}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `collections::VecDeque` [INFO] [stdout] --> src/day15.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::VecDeque, fs, usize}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `print_grid` [INFO] [stdout] --> src/day16.rs:1:50 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::utils::{find_start_loc, is_in_bounds, print_grid}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VecDeque` [INFO] [stdout] --> src/day23.rs:2:37 [INFO] [stdout] | [INFO] [stdout] 2 | collections::{HashMap, HashSet, VecDeque}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::format` [INFO] [stdout] --> src/day24.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | fmt::format, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::to_num` [INFO] [stdout] --> src/day03_alt.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::utils::to_num; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/day03_alt.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/day07.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `u32` [INFO] [stdout] --> src/day07.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{fs, u32, usize}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `i64` [INFO] [stdout] --> src/day13.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{fs, i64, usize}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `thread::sleep` and `time::Duration` [INFO] [stdout] --> src/day14.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{fs, i32, thread::sleep, time::Duration, usize}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `collections::VecDeque` [INFO] [stdout] --> src/day15.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::VecDeque, fs, usize}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `print_grid` [INFO] [stdout] --> src/day16.rs:1:50 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::utils::{find_start_loc, is_in_bounds, print_grid}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VecDeque` [INFO] [stdout] --> src/day23.rs:2:37 [INFO] [stdout] | [INFO] [stdout] 2 | collections::{HashMap, HashSet, VecDeque}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::format` [INFO] [stdout] --> src/day24.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | fmt::format, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `new_vec` is never read [INFO] [stdout] --> src/day11.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let mut new_vec: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `j` [INFO] [stdout] --> src/day11.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | for j in 0..25 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `new_vec` is never read [INFO] [stdout] --> src/day11.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let mut new_vec: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `j` [INFO] [stdout] --> src/day11.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | for j in 0..25 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contents` [INFO] [stdout] --> src/day25.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | let contents = fs::read_to_string("./src/input.txt").expect("Should read the file"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contents` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day01.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day01.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day01.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_line` is never used [INFO] [stdout] --> src/day02.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn validate_line(nums: Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day02.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day02.rs:37:4 [INFO] [stdout] | [INFO] [stdout] 37 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day02.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day03.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day03.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day03.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_number` is never used [INFO] [stdout] --> src/day03_alt.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn extract_number(contents: &Vec, char_loc: &mut usize) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_mult` is never used [INFO] [stdout] --> src/day03_alt.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn extract_mult(contents: &Vec, char_loc: &mut usize) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day03_alt.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day03_alt.rs:57:4 [INFO] [stdout] | [INFO] [stdout] 57 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day03_alt.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `search_all_directions` is never used [INFO] [stdout] --> src/day04.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn search_all_directions(grid: &Vec>, x_row: i32, x_col: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_x_mas` is never used [INFO] [stdout] --> src/day04.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn is_x_mas(grid: &Vec>, a_row: i32, a_col: i32) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day04.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day04.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day04.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_is_valid` is never used [INFO] [stdout] --> src/day05.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn check_is_valid(nums: &Vec, rules: &HashMap>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day05.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day05.rs:44:4 [INFO] [stdout] | [INFO] [stdout] 44 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day05.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day06.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `can_loop` is never used [INFO] [stdout] --> src/day06.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn can_loop(map: &Vec>, start_loc: (i32, i32)) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day06.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day06.rs:120:8 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_valid` is never used [INFO] [stdout] --> src/day07.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn is_valid(target: usize, nums: Vec, total: usize) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_valid_concat` is never used [INFO] [stdout] --> src/day07.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn is_valid_concat(target: usize, nums: Vec, total: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day07.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day07.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day07.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day08.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day08.rs:44:4 [INFO] [stdout] | [INFO] [stdout] 44 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day08.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_empty` is never used [INFO] [stdout] --> src/day09.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn is_empty(blocks: &Vec) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day09.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day09.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day09.rs:131:8 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_score` is never used [INFO] [stdout] --> src/day10.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn count_score(map: &Vec>, start_pos: (usize, usize)) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_rating` is never used [INFO] [stdout] --> src/day10.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn count_rating(map: &Vec>, start_pos: (usize, usize)) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day10.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day10.rs:98:4 [INFO] [stdout] | [INFO] [stdout] 98 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day10.rs:122:8 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evolve_single` is never used [INFO] [stdout] --> src/day11.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn evolve_single(num: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day11.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_for` is never used [INFO] [stdout] --> src/day11.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn count_for(num: usize, steps: usize, cache: &mut HashMap<(usize, usize), usize>) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day11.rs:69:4 [INFO] [stdout] | [INFO] [stdout] 69 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day11.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_perimeter` is never used [INFO] [stdout] --> src/day12.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn count_perimeter(map: &Vec>, loc: (i32, i32), current_plant: char) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_same` is never used [INFO] [stdout] --> src/day12.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn is_same(map: &Vec>, current_plant: char, neighbor: (i32, i32)) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_corners` is never used [INFO] [stdout] --> src/day12.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn count_corners(map: &Vec>, loc: (i32, i32), current_plant: char) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `group_loc` is never used [INFO] [stdout] --> src/day12.rs:100:4 [INFO] [stdout] | [INFO] [stdout] 100 | fn group_loc( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `group_plants` is never used [INFO] [stdout] --> src/day12.rs:130:4 [INFO] [stdout] | [INFO] [stdout] 130 | fn group_plants(map: &Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day12.rs:150:4 [INFO] [stdout] | [INFO] [stdout] 150 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day12.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day12.rs:212:8 [INFO] [stdout] | [INFO] [stdout] 212 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_button` is never used [INFO] [stdout] --> src/day13.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn parse_button(line: &str, button: &str) -> (f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_prize` is never used [INFO] [stdout] --> src/day13.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn parse_prize(line: &str) -> (f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_prize_part2` is never used [INFO] [stdout] --> src/day13.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn parse_prize_part2(line: &str) -> (f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_machine` is never used [INFO] [stdout] --> src/day13.rs:44:4 [INFO] [stdout] | [INFO] [stdout] 44 | fn parse_machine(machine: &str) -> [(f64, f64); 3] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_machine_part2` is never used [INFO] [stdout] --> src/day13.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn parse_machine_part2(machine: &str) -> [(f64, f64); 3] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_min` is never used [INFO] [stdout] --> src/day13.rs:62:4 [INFO] [stdout] | [INFO] [stdout] 62 | fn find_min(config: [(f64, f64); 3]) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day13.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day13.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day13.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_metric` is never used [INFO] [stdout] --> src/day14.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn parse_metric(line: &str, metric: &str) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse` is never used [INFO] [stdout] --> src/day14.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn parse(line: &str) -> (i32, i32, i32, i32) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_quadrant` is never used [INFO] [stdout] --> src/day14.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn find_quadrant(px: i32, py: i32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clean_grid` is never used [INFO] [stdout] --> src/day14.rs:44:4 [INFO] [stdout] | [INFO] [stdout] 44 | fn clean_grid() -> Vec> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_grid` is never used [INFO] [stdout] --> src/day14.rs:55:4 [INFO] [stdout] | [INFO] [stdout] 55 | fn print_grid(grid: Vec>) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day14.rs:62:4 [INFO] [stdout] | [INFO] [stdout] 62 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day14.rs:80:4 [INFO] [stdout] | [INFO] [stdout] 80 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day14.rs:105:8 [INFO] [stdout] | [INFO] [stdout] 105 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_dir` is never used [INFO] [stdout] --> src/day15.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn get_dir(dir: char) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_move` is never used [INFO] [stdout] --> src/day15.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn make_move(map: &mut Vec>, loc: (i32, i32), dir: char) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_gps_sum` is never used [INFO] [stdout] --> src/day15.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn calculate_gps_sum(map: &Vec>, box_char: char) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day15.rs:55:4 [INFO] [stdout] | [INFO] [stdout] 55 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_pair` is never used [INFO] [stdout] --> src/day15.rs:78:4 [INFO] [stdout] | [INFO] [stdout] 78 | fn find_pair(map: &Vec>, box_loc: (i32, i32)) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `touches_box` is never used [INFO] [stdout] --> src/day15.rs:91:4 [INFO] [stdout] | [INFO] [stdout] 91 | fn touches_box(map: &Vec>, box_loc: (i32, i32), (dy, dx): (i32, i32)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `move_box_vertical` is never used [INFO] [stdout] --> src/day15.rs:105:4 [INFO] [stdout] | [INFO] [stdout] 105 | fn move_box_vertical(map: &mut Vec>, box_loc: (i32, i32), (dy, dx): (i32, i32)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `move_box_horizontal` is never used [INFO] [stdout] --> src/day15.rs:134:4 [INFO] [stdout] | [INFO] [stdout] 134 | fn move_box_horizontal(map: &mut Vec>, box_loc: (i32, i32), (dy, dx): (i32, i32)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `move_box` is never used [INFO] [stdout] --> src/day15.rs:148:4 [INFO] [stdout] | [INFO] [stdout] 148 | fn move_box(map: &mut Vec>, box_loc: (i32, i32), (dy, dx): (i32, i32)) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_hitting_wall` is never used [INFO] [stdout] --> src/day15.rs:156:4 [INFO] [stdout] | [INFO] [stdout] 156 | fn is_hitting_wall(map: &Vec>, loc: (i32, i32), (dy, dx): (i32, i32)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_move_part2` is never used [INFO] [stdout] --> src/day15.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn make_move_part2(map: &mut Vec>, robot_loc: (i32, i32), dir: char) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day15.rs:209:4 [INFO] [stdout] | [INFO] [stdout] 209 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day15.rs:244:8 [INFO] [stdout] | [INFO] [stdout] 244 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `PosAndDir` is never used [INFO] [stdout] --> src/day16.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | type PosAndDir = (i32, i32, i32, i32); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Track` is never used [INFO] [stdout] --> src/day16.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type Track = HashMap>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `traverse` is never used [INFO] [stdout] --> src/day16.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn traverse(map: &Vec>, (sr, sc): (i32, i32), (sdr, sdc): (i32, i32)) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_tracks` is never used [INFO] [stdout] --> src/day16.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn find_tracks(map: &Vec>, (sr, sc): (i32, i32), (sdr, sdc): (i32, i32)) -> Track { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `backtrack_count` is never used [INFO] [stdout] --> src/day16.rs:86:4 [INFO] [stdout] | [INFO] [stdout] 86 | fn backtrack_count(tracks: &Track, pos: PosAndDir) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day16.rs:104:4 [INFO] [stdout] | [INFO] [stdout] 104 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day16.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day16.rs:138:8 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_register` is never used [INFO] [stdout] --> src/day17.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn parse_register(line: &str, reg_name: char) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_program` is never used [INFO] [stdout] --> src/day17.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn parse_program(line: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_combo_op_val` is never used [INFO] [stdout] --> src/day17.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn get_combo_op_val(operand: i8, registers: &[i32; 3]) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `division` is never used [INFO] [stdout] --> src/day17.rs:33:4 [INFO] [stdout] | [INFO] [stdout] 33 | fn division(operand: i8, save_reg: i8, registers: &mut [i32; 3]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `jump_not_zero` is never used [INFO] [stdout] --> src/day17.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn jump_not_zero(operand: i8, registers: &[i32; 3], ins_p: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perform_op` is never used [INFO] [stdout] --> src/day17.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn perform_op( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day17.rs:71:4 [INFO] [stdout] | [INFO] [stdout] 71 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `trace` is never used [INFO] [stdout] --> src/day17.rs:93:4 [INFO] [stdout] | [INFO] [stdout] 93 | fn trace(program: &Vec, ans: usize) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day17.rs:118:4 [INFO] [stdout] | [INFO] [stdout] 118 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day17.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `traverse` is never used [INFO] [stdout] --> src/day18.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn traverse(map: &mut [[char; 71]; 71], (sr, sc): (i32, i32)) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day18.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `can_pass_after_n` is never used [INFO] [stdout] --> src/day18.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn can_pass_after_n(lines: &Vec<&str>, n: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day18.rs:61:4 [INFO] [stdout] | [INFO] [stdout] 61 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day18.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `can_construct` is never used [INFO] [stdout] --> src/day19.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn can_construct( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day19.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day19.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day19.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_scores` is never used [INFO] [stdout] --> src/day20.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn get_scores(map: &Vec>, (sr, sc): (i32, i32)) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_shortcuts` is never used [INFO] [stdout] --> src/day20.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn count_shortcuts(scores: &Vec>, radius: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day20.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day20.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day20.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `KeyCode` is never used [INFO] [stdout] --> src/day21.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type KeyCode = (i32, i32); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LevelAndPath` is never used [INFO] [stdout] --> src/day21.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | type LevelAndPath = (KeyCode, KeyCode, i32); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dir_to_key` is never used [INFO] [stdout] --> src/day21.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn dir_to_key(dir: (i32, i32)) -> KeyCode { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_path_on_keyboard` is never used [INFO] [stdout] --> src/day21.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn find_path_on_keyboard( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `length_for_keys` is never used [INFO] [stdout] --> src/day21.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | fn length_for_keys( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `code_to_keys` is never used [INFO] [stdout] --> src/day21.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn code_to_keys(sequence: &Vec<(i32, i32)>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `key_to_loc` is never used [INFO] [stdout] --> src/day21.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn key_to_loc(key: char) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `loc_to_key` is never used [INFO] [stdout] --> src/day21.rs:172:4 [INFO] [stdout] | [INFO] [stdout] 172 | fn loc_to_key(loc: (i32, i32)) -> char { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_seq` is never used [INFO] [stdout] --> src/day21.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn print_seq(seq: &Vec<(i32, i32)>) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day21.rs:188:4 [INFO] [stdout] | [INFO] [stdout] 188 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day21.rs:217:4 [INFO] [stdout] | [INFO] [stdout] 217 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day21.rs:246:8 [INFO] [stdout] | [INFO] [stdout] 246 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day22.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Seq` is never used [INFO] [stdout] --> src/day22.rs:35:6 [INFO] [stdout] | [INFO] [stdout] 35 | type Seq = (i8, i8, i8, i8); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day22.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day22.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_three_peers` is never used [INFO] [stdout] --> src/day23.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn find_three_peers(connections: &HashMap<&str, Vec<&str>>, name: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_connected_to_all` is never used [INFO] [stdout] --> src/day23.rs:45:4 [INFO] [stdout] | [INFO] [stdout] 45 | fn is_connected_to_all( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_largest` is never used [INFO] [stdout] --> src/day23.rs:57:4 [INFO] [stdout] | [INFO] [stdout] 57 | fn find_largest( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day23.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day23.rs:115:4 [INFO] [stdout] | [INFO] [stdout] 115 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day23.rs:149:8 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perform_op` is never used [INFO] [stdout] --> src/day24.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn perform_op(w1: bool, op: String, w2: bool) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day24.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_correct_op` is never used [INFO] [stdout] --> src/day24.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn is_correct_op( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_prev` is never used [INFO] [stdout] --> src/day24.rs:92:4 [INFO] [stdout] | [INFO] [stdout] 92 | fn verify_prev( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_carry` is never used [INFO] [stdout] --> src/day24.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn verify_carry( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_z_bit` is never used [INFO] [stdout] --> src/day24.rs:132:4 [INFO] [stdout] | [INFO] [stdout] 132 | fn check_z_bit( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify` is never used [INFO] [stdout] --> src/day24.rs:162:4 [INFO] [stdout] | [INFO] [stdout] 162 | fn verify(current_bit: i32, ops: &HashMap) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_faulty_bit_loc` is never used [INFO] [stdout] --> src/day24.rs:168:4 [INFO] [stdout] | [INFO] [stdout] 168 | fn find_faulty_bit_loc(ops: &HashMap) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_swap` is never used [INFO] [stdout] --> src/day24.rs:178:4 [INFO] [stdout] | [INFO] [stdout] 178 | fn find_swap(ops: &mut HashMap) -> (String, String) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day24.rs:203:4 [INFO] [stdout] | [INFO] [stdout] 203 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day24.rs:235:8 [INFO] [stdout] | [INFO] [stdout] 235 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_scheme` is never used [INFO] [stdout] --> src/day25.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn print_scheme(item: [i32; 5]) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_num` is never used [INFO] [stdout] --> src/utils.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn to_num(num_str: &str) -> i32 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_u_num` is never used [INFO] [stdout] --> src/utils.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn to_u_num(num_str: &str) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_start_loc` is never used [INFO] [stdout] --> src/utils.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn find_start_loc(map: &Vec>, symbol: char) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_in_bounds` is never used [INFO] [stdout] --> src/utils.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn is_in_bounds(sizes: (usize, usize), index: (i32, i32)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_grid` is never used [INFO] [stdout] --> src/utils.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn print_grid(map: &Vec>, title: &str) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contents` [INFO] [stdout] --> src/day25.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | let contents = fs::read_to_string("./src/input.txt").expect("Should read the file"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contents` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day01.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day01.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day01.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_line` is never used [INFO] [stdout] --> src/day02.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn validate_line(nums: Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day02.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day02.rs:37:4 [INFO] [stdout] | [INFO] [stdout] 37 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day02.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day03.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day03.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day03.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_number` is never used [INFO] [stdout] --> src/day03_alt.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn extract_number(contents: &Vec, char_loc: &mut usize) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_mult` is never used [INFO] [stdout] --> src/day03_alt.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn extract_mult(contents: &Vec, char_loc: &mut usize) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day03_alt.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day03_alt.rs:57:4 [INFO] [stdout] | [INFO] [stdout] 57 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day03_alt.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `search_all_directions` is never used [INFO] [stdout] --> src/day04.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn search_all_directions(grid: &Vec>, x_row: i32, x_col: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_x_mas` is never used [INFO] [stdout] --> src/day04.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn is_x_mas(grid: &Vec>, a_row: i32, a_col: i32) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day04.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day04.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day04.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_is_valid` is never used [INFO] [stdout] --> src/day05.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn check_is_valid(nums: &Vec, rules: &HashMap>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day05.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day05.rs:44:4 [INFO] [stdout] | [INFO] [stdout] 44 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day05.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day06.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `can_loop` is never used [INFO] [stdout] --> src/day06.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn can_loop(map: &Vec>, start_loc: (i32, i32)) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day06.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day06.rs:120:8 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_valid` is never used [INFO] [stdout] --> src/day07.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn is_valid(target: usize, nums: Vec, total: usize) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_valid_concat` is never used [INFO] [stdout] --> src/day07.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn is_valid_concat(target: usize, nums: Vec, total: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day07.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day07.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day07.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day08.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day08.rs:44:4 [INFO] [stdout] | [INFO] [stdout] 44 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day08.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_empty` is never used [INFO] [stdout] --> src/day09.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn is_empty(blocks: &Vec) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day09.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day09.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day09.rs:131:8 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_score` is never used [INFO] [stdout] --> src/day10.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn count_score(map: &Vec>, start_pos: (usize, usize)) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_rating` is never used [INFO] [stdout] --> src/day10.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn count_rating(map: &Vec>, start_pos: (usize, usize)) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day10.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day10.rs:98:4 [INFO] [stdout] | [INFO] [stdout] 98 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day10.rs:122:8 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evolve_single` is never used [INFO] [stdout] --> src/day11.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn evolve_single(num: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day11.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_for` is never used [INFO] [stdout] --> src/day11.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn count_for(num: usize, steps: usize, cache: &mut HashMap<(usize, usize), usize>) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day11.rs:69:4 [INFO] [stdout] | [INFO] [stdout] 69 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day11.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_perimeter` is never used [INFO] [stdout] --> src/day12.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn count_perimeter(map: &Vec>, loc: (i32, i32), current_plant: char) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_same` is never used [INFO] [stdout] --> src/day12.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn is_same(map: &Vec>, current_plant: char, neighbor: (i32, i32)) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_corners` is never used [INFO] [stdout] --> src/day12.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn count_corners(map: &Vec>, loc: (i32, i32), current_plant: char) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `group_loc` is never used [INFO] [stdout] --> src/day12.rs:100:4 [INFO] [stdout] | [INFO] [stdout] 100 | fn group_loc( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `group_plants` is never used [INFO] [stdout] --> src/day12.rs:130:4 [INFO] [stdout] | [INFO] [stdout] 130 | fn group_plants(map: &Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day12.rs:150:4 [INFO] [stdout] | [INFO] [stdout] 150 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day12.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day12.rs:212:8 [INFO] [stdout] | [INFO] [stdout] 212 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_button` is never used [INFO] [stdout] --> src/day13.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn parse_button(line: &str, button: &str) -> (f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_prize` is never used [INFO] [stdout] --> src/day13.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn parse_prize(line: &str) -> (f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_prize_part2` is never used [INFO] [stdout] --> src/day13.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn parse_prize_part2(line: &str) -> (f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_machine` is never used [INFO] [stdout] --> src/day13.rs:44:4 [INFO] [stdout] | [INFO] [stdout] 44 | fn parse_machine(machine: &str) -> [(f64, f64); 3] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_machine_part2` is never used [INFO] [stdout] --> src/day13.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn parse_machine_part2(machine: &str) -> [(f64, f64); 3] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_min` is never used [INFO] [stdout] --> src/day13.rs:62:4 [INFO] [stdout] | [INFO] [stdout] 62 | fn find_min(config: [(f64, f64); 3]) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day13.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day13.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day13.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_metric` is never used [INFO] [stdout] --> src/day14.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn parse_metric(line: &str, metric: &str) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse` is never used [INFO] [stdout] --> src/day14.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn parse(line: &str) -> (i32, i32, i32, i32) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_quadrant` is never used [INFO] [stdout] --> src/day14.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn find_quadrant(px: i32, py: i32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clean_grid` is never used [INFO] [stdout] --> src/day14.rs:44:4 [INFO] [stdout] | [INFO] [stdout] 44 | fn clean_grid() -> Vec> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_grid` is never used [INFO] [stdout] --> src/day14.rs:55:4 [INFO] [stdout] | [INFO] [stdout] 55 | fn print_grid(grid: Vec>) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day14.rs:62:4 [INFO] [stdout] | [INFO] [stdout] 62 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day14.rs:80:4 [INFO] [stdout] | [INFO] [stdout] 80 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day14.rs:105:8 [INFO] [stdout] | [INFO] [stdout] 105 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_dir` is never used [INFO] [stdout] --> src/day15.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn get_dir(dir: char) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_move` is never used [INFO] [stdout] --> src/day15.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn make_move(map: &mut Vec>, loc: (i32, i32), dir: char) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_gps_sum` is never used [INFO] [stdout] --> src/day15.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn calculate_gps_sum(map: &Vec>, box_char: char) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day15.rs:55:4 [INFO] [stdout] | [INFO] [stdout] 55 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_pair` is never used [INFO] [stdout] --> src/day15.rs:78:4 [INFO] [stdout] | [INFO] [stdout] 78 | fn find_pair(map: &Vec>, box_loc: (i32, i32)) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `touches_box` is never used [INFO] [stdout] --> src/day15.rs:91:4 [INFO] [stdout] | [INFO] [stdout] 91 | fn touches_box(map: &Vec>, box_loc: (i32, i32), (dy, dx): (i32, i32)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `move_box_vertical` is never used [INFO] [stdout] --> src/day15.rs:105:4 [INFO] [stdout] | [INFO] [stdout] 105 | fn move_box_vertical(map: &mut Vec>, box_loc: (i32, i32), (dy, dx): (i32, i32)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `move_box_horizontal` is never used [INFO] [stdout] --> src/day15.rs:134:4 [INFO] [stdout] | [INFO] [stdout] 134 | fn move_box_horizontal(map: &mut Vec>, box_loc: (i32, i32), (dy, dx): (i32, i32)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `move_box` is never used [INFO] [stdout] --> src/day15.rs:148:4 [INFO] [stdout] | [INFO] [stdout] 148 | fn move_box(map: &mut Vec>, box_loc: (i32, i32), (dy, dx): (i32, i32)) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_hitting_wall` is never used [INFO] [stdout] --> src/day15.rs:156:4 [INFO] [stdout] | [INFO] [stdout] 156 | fn is_hitting_wall(map: &Vec>, loc: (i32, i32), (dy, dx): (i32, i32)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_move_part2` is never used [INFO] [stdout] --> src/day15.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn make_move_part2(map: &mut Vec>, robot_loc: (i32, i32), dir: char) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day15.rs:209:4 [INFO] [stdout] | [INFO] [stdout] 209 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day15.rs:244:8 [INFO] [stdout] | [INFO] [stdout] 244 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `PosAndDir` is never used [INFO] [stdout] --> src/day16.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | type PosAndDir = (i32, i32, i32, i32); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Track` is never used [INFO] [stdout] --> src/day16.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type Track = HashMap>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `traverse` is never used [INFO] [stdout] --> src/day16.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn traverse(map: &Vec>, (sr, sc): (i32, i32), (sdr, sdc): (i32, i32)) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_tracks` is never used [INFO] [stdout] --> src/day16.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn find_tracks(map: &Vec>, (sr, sc): (i32, i32), (sdr, sdc): (i32, i32)) -> Track { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `backtrack_count` is never used [INFO] [stdout] --> src/day16.rs:86:4 [INFO] [stdout] | [INFO] [stdout] 86 | fn backtrack_count(tracks: &Track, pos: PosAndDir) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day16.rs:104:4 [INFO] [stdout] | [INFO] [stdout] 104 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day16.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day16.rs:138:8 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_register` is never used [INFO] [stdout] --> src/day17.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn parse_register(line: &str, reg_name: char) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_program` is never used [INFO] [stdout] --> src/day17.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn parse_program(line: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_combo_op_val` is never used [INFO] [stdout] --> src/day17.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn get_combo_op_val(operand: i8, registers: &[i32; 3]) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `division` is never used [INFO] [stdout] --> src/day17.rs:33:4 [INFO] [stdout] | [INFO] [stdout] 33 | fn division(operand: i8, save_reg: i8, registers: &mut [i32; 3]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `jump_not_zero` is never used [INFO] [stdout] --> src/day17.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn jump_not_zero(operand: i8, registers: &[i32; 3], ins_p: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perform_op` is never used [INFO] [stdout] --> src/day17.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn perform_op( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day17.rs:71:4 [INFO] [stdout] | [INFO] [stdout] 71 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `trace` is never used [INFO] [stdout] --> src/day17.rs:93:4 [INFO] [stdout] | [INFO] [stdout] 93 | fn trace(program: &Vec, ans: usize) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day17.rs:118:4 [INFO] [stdout] | [INFO] [stdout] 118 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day17.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `traverse` is never used [INFO] [stdout] --> src/day18.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn traverse(map: &mut [[char; 71]; 71], (sr, sc): (i32, i32)) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day18.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `can_pass_after_n` is never used [INFO] [stdout] --> src/day18.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn can_pass_after_n(lines: &Vec<&str>, n: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day18.rs:61:4 [INFO] [stdout] | [INFO] [stdout] 61 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day18.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `can_construct` is never used [INFO] [stdout] --> src/day19.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn can_construct( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day19.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day19.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day19.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_scores` is never used [INFO] [stdout] --> src/day20.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn get_scores(map: &Vec>, (sr, sc): (i32, i32)) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_shortcuts` is never used [INFO] [stdout] --> src/day20.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn count_shortcuts(scores: &Vec>, radius: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day20.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day20.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day20.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `KeyCode` is never used [INFO] [stdout] --> src/day21.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type KeyCode = (i32, i32); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LevelAndPath` is never used [INFO] [stdout] --> src/day21.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | type LevelAndPath = (KeyCode, KeyCode, i32); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dir_to_key` is never used [INFO] [stdout] --> src/day21.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn dir_to_key(dir: (i32, i32)) -> KeyCode { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_path_on_keyboard` is never used [INFO] [stdout] --> src/day21.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn find_path_on_keyboard( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `length_for_keys` is never used [INFO] [stdout] --> src/day21.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | fn length_for_keys( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `code_to_keys` is never used [INFO] [stdout] --> src/day21.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn code_to_keys(sequence: &Vec<(i32, i32)>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `key_to_loc` is never used [INFO] [stdout] --> src/day21.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn key_to_loc(key: char) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `loc_to_key` is never used [INFO] [stdout] --> src/day21.rs:172:4 [INFO] [stdout] | [INFO] [stdout] 172 | fn loc_to_key(loc: (i32, i32)) -> char { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_seq` is never used [INFO] [stdout] --> src/day21.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn print_seq(seq: &Vec<(i32, i32)>) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day21.rs:188:4 [INFO] [stdout] | [INFO] [stdout] 188 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day21.rs:217:4 [INFO] [stdout] | [INFO] [stdout] 217 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day21.rs:246:8 [INFO] [stdout] | [INFO] [stdout] 246 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day22.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Seq` is never used [INFO] [stdout] --> src/day22.rs:35:6 [INFO] [stdout] | [INFO] [stdout] 35 | type Seq = (i8, i8, i8, i8); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day22.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day22.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_three_peers` is never used [INFO] [stdout] --> src/day23.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn find_three_peers(connections: &HashMap<&str, Vec<&str>>, name: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_connected_to_all` is never used [INFO] [stdout] --> src/day23.rs:45:4 [INFO] [stdout] | [INFO] [stdout] 45 | fn is_connected_to_all( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_largest` is never used [INFO] [stdout] --> src/day23.rs:57:4 [INFO] [stdout] | [INFO] [stdout] 57 | fn find_largest( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day23.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day23.rs:115:4 [INFO] [stdout] | [INFO] [stdout] 115 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day23.rs:149:8 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perform_op` is never used [INFO] [stdout] --> src/day24.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn perform_op(w1: bool, op: String, w2: bool) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_1` is never used [INFO] [stdout] --> src/day24.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn solve_part_1() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_correct_op` is never used [INFO] [stdout] --> src/day24.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn is_correct_op( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_prev` is never used [INFO] [stdout] --> src/day24.rs:92:4 [INFO] [stdout] | [INFO] [stdout] 92 | fn verify_prev( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_carry` is never used [INFO] [stdout] --> src/day24.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn verify_carry( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_z_bit` is never used [INFO] [stdout] --> src/day24.rs:132:4 [INFO] [stdout] | [INFO] [stdout] 132 | fn check_z_bit( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify` is never used [INFO] [stdout] --> src/day24.rs:162:4 [INFO] [stdout] | [INFO] [stdout] 162 | fn verify(current_bit: i32, ops: &HashMap) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_faulty_bit_loc` is never used [INFO] [stdout] --> src/day24.rs:168:4 [INFO] [stdout] | [INFO] [stdout] 168 | fn find_faulty_bit_loc(ops: &HashMap) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_swap` is never used [INFO] [stdout] --> src/day24.rs:178:4 [INFO] [stdout] | [INFO] [stdout] 178 | fn find_swap(ops: &mut HashMap) -> (String, String) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part_2` is never used [INFO] [stdout] --> src/day24.rs:203:4 [INFO] [stdout] | [INFO] [stdout] 203 | fn solve_part_2() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day24.rs:235:8 [INFO] [stdout] | [INFO] [stdout] 235 | pub fn solve() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_scheme` is never used [INFO] [stdout] --> src/day25.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn print_scheme(item: [i32; 5]) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_num` is never used [INFO] [stdout] --> src/utils.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn to_num(num_str: &str) -> i32 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_u_num` is never used [INFO] [stdout] --> src/utils.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn to_u_num(num_str: &str) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_start_loc` is never used [INFO] [stdout] --> src/utils.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn find_start_loc(map: &Vec>, symbol: char) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_in_bounds` is never used [INFO] [stdout] --> src/utils.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn is_in_bounds(sizes: (usize, usize), index: (i32, i32)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_grid` is never used [INFO] [stdout] --> src/utils.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn print_grid(map: &Vec>, title: &str) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.07s [INFO] running `Command { std: "docker" "inspect" "33eecb8a0dbac9144c98c90de93aa6a39d98c29e58a8763e9db692794c1a08c2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "33eecb8a0dbac9144c98c90de93aa6a39d98c29e58a8763e9db692794c1a08c2", kill_on_drop: false }` [INFO] [stdout] 33eecb8a0dbac9144c98c90de93aa6a39d98c29e58a8763e9db692794c1a08c2