[INFO] cloning repository https://github.com/koisland/AoC-2022
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/koisland/AoC-2022" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkoisland%2FAoC-2022", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkoisland%2FAoC-2022'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 459e5b5fb4a4cd05889f5e547cd2950579b8c8fc
[INFO] checking koisland/AoC-2022 against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkoisland%2FAoC-2022" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/koisland/AoC-2022
[INFO] finished tweaking git repo https://github.com/koisland/AoC-2022
[INFO] tweaked toml for git repo https://github.com/koisland/AoC-2022 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/koisland/AoC-2022 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/koisland/AoC-2022 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pathfinding v4.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f17186032d7d9b73139b95f71970bc3b86ba023547833b1f0c58df16ce1eb55a
[INFO] running `Command { std: "docker" "start" "-a" "f17186032d7d9b73139b95f71970bc3b86ba023547833b1f0c58df16ce1eb55a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f17186032d7d9b73139b95f71970bc3b86ba023547833b1f0c58df16ce1eb55a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f17186032d7d9b73139b95f71970bc3b86ba023547833b1f0c58df16ce1eb55a", kill_on_drop: false }`
[INFO] [stdout] f17186032d7d9b73139b95f71970bc3b86ba023547833b1f0c58df16ce1eb55a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a67450750b765ebda171c4ff136ae97fd1102c0c8383092bec567877e924ce55
[INFO] running `Command { std: "docker" "start" "-a" "a67450750b765ebda171c4ff136ae97fd1102c0c8383092bec567877e924ce55", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.49
[INFO] [stderr]    Compiling syn v1.0.107
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling indexmap v1.9.2
[INFO] [stderr]    Compiling thiserror v1.0.38
[INFO] [stderr]     Checking either v1.8.0
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking regex v1.7.0
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]    Compiling quote v1.0.23
[INFO] [stderr]     Checking integer-sqrt v0.1.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.38
[INFO] [stderr]     Checking pathfinding v4.2.0
[INFO] [stderr]     Checking aoc_2022 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/days/day12.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use itertools::Itertools;
[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: `itertools::Itertools`
[INFO] [stdout]  --> src/days/day12.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use itertools::Itertools;
[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: `std::borrow::Borrow`
[INFO] [stdout]  --> src/days/day13.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/days/day12.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let (path, n_steps) = astar(
[INFO] [stdout]     |          ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/days/day13.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_segment_change`
[INFO] [stdout]    --> src/days/day9.rs:158:50
[INFO] [stdout]     |
[INFO] [stdout] 158 |                 if let (Some(prev_segment), Some(prev_segment_change)) =
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_segment_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GridString` is never constructed
[INFO] [stdout]  --> src/days/common.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct GridString {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `search`, `search_all`, `get_one`, and `get` are never used
[INFO] [stdout]   --> src/days/common.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl GridString {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(grid: &str) -> Result<GridString, &'static str> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn search(&self, elem: char) -> Option<(usize, usize)> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn search_all(&self, elem: char) -> Option<Vec<(usize, usize)>> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn get_one(&self, row: usize, col: usize) -> Option<char> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn get(&self, row: Option<usize>, col: Option<usize>) -> Option<Vec<char>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/days/day12.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let (path, n_steps) = astar(
[INFO] [stdout]     |          ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabet` is never used
[INFO] [stdout]   --> src/days/common.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn alphabet() -> HashMap<char, usize> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_calories` is never used
[INFO] [stdout]  --> src/days/day1.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn get_calories(fname: &str) -> Result<Vec<usize>, Box<dyn Error>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_calories` is never used
[INFO] [stdout]   --> src/days/day1.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn max_calories(fname: &str, top_n: usize) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Operation` is never used
[INFO] [stdout]   --> src/days/day10.rs:12:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | enum Operation {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `duration` is never used
[INFO] [stdout]   --> src/days/day10.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Operation {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 18 |     fn duration(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CRT` is never constructed
[INFO] [stdout]   --> src/days/day10.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct CRT {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update_screen`, `update_sprite_pos`, and `display` are never used
[INFO] [stdout]    --> src/days/day10.rs:68:8
[INFO] [stdout]     |
[INFO] [stdout]  67 | impl CRT {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout]  68 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     fn update_screen(&mut self, cycle: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     fn update_sprite_pos(&mut self, register: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     fn display(&self) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Instruction` is never constructed
[INFO] [stdout]    --> src/days/day10.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 112 | struct Instruction {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SimpleCPU` is never constructed
[INFO] [stdout]    --> src/days/day10.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | struct SimpleCPU {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `complete_command`, `run_command`, `run_program`, and `signal_strength` are never used
[INFO] [stdout]    --> src/days/day10.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl SimpleCPU {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 126 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     fn complete_command(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     fn run_command(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     fn run_program(&mut self, fname: &str, screen: Rc<RefCell<CRT>>) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     fn signal_strength(&self) -> isize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cathode_cpu` is never used
[INFO] [stdout]    --> src/days/day10.rs:209:8
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub fn cathode_cpu(fname: &str) -> Result<isize, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `race_the_beam` is never used
[INFO] [stdout]    --> src/days/day10.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn race_the_beam(fname: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Operand` is never used
[INFO] [stdout]   --> src/days/day11.rs:11:6
[INFO] [stdout]    |
[INFO] [stdout] 11 | enum Operand {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Operation` is never used
[INFO] [stdout]   --> src/days/day11.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | enum Operation {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Statement` is never constructed
[INFO] [stdout]   --> src/days/day11.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct Statement {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `result` is never used
[INFO] [stdout]   --> src/days/day11.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Statement {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 32 |     fn result(&self, input: Option<usize>) -> Result<usize, &'static str> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThrowTest` is never constructed
[INFO] [stdout]   --> src/days/day11.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct ThrowTest {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Monkey` is never constructed
[INFO] [stdout]   --> src/days/day11.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | struct Monkey {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/days/day11.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl Monkey {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 76 |     pub fn new(behavior: &str) -> Result<Self, ParserError> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Barrel` is never constructed
[INFO] [stdout]    --> src/days/day11.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | struct Barrel {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start_round`, and `monkey_business` are never used
[INFO] [stdout]    --> src/days/day11.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout] 223 | impl Barrel {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 224 |     fn new(fname: &str) -> Result<Self, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     fn start_round(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     fn monkey_business(&mut self, n_rounds: usize) -> Result<usize, &'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `monkey_business` is never used
[INFO] [stdout]    --> src/days/day11.rs:297:8
[INFO] [stdout]     |
[INFO] [stdout] 297 | pub fn monkey_business(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STARTING_POS` is never used
[INFO] [stdout]  --> src/days/day12.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const STARTING_POS: char = 'S';
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDING_POS` is never used
[INFO] [stdout]  --> src/days/day12.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const ENDING_POS: char = 'E';
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pos` is never constructed
[INFO] [stdout]   --> src/days/day12.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Pos {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `distance`, `map_coord_to_height`, and `successors` are never used
[INFO] [stdout]   --> src/days/day12.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Pos {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] 19 |     fn distance(&self, other: &Pos) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn map_coord_to_height(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn successors<F: Fn(usize, usize) -> bool>(
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hill_climb` is never used
[INFO] [stdout]   --> src/days/day12.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn hill_climb(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hill_climb_any_start` is never used
[INFO] [stdout]    --> src/days/day12.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn hill_climb_any_start(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]    --> src/days/day13.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl Packet {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 135 |     fn get(&self, n: usize) -> Option<Rc<Value>> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Move` is never used
[INFO] [stdout]  --> src/days/day2.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | enum Move {
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Outcome` is never used
[INFO] [stdout]   --> src/days/day2.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Outcome {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParseRPSError` is never constructed
[INFO] [stdout]   --> src/days/day2.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct ParseRPSError;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_outcome` is never used
[INFO] [stdout]   --> src/days/day2.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 95 | impl Move {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 96 |     pub fn get_outcome(&self, outcome: &Outcome) -> Option<Move> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rps` is never used
[INFO] [stdout]    --> src/days/day2.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub fn rps(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rps_2` is never used
[INFO] [stdout]    --> src/days/day2.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn rps_2(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_priorities` is never used
[INFO] [stdout]  --> src/days/day3.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn build_priorities() -> HashMap<char, usize> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rucksack` is never used
[INFO] [stdout]   --> src/days/day3.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn rucksack(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `elf_groups` is never used
[INFO] [stdout]   --> src/days/day3.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn elf_groups(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ToRange` is never used
[INFO] [stdout]  --> src/days/day4.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | trait ToRange {
[INFO] [stdout]   |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `range_to_hashset` is never used
[INFO] [stdout]   --> src/days/day4.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn range_to_hashset(rng_str: &str) -> Result<HashSet<usize>, Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `camp_cleanup_duplicates` is never used
[INFO] [stdout]   --> src/days/day4.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn camp_cleanup_duplicates(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `camp_cleanup_overlap` is never used
[INFO] [stdout]   --> src/days/day4.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn camp_cleanup_overlap(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_stack_text` is never used
[INFO] [stdout]   --> src/days/day5.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn parse_stack_text(stack_str: &str) -> Result<Vec<VecDeque<char>>, Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StackParseError` is never constructed
[INFO] [stdout]   --> src/days/day5.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct StackParseError;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `crate_mover_9000` is never used
[INFO] [stdout]   --> src/days/day5.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn crate_mover_9000(fname: &str) -> Result<Vec<char>, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `crate_mover_9001` is never used
[INFO] [stdout]    --> src/days/day5.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn crate_mover_9001(fname: &str) -> Result<Vec<char>, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PACKET_LEN` is never used
[INFO] [stdout]  --> src/days/day6.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const PACKET_LEN: usize = 4;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MSG_LEN` is never used
[INFO] [stdout]  --> src/days/day6.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const MSG_LEN: usize = 14;
[INFO] [stdout]   |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Packet` is never used
[INFO] [stdout]  --> src/days/day6.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | type Packet = (char, char, char, char);
[INFO] [stdout]   |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BufferReadError` is never constructed
[INFO] [stdout]   --> src/days/day6.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct BufferReadError {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_comm_packet` is never used
[INFO] [stdout]   --> src/days/day6.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn read_comm_packet(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_comm_message` is never used
[INFO] [stdout]   --> src/days/day6.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn read_comm_message(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `File` is never constructed
[INFO] [stdout]   --> src/days/day7.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct File {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dir` is never constructed
[INFO] [stdout]   --> src/days/day7.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Dir {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileSystem` is never constructed
[INFO] [stdout]   --> src/days/day7.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct FileSystem {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileSystemError` is never constructed
[INFO] [stdout]   --> src/days/day7.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct FileSystemError {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `du` is never used
[INFO] [stdout]   --> src/days/day7.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl Dir {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] 41 |     fn du(&self) -> usize {
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/days/day7.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl FileSystem {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 54 |     fn new(fname: &str) -> Result<FileSystem, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_file_system` is never used
[INFO] [stdout]    --> src/days/day7.rs:143:8
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub fn sum_file_system(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `free_space_file_system` is never used
[INFO] [stdout]    --> src/days/day7.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub fn free_space_file_system(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_top_visibility` is never used
[INFO] [stdout]  --> src/days/day8.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn tree_top_visibility(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_view_dst` is never used
[INFO] [stdout]   --> src/days/day8.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn tree_view_dst(tree_ht: u32, trees_along_axis: &[u32]) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_scenic_scores` is never used
[INFO] [stdout]    --> src/days/day8.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn tree_scenic_scores(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Position` is never constructed
[INFO] [stdout]   --> src/days/day9.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Position {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_adj`, `is_on_axis`, `compute_distance`, and `compute_tail_move` are never used
[INFO] [stdout]   --> src/days/day9.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Position {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 20 |     fn is_adj(&self, other: &Position) -> bool {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn is_on_axis(&self, other: &Position) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn compute_distance(self, to: Position) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn compute_tail_move(self, to: Position) -> Position {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]   --> src/days/day9.rs:93:6
[INFO] [stdout]    |
[INFO] [stdout] 93 | enum Direction {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Move` is never constructed
[INFO] [stdout]    --> src/days/day9.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | struct Move {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rope` is never constructed
[INFO] [stdout]    --> src/days/day9.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | struct Rope {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `move_rope`, and `visited_positions` are never used
[INFO] [stdout]    --> src/days/day9.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl Rope {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 141 |     fn new(segments: usize) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     fn move_rope(&mut self, direction: Direction) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     fn visited_positions(&self, rope_segments: Range<usize>) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rope_movement` is never used
[INFO] [stdout]    --> src/days/day9.rs:246:8
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub fn rope_movement(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParserError` is never constructed
[INFO] [stdout]  --> src/days/error.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct ParserError {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_segment_change`
[INFO] [stdout]    --> src/days/day9.rs:158:50
[INFO] [stdout]     |
[INFO] [stdout] 158 |                 if let (Some(prev_segment), Some(prev_segment_change)) =
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_segment_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]   --> src/days/common.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl GridString {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn get(&self, row: Option<usize>, col: Option<usize>) -> Option<Vec<char>> {
[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 `get_calories` is never used
[INFO] [stdout]  --> src/days/day1.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn get_calories(fname: &str) -> Result<Vec<usize>, Box<dyn Error>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_calories` is never used
[INFO] [stdout]   --> src/days/day1.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn max_calories(fname: &str, top_n: usize) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Operation` is never used
[INFO] [stdout]   --> src/days/day10.rs:12:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | enum Operation {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `duration` is never used
[INFO] [stdout]   --> src/days/day10.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Operation {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 18 |     fn duration(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CRT` is never constructed
[INFO] [stdout]   --> src/days/day10.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct CRT {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update_screen`, `update_sprite_pos`, and `display` are never used
[INFO] [stdout]    --> src/days/day10.rs:68:8
[INFO] [stdout]     |
[INFO] [stdout]  67 | impl CRT {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout]  68 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     fn update_screen(&mut self, cycle: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     fn update_sprite_pos(&mut self, register: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     fn display(&self) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Instruction` is never constructed
[INFO] [stdout]    --> src/days/day10.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 112 | struct Instruction {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SimpleCPU` is never constructed
[INFO] [stdout]    --> src/days/day10.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | struct SimpleCPU {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `complete_command`, `run_command`, `run_program`, and `signal_strength` are never used
[INFO] [stdout]    --> src/days/day10.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl SimpleCPU {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 126 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     fn complete_command(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     fn run_command(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     fn run_program(&mut self, fname: &str, screen: Rc<RefCell<CRT>>) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     fn signal_strength(&self) -> isize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cathode_cpu` is never used
[INFO] [stdout]    --> src/days/day10.rs:209:8
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub fn cathode_cpu(fname: &str) -> Result<isize, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `race_the_beam` is never used
[INFO] [stdout]    --> src/days/day10.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn race_the_beam(fname: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Operand` is never used
[INFO] [stdout]   --> src/days/day11.rs:11:6
[INFO] [stdout]    |
[INFO] [stdout] 11 | enum Operand {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Operation` is never used
[INFO] [stdout]   --> src/days/day11.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | enum Operation {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Statement` is never constructed
[INFO] [stdout]   --> src/days/day11.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct Statement {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `result` is never used
[INFO] [stdout]   --> src/days/day11.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Statement {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 32 |     fn result(&self, input: Option<usize>) -> Result<usize, &'static str> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThrowTest` is never constructed
[INFO] [stdout]   --> src/days/day11.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct ThrowTest {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Monkey` is never constructed
[INFO] [stdout]   --> src/days/day11.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | struct Monkey {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/days/day11.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl Monkey {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 76 |     pub fn new(behavior: &str) -> Result<Self, ParserError> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Barrel` is never constructed
[INFO] [stdout]    --> src/days/day11.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | struct Barrel {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start_round`, and `monkey_business` are never used
[INFO] [stdout]    --> src/days/day11.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout] 223 | impl Barrel {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 224 |     fn new(fname: &str) -> Result<Self, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     fn start_round(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     fn monkey_business(&mut self, n_rounds: usize) -> Result<usize, &'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `monkey_business` is never used
[INFO] [stdout]    --> src/days/day11.rs:297:8
[INFO] [stdout]     |
[INFO] [stdout] 297 | pub fn monkey_business(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]    --> src/days/day13.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl Packet {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 135 |     fn get(&self, n: usize) -> Option<Rc<Value>> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Move` is never used
[INFO] [stdout]  --> src/days/day2.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | enum Move {
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Outcome` is never used
[INFO] [stdout]   --> src/days/day2.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Outcome {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParseRPSError` is never constructed
[INFO] [stdout]   --> src/days/day2.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct ParseRPSError;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_outcome` is never used
[INFO] [stdout]   --> src/days/day2.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 95 | impl Move {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 96 |     pub fn get_outcome(&self, outcome: &Outcome) -> Option<Move> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rps` is never used
[INFO] [stdout]    --> src/days/day2.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub fn rps(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rps_2` is never used
[INFO] [stdout]    --> src/days/day2.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn rps_2(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_priorities` is never used
[INFO] [stdout]  --> src/days/day3.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn build_priorities() -> HashMap<char, usize> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rucksack` is never used
[INFO] [stdout]   --> src/days/day3.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn rucksack(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `elf_groups` is never used
[INFO] [stdout]   --> src/days/day3.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn elf_groups(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ToRange` is never used
[INFO] [stdout]  --> src/days/day4.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | trait ToRange {
[INFO] [stdout]   |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `range_to_hashset` is never used
[INFO] [stdout]   --> src/days/day4.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn range_to_hashset(rng_str: &str) -> Result<HashSet<usize>, Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `camp_cleanup_duplicates` is never used
[INFO] [stdout]   --> src/days/day4.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn camp_cleanup_duplicates(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `camp_cleanup_overlap` is never used
[INFO] [stdout]   --> src/days/day4.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn camp_cleanup_overlap(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_stack_text` is never used
[INFO] [stdout]   --> src/days/day5.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn parse_stack_text(stack_str: &str) -> Result<Vec<VecDeque<char>>, Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StackParseError` is never constructed
[INFO] [stdout]   --> src/days/day5.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct StackParseError;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `crate_mover_9000` is never used
[INFO] [stdout]   --> src/days/day5.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn crate_mover_9000(fname: &str) -> Result<Vec<char>, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `crate_mover_9001` is never used
[INFO] [stdout]    --> src/days/day5.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn crate_mover_9001(fname: &str) -> Result<Vec<char>, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PACKET_LEN` is never used
[INFO] [stdout]  --> src/days/day6.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const PACKET_LEN: usize = 4;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MSG_LEN` is never used
[INFO] [stdout]  --> src/days/day6.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const MSG_LEN: usize = 14;
[INFO] [stdout]   |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Packet` is never used
[INFO] [stdout]  --> src/days/day6.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | type Packet = (char, char, char, char);
[INFO] [stdout]   |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BufferReadError` is never constructed
[INFO] [stdout]   --> src/days/day6.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct BufferReadError {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_comm_packet` is never used
[INFO] [stdout]   --> src/days/day6.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn read_comm_packet(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_comm_message` is never used
[INFO] [stdout]   --> src/days/day6.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn read_comm_message(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `File` is never constructed
[INFO] [stdout]   --> src/days/day7.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct File {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dir` is never constructed
[INFO] [stdout]   --> src/days/day7.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Dir {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileSystem` is never constructed
[INFO] [stdout]   --> src/days/day7.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct FileSystem {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileSystemError` is never constructed
[INFO] [stdout]   --> src/days/day7.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct FileSystemError {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `du` is never used
[INFO] [stdout]   --> src/days/day7.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl Dir {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] 41 |     fn du(&self) -> usize {
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/days/day7.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl FileSystem {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 54 |     fn new(fname: &str) -> Result<FileSystem, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_file_system` is never used
[INFO] [stdout]    --> src/days/day7.rs:143:8
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub fn sum_file_system(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `free_space_file_system` is never used
[INFO] [stdout]    --> src/days/day7.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub fn free_space_file_system(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_top_visibility` is never used
[INFO] [stdout]  --> src/days/day8.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn tree_top_visibility(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_view_dst` is never used
[INFO] [stdout]   --> src/days/day8.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn tree_view_dst(tree_ht: u32, trees_along_axis: &[u32]) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_scenic_scores` is never used
[INFO] [stdout]    --> src/days/day8.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn tree_scenic_scores(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Position` is never constructed
[INFO] [stdout]   --> src/days/day9.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Position {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_adj`, `is_on_axis`, `compute_distance`, and `compute_tail_move` are never used
[INFO] [stdout]   --> src/days/day9.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Position {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 20 |     fn is_adj(&self, other: &Position) -> bool {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn is_on_axis(&self, other: &Position) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn compute_distance(self, to: Position) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn compute_tail_move(self, to: Position) -> Position {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]   --> src/days/day9.rs:93:6
[INFO] [stdout]    |
[INFO] [stdout] 93 | enum Direction {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Move` is never constructed
[INFO] [stdout]    --> src/days/day9.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | struct Move {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rope` is never constructed
[INFO] [stdout]    --> src/days/day9.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | struct Rope {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `move_rope`, and `visited_positions` are never used
[INFO] [stdout]    --> src/days/day9.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl Rope {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 141 |     fn new(segments: usize) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     fn move_rope(&mut self, direction: Direction) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     fn visited_positions(&self, rope_segments: Range<usize>) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rope_movement` is never used
[INFO] [stdout]    --> src/days/day9.rs:246:8
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub fn rope_movement(fname: &str) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.17s
[INFO] running `Command { std: "docker" "inspect" "a67450750b765ebda171c4ff136ae97fd1102c0c8383092bec567877e924ce55", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a67450750b765ebda171c4ff136ae97fd1102c0c8383092bec567877e924ce55", kill_on_drop: false }`
[INFO] [stdout] a67450750b765ebda171c4ff136ae97fd1102c0c8383092bec567877e924ce55
