[INFO] cloning repository https://github.com/RoyShulman/aoc-rs-2024
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/RoyShulman/aoc-rs-2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRoyShulman%2Faoc-rs-2024", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRoyShulman%2Faoc-rs-2024'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0e6dfb85f4ae146e2dcdb2dc42f4a994affbf11c
[INFO] checking RoyShulman/aoc-rs-2024 against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRoyShulman%2Faoc-rs-2024" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/RoyShulman/aoc-rs-2024
[INFO] finished tweaking git repo https://github.com/RoyShulman/aoc-rs-2024
[INFO] tweaked toml for git repo https://github.com/RoyShulman/aoc-rs-2024 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/RoyShulman/aoc-rs-2024 on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/RoyShulman/aoc-rs-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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f4900f64df34b1b1f4ab0398af15ffb118385b81676a5c4bbb90cf61005e76f2
[INFO] running `Command { std: "docker" "start" "-a" "f4900f64df34b1b1f4ab0398af15ffb118385b81676a5c4bbb90cf61005e76f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f4900f64df34b1b1f4ab0398af15ffb118385b81676a5c4bbb90cf61005e76f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f4900f64df34b1b1f4ab0398af15ffb118385b81676a5c4bbb90cf61005e76f2", kill_on_drop: false }`
[INFO] [stdout] f4900f64df34b1b1f4ab0398af15ffb118385b81676a5c4bbb90cf61005e76f2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ecfab7500092438d44a3fa9ce3490645f7f904155d177a5864795cdc298bc505
[INFO] running `Command { std: "docker" "start" "-a" "ecfab7500092438d44a3fa9ce3490645f7f904155d177a5864795cdc298bc505", kill_on_drop: false }`
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking aoc-rs-2024 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `str::FromStr`
[INFO] [stdout]  --> src/day2.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, str::FromStr};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/day2.rs:115:49
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let num_2 = counter.values().filter(|x| (**x == 2)).count();
[INFO] [stdout]     |                                                 ^        ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 115 -         let num_2 = counter.values().filter(|x| (**x == 2)).count();
[INFO] [stdout] 115 +         let num_2 = counter.values().filter(|x| **x == 2 ).count();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `slice` and `str::Chars`
[INFO] [stdout]  --> src/day3.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{slice, str::Chars};
[INFO] [stdout]   |           ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `repeat_n`
[INFO] [stdout]  --> src/day7.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use itertools::{repeat_n, Itertools};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/day10.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/day11.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `str::FromStr`
[INFO] [stdout]  --> src/day2.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, str::FromStr};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/day2.rs:115:49
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let num_2 = counter.values().filter(|x| (**x == 2)).count();
[INFO] [stdout]     |                                                 ^        ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 115 -         let num_2 = counter.values().filter(|x| (**x == 2)).count();
[INFO] [stdout] 115 +         let num_2 = counter.values().filter(|x| **x == 2 ).count();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `slice` and `str::Chars`
[INFO] [stdout]  --> src/day3.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{slice, str::Chars};
[INFO] [stdout]   |           ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `repeat_n`
[INFO] [stdout]  --> src/day7.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use itertools::{repeat_n, Itertools};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day11.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut stones = Stones::from_line(input);
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day11.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut stones = Stones::from_line(input);
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]  --> src/day1.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn part1(input: &str) -> u32 {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day1.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn part2(input: &str) -> u32 {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Position` is never constructed
[INFO] [stdout]  --> src/day10.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Position {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `neighbors` is never used
[INFO] [stdout]   --> src/day10.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Position {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 10 |     fn neighbors(&self, num_rows: usize, num_columns: usize) -> Vec<Position> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TrailMap` is never constructed
[INFO] [stdout]   --> src/day10.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct TrailMap {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]   --> src/day10.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl TrailMap {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 50 |     fn from_str(input: &str) -> Self {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert_possible_neighbors` is never used
[INFO] [stdout]   --> src/day10.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn insert_possible_neighbors(stack: &mut Vec<Position>, current: Position, grid: &[Vec<u8>]) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_num_trails` is never used
[INFO] [stdout]   --> src/day10.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn find_num_trails(grid: &[Vec<u8>], position: Position) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_trail_ratings` is never used
[INFO] [stdout]    --> src/day10.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn get_trail_ratings(grid: &[Vec<u8>], position: Position) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]    --> src/day10.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub fn part1(input: &str) -> u32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]    --> src/day10.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn part2(input: &str) -> u32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]    --> src/day10.rs:145:11
[INFO] [stdout]     |
[INFO] [stdout] 145 |     const INPUT: &str = r#"89010123
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `blink` is never used
[INFO] [stdout]   --> src/day11.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Stones {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn blink(&mut self) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day11.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn part1(input: &str) -> u64 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]    --> src/day11.rs:111:11
[INFO] [stdout]     |
[INFO] [stdout] 111 |     const INPUT: &str = r#"125 17"#;
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `maybe_skip_nth` is never used
[INFO] [stdout]  --> src/day2.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn maybe_skip_nth<T>(it: impl Iterator<Item = T>, skip: Option<usize>) -> impl Iterator<Item = T> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Report` is never constructed
[INFO] [stdout]   --> src/day2.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Report {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_line`, `is_safe`, `invalid_index`, and `is_safe_with_toleration` are never used
[INFO] [stdout]    --> src/day2.rs:23:8
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl Report {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout]  23 |     fn from_line(line: &str) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  31 |     fn is_safe(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     fn invalid_index(&self, skip: Option<usize>) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn is_safe_with_toleration(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]    --> src/day2.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub fn part1(inputs: &str) -> u16 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]    --> src/day2.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn part2(inputs: &str) -> u16 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InstructionParser` is never constructed
[INFO] [stdout]  --> src/day3.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct InstructionParser<'a> {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_1_to_3_digits` is never used
[INFO] [stdout]   --> src/day3.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn parse_1_to_3_digits(input: &[u8], cursor: usize) -> Option<(u16, usize)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_do_instruction`, `get_dont_instruction`, and `try_get_single_instruction` are never used
[INFO] [stdout]   --> src/day3.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl<'a> InstructionParser<'a> {
[INFO] [stdout]    | ------------------------------ associated items in this implementation
[INFO] [stdout] 45 |     pub fn new(input: &'a str, parse_enabled: bool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn get_do_instruction(&self) -> Option<bool> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     fn get_dont_instruction(&self) -> Option<bool> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     fn try_get_single_instruction(&mut self) -> Option<(u32, usize)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]    --> src/day3.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn part1(input: &str) -> u32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]    --> src/day3.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn part2(input: &str) -> u32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]  --> src/day4.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn part1(input: &str) -> u32 {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day4.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn part2(input: &str) -> u32 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OrderingRule` is never constructed
[INFO] [stdout]  --> src/day5.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct OrderingRule {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OrderingRules` is never constructed
[INFO] [stdout]   --> src/day5.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct OrderingRules {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_ordering_rules_slice`, `convert_ordering_rule`, and `exists` are never used
[INFO] [stdout]   --> src/day5.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl OrderingRules {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 37 |     fn from_ordering_rules_slice(ordering_rules: &[OrderingRule]) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn convert_ordering_rule(rule: &OrderingRule) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn exists(&self, rule: &OrderingRule) -> bool {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PageUpdate` is never constructed
[INFO] [stdout]   --> src/day5.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct PageUpdate {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_update_to_right_order` is never used
[INFO] [stdout]   --> src/day5.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn convert_update_to_right_order(update: PageUpdate, ordering_rules: &OrderingRules) -> PageUpdate {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_in_right_order`, `middle`, and `convert_to_right_order` are never used
[INFO] [stdout]    --> src/day5.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl PageUpdate {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 103 |     fn is_in_right_order(&self, ordering_rules: &OrderingRules) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     fn middle(&self) -> u8 {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     fn convert_to_right_order(&self, ordering_rules: &OrderingRules) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SafetyManual` is never constructed
[INFO] [stdout]    --> src/day5.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct SafetyManual {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]    --> src/day5.rs:165:8
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub fn part1(input: &str) -> u32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]    --> src/day5.rs:176:8
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub fn part2(input: &str) -> u32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MapItem` is never used
[INFO] [stdout]  --> src/day6.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | enum MapItem {
[INFO] [stdout]   |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]   --> src/day6.rs:32:6
[INFO] [stdout]    |
[INFO] [stdout] 32 | enum Direction {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Grid` is never constructed
[INFO] [stdout]   --> src/day6.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | struct Grid {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `move_guard` is never used
[INFO] [stdout]   --> src/day6.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | impl Grid {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 88 |     fn move_guard(&mut self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]    --> src/day6.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn part1(input: &str) -> u32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_find_single_loop` is never used
[INFO] [stdout]    --> src/day6.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn try_find_single_loop(grid: &Grid, position: (usize, usize)) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]    --> src/day6.rs:187:8
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub fn part2(input: &str) -> u32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Op` is never used
[INFO] [stdout]  --> src/day7.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum Op {
[INFO] [stdout]   |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Equation` is never constructed
[INFO] [stdout]   --> src/day7.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Equation {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_satisfiable` and `is_satisfiable_with_concat` are never used
[INFO] [stdout]   --> src/day7.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl Equation {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 33 |     fn is_satisfiable(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn is_satisfiable_with_concat(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day7.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn part1(input: &str) -> u64 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day7.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn part2(input: &str) -> u64 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Antenna` is never constructed
[INFO] [stdout]   --> src/day8.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Antenna {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_num_with_inc_until_max` is never used
[INFO] [stdout]   --> src/day8.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn get_num_with_inc_until_max(num: i16, max: i16, diff: i16) -> Vec<i16> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_num_with_dec_until_min` is never used
[INFO] [stdout]   --> src/day8.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn get_num_with_dec_until_min(num: i16, min: i16, diff: i16) -> Vec<i16> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_antinodes` and `get_antinodes_any_distance` are never used
[INFO] [stdout]   --> src/day8.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Antenna {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 40 |     fn get_antinodes(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     fn get_antinodes_any_distance(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AntennaGrid` is never constructed
[INFO] [stdout]    --> src/day8.rs:143:8
[INFO] [stdout]     |
[INFO] [stdout] 143 | struct AntennaGrid {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_antinodes` and `find_antinodes_any_distance` are never used
[INFO] [stdout]    --> src/day8.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | impl AntennaGrid {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] 150 |     fn find_antinodes(&self) -> HashSet<Antenna> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     fn find_antinodes_any_distance(&self) -> HashSet<Antenna> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]    --> src/day8.rs:215:8
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub fn part1(input: &str) -> usize {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]    --> src/day8.rs:221:8
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub fn part2(input: &str) -> usize {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DiskEntry` is never used
[INFO] [stdout]  --> src/day9.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | enum DiskEntry {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemoryMap` is never constructed
[INFO] [stdout]  --> src/day9.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct MemoryMap {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_packed` is never used
[INFO] [stdout]   --> src/day9.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl MemoryMap {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 14 |     fn from_packed(packed: &str) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day9.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn part1(input: &str) -> usize {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlocksAndIndex` is never constructed
[INFO] [stdout]   --> src/day9.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | struct BlocksAndIndex {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display_blocks` is never used
[INFO] [stdout]    --> src/day9.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn display_blocks(blocks: &[BlocksAndIndex]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemoryMapOptimized` is never constructed
[INFO] [stdout]    --> src/day9.rs:119:8
[INFO] [stdout]     |
[INFO] [stdout] 119 | struct MemoryMapOptimized {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_packed` and `move_files` are never used
[INFO] [stdout]    --> src/day9.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl MemoryMapOptimized {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 125 |     fn from_packed(packed: &str) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     fn move_files(mut self) -> Vec<BlocksAndIndex> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]    --> src/day9.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub fn part2(input: &str) -> usize {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<OrderingRule, Infallible>
[INFO] [stdout]   --> src/day5.rs:16:53
[INFO] [stdout]    |
[INFO] [stdout] 16 |       fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]    |  _____________________________________________________^
[INFO] [stdout] 17 | |         let mut it = s.split("|").fuse();
[INFO] [stdout] 18 | |         let before = it.next().unwrap().parse().unwrap();
[INFO] [stdout] 19 | |         let after = it.next().unwrap().parse().unwrap();
[INFO] [stdout] 20 | |         Ok(Self { before, after })
[INFO] [stdout] 21 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<OrderingRule, Infallible>
[INFO] [stdout]   --> src/day5.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         Ok(Self { before, after })
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PageUpdate, Infallible>
[INFO] [stdout]   --> src/day5.rs:70:53
[INFO] [stdout]    |
[INFO] [stdout] 70 |       fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]    |  _____________________________________________________^
[INFO] [stdout] 71 | |         let pages = s.split(",").map(|x| x.parse().unwrap()).collect();
[INFO] [stdout] 72 | |         Ok(Self { pages })
[INFO] [stdout] 73 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PageUpdate, Infallible>
[INFO] [stdout]   --> src/day5.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         Ok(Self { pages })
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SafetyManual, Infallible>
[INFO] [stdout]    --> src/day5.rs:142:53
[INFO] [stdout]     |
[INFO] [stdout] 142 |       fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]     |  _____________________________________________________^
[INFO] [stdout] 143 | |         let mut parsing_ordering = true;
[INFO] [stdout] 144 | |         let mut ordering_rules = Vec::new();
[INFO] [stdout] 145 | |         let mut update = Vec::new();
[INFO] [stdout] ...   |
[INFO] [stdout] 161 | |         })
[INFO] [stdout] 162 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<OrderingRule, Infallible>
[INFO] [stdout]    --> src/day5.rs:152:37
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 ordering_rules.push(line.parse().unwrap());
[INFO] [stdout]     |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PageUpdate, Infallible>
[INFO] [stdout]    --> src/day5.rs:154:29
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 update.push(line.parse().unwrap());
[INFO] [stdout]     |                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SafetyManual, Infallible>
[INFO] [stdout]    --> src/day5.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 | /         Ok(Self {
[INFO] [stdout] 159 | |             ordering_rules: ordering_rules.into(),
[INFO] [stdout] 160 | |             update,
[INFO] [stdout] 161 | |         })
[INFO] [stdout]     | |__________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SafetyManual, Infallible>
[INFO] [stdout]    --> src/day5.rs:166:32
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let manual: SafetyManual = input.parse().unwrap();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SafetyManual, Infallible>
[INFO] [stdout]    --> src/day5.rs:177:32
[INFO] [stdout]     |
[INFO] [stdout] 177 |     let manual: SafetyManual = input.parse().unwrap();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Grid, Infallible>
[INFO] [stdout]   --> src/day6.rs:63:53
[INFO] [stdout]    |
[INFO] [stdout] 63 |       fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]    |  _____________________________________________________^
[INFO] [stdout] 64 | |         let mut rows = Vec::new();
[INFO] [stdout] 65 | |         let mut guard_start_position = None;
[INFO] [stdout] 66 | |         for (row_index, line) in s.lines().enumerate() {
[INFO] [stdout] ...  |
[INFO] [stdout] 83 | |         })
[INFO] [stdout] 84 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Grid, Infallible>
[INFO] [stdout]   --> src/day6.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 | /         Ok(Self {
[INFO] [stdout] 80 | |             rows,
[INFO] [stdout] 81 | |             guard_position: guard_start_position.unwrap(),
[INFO] [stdout] 82 | |             guard_direction: Direction::Up,
[INFO] [stdout] 83 | |         })
[INFO] [stdout]    | |__________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Grid, Infallible>
[INFO] [stdout]    --> src/day6.rs:139:26
[INFO] [stdout]     |
[INFO] [stdout] 139 |     let mut grid: Grid = input.parse().unwrap();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Grid, Infallible>
[INFO] [stdout]    --> src/day6.rs:188:22
[INFO] [stdout]     |
[INFO] [stdout] 188 |     let grid: Grid = input.parse().unwrap();
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Equation, Infallible>
[INFO] [stdout]   --> src/day7.rs:19:53
[INFO] [stdout]    |
[INFO] [stdout] 19 |       fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]    |  _____________________________________________________^
[INFO] [stdout] 20 | |         let mut it = s.split(": ").fuse();
[INFO] [stdout] 21 | |         let result = it.next().unwrap().parse().unwrap();
[INFO] [stdout] 22 | |         let numbers = it
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | |         Ok(Self { result, numbers })
[INFO] [stdout] 29 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Equation, Infallible>
[INFO] [stdout]   --> src/day7.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         Ok(Self { result, numbers })
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Equation, Infallible>
[INFO] [stdout]   --> src/day7.rs:87:61
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let equations: Vec<Equation> = input.lines().map(|line| line.parse().unwrap()).collect();
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Equation, Infallible>
[INFO] [stdout]   --> src/day7.rs:96:61
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let equations: Vec<Equation> = input.lines().map(|line| line.parse().unwrap()).collect();
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<AntennaGrid, Infallible>
[INFO] [stdout]    --> src/day8.rs:185:53
[INFO] [stdout]     |
[INFO] [stdout] 185 |       fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]     |  _____________________________________________________^
[INFO] [stdout] 186 | |         let mut num_rows = 0;
[INFO] [stdout] 187 | |         let mut num_columns = 0;
[INFO] [stdout] 188 | |         let mut antenas = HashMap::new();
[INFO] [stdout] ...   |
[INFO] [stdout] 211 | |         })
[INFO] [stdout] 212 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<AntennaGrid, Infallible>
[INFO] [stdout]    --> src/day8.rs:207:9
[INFO] [stdout]     |
[INFO] [stdout] 207 | /         Ok(Self {
[INFO] [stdout] 208 | |             num_rows,
[INFO] [stdout] 209 | |             num_columns,
[INFO] [stdout] 210 | |             antenas,
[INFO] [stdout] 211 | |         })
[INFO] [stdout]     | |__________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<AntennaGrid, Infallible>
[INFO] [stdout]    --> src/day8.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 |     let grid: AntennaGrid = input.parse().unwrap();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<AntennaGrid, Infallible>
[INFO] [stdout]    --> src/day8.rs:222:29
[INFO] [stdout]     |
[INFO] [stdout] 222 |     let grid: AntennaGrid = input.parse().unwrap();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `aoc-rs-2024` (bin "aoc-rs-2024") due to 22 previous errors; 72 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: enum `DiskEntry` is never used
[INFO] [stdout]  --> src/day9.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | enum DiskEntry {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemoryMap` is never constructed
[INFO] [stdout]  --> src/day9.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct MemoryMap {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_packed` is never used
[INFO] [stdout]   --> src/day9.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl MemoryMap {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 14 |     fn from_packed(packed: &str) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day9.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn part1(input: &str) -> usize {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display_blocks` is never used
[INFO] [stdout]    --> src/day9.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn display_blocks(blocks: &[BlocksAndIndex]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<OrderingRule, Infallible>
[INFO] [stdout]   --> src/day5.rs:16:53
[INFO] [stdout]    |
[INFO] [stdout] 16 |       fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]    |  _____________________________________________________^
[INFO] [stdout] 17 | |         let mut it = s.split("|").fuse();
[INFO] [stdout] 18 | |         let before = it.next().unwrap().parse().unwrap();
[INFO] [stdout] 19 | |         let after = it.next().unwrap().parse().unwrap();
[INFO] [stdout] 20 | |         Ok(Self { before, after })
[INFO] [stdout] 21 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<OrderingRule, Infallible>
[INFO] [stdout]   --> src/day5.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         Ok(Self { before, after })
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PageUpdate, Infallible>
[INFO] [stdout]   --> src/day5.rs:70:53
[INFO] [stdout]    |
[INFO] [stdout] 70 |       fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]    |  _____________________________________________________^
[INFO] [stdout] 71 | |         let pages = s.split(",").map(|x| x.parse().unwrap()).collect();
[INFO] [stdout] 72 | |         Ok(Self { pages })
[INFO] [stdout] 73 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PageUpdate, Infallible>
[INFO] [stdout]   --> src/day5.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         Ok(Self { pages })
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SafetyManual, Infallible>
[INFO] [stdout]    --> src/day5.rs:142:53
[INFO] [stdout]     |
[INFO] [stdout] 142 |       fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]     |  _____________________________________________________^
[INFO] [stdout] 143 | |         let mut parsing_ordering = true;
[INFO] [stdout] 144 | |         let mut ordering_rules = Vec::new();
[INFO] [stdout] 145 | |         let mut update = Vec::new();
[INFO] [stdout] ...   |
[INFO] [stdout] 161 | |         })
[INFO] [stdout] 162 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<OrderingRule, Infallible>
[INFO] [stdout]    --> src/day5.rs:152:37
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 ordering_rules.push(line.parse().unwrap());
[INFO] [stdout]     |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PageUpdate, Infallible>
[INFO] [stdout]    --> src/day5.rs:154:29
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 update.push(line.parse().unwrap());
[INFO] [stdout]     |                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SafetyManual, Infallible>
[INFO] [stdout]    --> src/day5.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 | /         Ok(Self {
[INFO] [stdout] 159 | |             ordering_rules: ordering_rules.into(),
[INFO] [stdout] 160 | |             update,
[INFO] [stdout] 161 | |         })
[INFO] [stdout]     | |__________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SafetyManual, Infallible>
[INFO] [stdout]    --> src/day5.rs:166:32
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let manual: SafetyManual = input.parse().unwrap();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SafetyManual, Infallible>
[INFO] [stdout]    --> src/day5.rs:177:32
[INFO] [stdout]     |
[INFO] [stdout] 177 |     let manual: SafetyManual = input.parse().unwrap();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Grid, Infallible>
[INFO] [stdout]   --> src/day6.rs:63:53
[INFO] [stdout]    |
[INFO] [stdout] 63 |       fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]    |  _____________________________________________________^
[INFO] [stdout] 64 | |         let mut rows = Vec::new();
[INFO] [stdout] 65 | |         let mut guard_start_position = None;
[INFO] [stdout] 66 | |         for (row_index, line) in s.lines().enumerate() {
[INFO] [stdout] ...  |
[INFO] [stdout] 83 | |         })
[INFO] [stdout] 84 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Grid, Infallible>
[INFO] [stdout]   --> src/day6.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 | /         Ok(Self {
[INFO] [stdout] 80 | |             rows,
[INFO] [stdout] 81 | |             guard_position: guard_start_position.unwrap(),
[INFO] [stdout] 82 | |             guard_direction: Direction::Up,
[INFO] [stdout] 83 | |         })
[INFO] [stdout]    | |__________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Grid, Infallible>
[INFO] [stdout]    --> src/day6.rs:139:26
[INFO] [stdout]     |
[INFO] [stdout] 139 |     let mut grid: Grid = input.parse().unwrap();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Grid, Infallible>
[INFO] [stdout]    --> src/day6.rs:188:22
[INFO] [stdout]     |
[INFO] [stdout] 188 |     let grid: Grid = input.parse().unwrap();
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Equation, Infallible>
[INFO] [stdout]   --> src/day7.rs:19:53
[INFO] [stdout]    |
[INFO] [stdout] 19 |       fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]    |  _____________________________________________________^
[INFO] [stdout] 20 | |         let mut it = s.split(": ").fuse();
[INFO] [stdout] 21 | |         let result = it.next().unwrap().parse().unwrap();
[INFO] [stdout] 22 | |         let numbers = it
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | |         Ok(Self { result, numbers })
[INFO] [stdout] 29 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Equation, Infallible>
[INFO] [stdout]   --> src/day7.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         Ok(Self { result, numbers })
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Equation, Infallible>
[INFO] [stdout]   --> src/day7.rs:87:61
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let equations: Vec<Equation> = input.lines().map(|line| line.parse().unwrap()).collect();
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Equation, Infallible>
[INFO] [stdout]   --> src/day7.rs:96:61
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let equations: Vec<Equation> = input.lines().map(|line| line.parse().unwrap()).collect();
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<AntennaGrid, Infallible>
[INFO] [stdout]    --> src/day8.rs:185:53
[INFO] [stdout]     |
[INFO] [stdout] 185 |       fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]     |  _____________________________________________________^
[INFO] [stdout] 186 | |         let mut num_rows = 0;
[INFO] [stdout] 187 | |         let mut num_columns = 0;
[INFO] [stdout] 188 | |         let mut antenas = HashMap::new();
[INFO] [stdout] ...   |
[INFO] [stdout] 211 | |         })
[INFO] [stdout] 212 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<AntennaGrid, Infallible>
[INFO] [stdout]    --> src/day8.rs:207:9
[INFO] [stdout]     |
[INFO] [stdout] 207 | /         Ok(Self {
[INFO] [stdout] 208 | |             num_rows,
[INFO] [stdout] 209 | |             num_columns,
[INFO] [stdout] 210 | |             antenas,
[INFO] [stdout] 211 | |         })
[INFO] [stdout]     | |__________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<AntennaGrid, Infallible>
[INFO] [stdout]    --> src/day8.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 |     let grid: AntennaGrid = input.parse().unwrap();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<AntennaGrid, Infallible>
[INFO] [stdout]    --> src/day8.rs:222:29
[INFO] [stdout]     |
[INFO] [stdout] 222 |     let grid: AntennaGrid = input.parse().unwrap();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `aoc-rs-2024` (bin "aoc-rs-2024" test) due to 22 previous errors; 10 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "ecfab7500092438d44a3fa9ce3490645f7f904155d177a5864795cdc298bc505", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ecfab7500092438d44a3fa9ce3490645f7f904155d177a5864795cdc298bc505", kill_on_drop: false }`
[INFO] [stdout] ecfab7500092438d44a3fa9ce3490645f7f904155d177a5864795cdc298bc505
