[INFO] cloning repository https://github.com/cramt/aoc_2020
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cramt/aoc_2020" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcramt%2Faoc_2020", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcramt%2Faoc_2020'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 051aefae0e74173d16ae1750b1d3d3b63ca0b703
[INFO] checking cramt/aoc_2020 against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcramt%2Faoc_2020" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cramt/aoc_2020
[INFO] finished tweaking git repo https://github.com/cramt/aoc_2020
[INFO] tweaked toml for git repo https://github.com/cramt/aoc_2020 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cramt/aoc_2020 on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cramt/aoc_2020 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded combinations v0.1.0
[INFO] [stderr]   Downloaded funty v1.0.1
[INFO] [stderr]   Downloaded tap v1.0.0
[INFO] [stderr]   Downloaded bitvec v0.19.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 74cc0b5284a6cbd2f2c1a04ea582dcf3fe64540cb27c8bbc5633242fd313f455
[INFO] running `Command { std: "docker" "start" "-a" "74cc0b5284a6cbd2f2c1a04ea582dcf3fe64540cb27c8bbc5633242fd313f455", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "74cc0b5284a6cbd2f2c1a04ea582dcf3fe64540cb27c8bbc5633242fd313f455", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "74cc0b5284a6cbd2f2c1a04ea582dcf3fe64540cb27c8bbc5633242fd313f455", kill_on_drop: false }`
[INFO] [stdout] 74cc0b5284a6cbd2f2c1a04ea582dcf3fe64540cb27c8bbc5633242fd313f455
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 354e73384168c1fb7519a77d26dc69c8f12a49d0c62a7d5c787cd9bd7a2ea4e4
[INFO] running `Command { std: "docker" "start" "-a" "354e73384168c1fb7519a77d26dc69c8f12a49d0c62a7d5c787cd9bd7a2ea4e4", kill_on_drop: false }`
[INFO] [stderr]     Checking tap v1.0.0
[INFO] [stderr]     Checking funty v1.0.1
[INFO] [stderr]     Checking combinations v0.1.0
[INFO] [stderr]     Checking regex v1.4.2
[INFO] [stderr]     Checking bitvec v0.19.4
[INFO] [stderr]     Checking aoc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `combinations::Combinations`
[INFO] [stdout]  --> src/days/day11.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use combinations::Combinations;
[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::panic::resume_unwind`
[INFO] [stdout]  --> src/days/day12.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::panic::resume_unwind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]  --> src/days/day13.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::min;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `combinations::Combinations`
[INFO] [stdout]  --> src/days/day11.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use combinations::Combinations;
[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::panic::resume_unwind`
[INFO] [stdout]  --> src/days/day12.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::panic::resume_unwind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]  --> src/days/day13.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::min;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::RangeFrom`
[INFO] [stdout]  --> src/days/day13.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::RangeFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitvec::order::Msb0`
[INFO] [stdout]  --> src/days/day14.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bitvec::order::Msb0;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitvec::slice::BitSlice`
[INFO] [stdout]  --> src/days/day14.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bitvec::slice::BitSlice;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitvec::vec::BitVec`
[INFO] [stdout]  --> src/days/day14.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bitvec::vec::BitVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::RangeFrom`
[INFO] [stdout]  --> src/days/day13.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::RangeFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitvec::order::Msb0`
[INFO] [stdout]  --> src/days/day14.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bitvec::order::Msb0;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitvec::slice::BitSlice`
[INFO] [stdout]  --> src/days/day14.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bitvec::slice::BitSlice;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitvec::vec::BitVec`
[INFO] [stdout]  --> src/days/day14.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bitvec::vec::BitVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::RandomState`
[INFO] [stdout]  --> src/days/day14.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::hash_map::RandomState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/days/day15.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, VecDeque};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/days/day2.rs:21:25
[INFO] [stdout]    |
[INFO] [stdout] 21 |             let range = (start_range..=end_range);
[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] 21 -             let range = (start_range..=end_range);
[INFO] [stdout] 21 +             let range = start_range..=end_range ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/days/day5.rs:2:42
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]   |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::Map`
[INFO] [stdout]  --> src/days/day5.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::iter::Map;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/days/day5.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let cut = ((self.end + self.start) / 2);
[INFO] [stdout]    |                   ^                           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 17 -         let cut = ((self.end + self.start) / 2);
[INFO] [stdout] 17 +         let cut = (self.end + self.start) / 2 ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::ToSocketAddrs`
[INFO] [stdout]  --> src/days/day7.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::net::ToSocketAddrs;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/days/day7.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::internal::Inst`
[INFO] [stdout]  --> src/days/day8.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use regex::internal::Inst;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/days/day8.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Filter` and `Map`
[INFO] [stdout]  --> src/days/day8.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::iter::{Filter, Map};
[INFO] [stdout]   |                 ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/days/day8.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CharIndices` and `Lines`
[INFO] [stdout]  --> src/days/day8.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::str::{CharIndices, Lines};
[INFO] [stdout]   |                ^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day1::Day1`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::days::day1::Day1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day10::Day10`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::days::day10::Day10;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day11::Day11`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::days::day11::Day11;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day12::Day12`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::days::day12::Day12;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day13::Day13`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::days::day13::Day13;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day14::Day14`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::days::day14::Day14;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day15::Day15`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::days::day15::Day15;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day2::Day2`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::days::day2::Day2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day3::Day3`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::days::day3::Day3;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day4::Day4`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::days::day4::Day4;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day5::Day5`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::days::day5::Day5;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day6::Day6`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::days::day6::Day6;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day7::Day7`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::days::day7::Day7;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day8::Day8`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::days::day8::Day8;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::RandomState`
[INFO] [stdout]  --> src/days/day14.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::hash_map::RandomState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/days/day15.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, VecDeque};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/days/day2.rs:21:25
[INFO] [stdout]    |
[INFO] [stdout] 21 |             let range = (start_range..=end_range);
[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] 21 -             let range = (start_range..=end_range);
[INFO] [stdout] 21 +             let range = start_range..=end_range ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/days/day5.rs:2:42
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]   |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::Map`
[INFO] [stdout]  --> src/days/day5.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::iter::Map;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/days/day5.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let cut = ((self.end + self.start) / 2);
[INFO] [stdout]    |                   ^                           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 17 -         let cut = ((self.end + self.start) / 2);
[INFO] [stdout] 17 +         let cut = (self.end + self.start) / 2 ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::ToSocketAddrs`
[INFO] [stdout]  --> src/days/day7.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::net::ToSocketAddrs;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/days/day7.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::internal::Inst`
[INFO] [stdout]  --> src/days/day8.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use regex::internal::Inst;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day9::Day9`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::days::day9::Day9;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/days/day8.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Filter` and `Map`
[INFO] [stdout]  --> src/days/day8.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::iter::{Filter, Map};
[INFO] [stdout]   |                 ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/days/day8.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CharIndices` and `Lines`
[INFO] [stdout]  --> src/days/day8.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::str::{CharIndices, Lines};
[INFO] [stdout]   |                ^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day1::Day1`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::days::day1::Day1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day10::Day10`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::days::day10::Day10;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day11::Day11`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::days::day11::Day11;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day12::Day12`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::days::day12::Day12;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day13::Day13`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::days::day13::Day13;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day14::Day14`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::days::day14::Day14;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day15::Day15`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::days::day15::Day15;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day2::Day2`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::days::day2::Day2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day3::Day3`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::days::day3::Day3;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day4::Day4`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::days::day4::Day4;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day5::Day5`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::days::day5::Day5;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day6::Day6`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::days::day6::Day6;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day7::Day7`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::days::day7::Day7;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day8::Day8`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::days::day8::Day8;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day9::Day9`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::days::day9::Day9;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::internal::Input`
[INFO] [stdout]  --> src/days/day11.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use regex::internal::Input;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/days/day14.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `your_ticket`
[INFO] [stdout]    --> src/days/day16.rs:102:21
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let (rules, your_ticket, others_tickets) = self.parse();
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_your_ticket`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/days/day3.rs:6:54
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn day3_crawl(&self, value: &Box<[Box<[bool]>]>, mut slope: (usize, usize)) -> usize {
[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: unused import: `regex::internal::Input`
[INFO] [stdout]  --> src/days/day11.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use regex::internal::Input;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/days/day14.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row`
[INFO] [stdout]    --> src/days/day5.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |             .find(|(row, columns)| columns.len() == 7)
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/days/day6.rs:34:35
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 .fold(None, |acc, mut x| match acc {
[INFO] [stdout]    |                                   ----^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/days/day8.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let mut instructions = self.parse();
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/days/day8.rs:127:19
[INFO] [stdout]     |
[INFO] [stdout] 127 |             .map(|mut x| self.run(x))
[INFO] [stdout]     |                   ----^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/days/day8.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let mut instructions = self.parse_permutations();
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number`
[INFO] [stdout]   --> src/days/day9.rs:99:23
[INFO] [stdout]    |
[INFO] [stdout] 99 |         runner.find(|(number, valid)| !*valid).unwrap().0
[INFO] [stdout]    |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number`
[INFO] [stdout]    --> src/days/day9.rs:104:31
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let n = runner.find(|(number, valid)| !*valid).unwrap().0;
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `part1` is never used
[INFO] [stdout]   --> src/days/mod.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait Day<T> {
[INFO] [stdout]    |           --- method in this trait
[INFO] [stdout] 19 |     fn part1(&self) -> T;
[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 `Day1` is never constructed
[INFO] [stdout]  --> src/days/day1.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Day1;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/days/day10.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Node {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `expand`, `is_leaf`, and `expand_leaf_and_inc` are never used
[INFO] [stdout]   --> src/days/day10.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Node {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Node {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn expand(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn is_leaf(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn expand_leaf_and_inc(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PairsInclusive` is never constructed
[INFO] [stdout]   --> src/days/day10.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct PairsInclusive<T> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/days/day10.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl<T> PairsInclusive<T> {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 43 |     fn new<S: Iterator<Item = T>>(s: S) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day10` is never constructed
[INFO] [stdout]   --> src/days/day10.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct Day10;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `parse` and `part2_oneliner` are never used
[INFO] [stdout]   --> src/days/day10.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl Day10 {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 70 |     fn parse(&self) -> Vec<usize> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     fn part2_oneliner(self) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Seat` is never used
[INFO] [stdout]  --> src/days/day11.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum Seat {
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/days/day11.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Seat {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 13 |     fn parse(c: char) -> Option<Self> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SeatGrid` is never constructed
[INFO] [stdout]   --> src/days/day11.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct SeatGrid {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse`, `get_location_adjacent`, `get_adjacent_seats`, `change`, and `finish` are never used
[INFO] [stdout]    --> src/days/day11.rs:41:8
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl SeatGrid {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  41 |     fn parse<T: AsRef<str>>(s: T) -> Self {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     fn get_location_adjacent(&self, location: (usize, usize)) -> Vec<(usize, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn get_adjacent_seats(&self, location: (usize, usize)) -> Vec<&Seat> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn change(&mut self) -> usize {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     fn finish(mut self) -> Box<[Box<[Seat]>]> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day11` is never constructed
[INFO] [stdout]    --> src/days/day11.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub struct Day11;
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse` is never used
[INFO] [stdout]    --> src/days/day11.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 167 | impl Day11 {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 168 |     fn parse(&self) -> SeatGrid {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction` is never used
[INFO] [stdout]  --> src/days/day12.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum Instruction {
[INFO] [stdout]   |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/days/day12.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Instruction {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 17 |     fn parse<S: AsRef<str>>(s: S) -> Option<Self> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShipRunner` is never constructed
[INFO] [stdout]   --> src/days/day12.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct ShipRunner<I: Iterator<Item = Instruction>> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `do_instruction` are never used
[INFO] [stdout]   --> src/days/day12.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | / impl<I> ShipRunner<I>
[INFO] [stdout] 43 | | where
[INFO] [stdout] 44 | |     I: Iterator<Item = Instruction>,
[INFO] [stdout]    | |____________________________________- associated items in this implementation
[INFO] [stdout] 45 |   {
[INFO] [stdout] 46 |       fn new(t: I) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |       fn do_instruction(&mut self, inst: Instruction) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShipRunner2` is never constructed
[INFO] [stdout]   --> src/days/day12.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | struct ShipRunner2<I: Iterator<Item = Instruction>> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `do_instruction` are never used
[INFO] [stdout]    --> src/days/day12.rs:101:8
[INFO] [stdout]     |
[INFO] [stdout]  97 | / impl<I> ShipRunner2<I>
[INFO] [stdout]  98 | | where
[INFO] [stdout]  99 | |     I: Iterator<Item = Instruction>,
[INFO] [stdout]     | |____________________________________- associated items in this implementation
[INFO] [stdout] 100 |   {
[INFO] [stdout] 101 |       fn new(t: I) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |       fn do_instruction(&mut self, inst: Instruction) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day12` is never constructed
[INFO] [stdout]    --> src/days/day12.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct Day12;
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse` is never used
[INFO] [stdout]    --> src/days/day12.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | impl Day12 {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 151 |     fn parse(&self) -> Vec<Instruction> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day13` is never constructed
[INFO] [stdout]  --> src/days/day13.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Day13;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `parse` and `parse2` are never used
[INFO] [stdout]   --> src/days/day13.rs:8:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Day13 {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout]  8 |     fn parse(&self) -> (usize, Vec<usize>) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     fn parse2(&self) -> (usize, Vec<(usize, usize)>) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Machine` is never constructed
[INFO] [stdout]   --> src/days/day14.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Machine<I: Iterator<Item = Instruction>> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `finish` are never used
[INFO] [stdout]   --> src/days/day14.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | / impl<I> Machine<I>
[INFO] [stdout] 19 | | where
[INFO] [stdout] 20 | |     I: Iterator<Item = Instruction>,
[INFO] [stdout]    | |____________________________________- associated items in this implementation
[INFO] [stdout] 21 |   {
[INFO] [stdout] 22 |       fn new(i: I) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |       fn finish(mut self) -> HashMap<u64, u64> {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Machine2` is never constructed
[INFO] [stdout]   --> src/days/day14.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct Machine2<I: Iterator<Item = Instruction2>> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `finish` are never used
[INFO] [stdout]   --> src/days/day14.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | / impl<I> Machine2<I>
[INFO] [stdout] 65 | | where
[INFO] [stdout] 66 | |     I: Iterator<Item = Instruction2>,
[INFO] [stdout]    | |_____________________________________- associated items in this implementation
[INFO] [stdout] 67 |   {
[INFO] [stdout] 68 |       fn new(i: I) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |       fn finish(mut self) -> HashMap<u64, u64> {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction` is never used
[INFO] [stdout]    --> src/days/day14.rs:123:6
[INFO] [stdout]     |
[INFO] [stdout] 123 | enum Instruction {
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MaskValues` is never used
[INFO] [stdout]    --> src/days/day14.rs:129:6
[INFO] [stdout]     |
[INFO] [stdout] 129 | enum MaskValues {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]    --> src/days/day14.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl MaskValues {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 136 |     fn parse(c: char) -> Option<Self> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction2` is never used
[INFO] [stdout]    --> src/days/day14.rs:147:6
[INFO] [stdout]     |
[INFO] [stdout] 147 | enum Instruction2 {
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day14` is never constructed
[INFO] [stdout]    --> src/days/day14.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct Day14;
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `parse` and `parse2` are never used
[INFO] [stdout]    --> src/days/day14.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl Day14 {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] 155 |     fn parse(&self) -> Vec<Instruction> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     fn parse2(&self) -> Vec<Instruction2> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Runner` is never constructed
[INFO] [stdout]  --> src/days/day15.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Runner {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/days/day15.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Runner {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 11 |     fn new(inner: Vec<usize>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day15` is never constructed
[INFO] [stdout]   --> src/days/day15.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Day15;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `run` is never used
[INFO] [stdout]   --> src/days/day15.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Day15 {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 48 |     fn run(&self, times: usize) -> usize {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day2` is never constructed
[INFO] [stdout]  --> src/days/day2.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Day2;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day3` is never constructed
[INFO] [stdout]  --> src/days/day3.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Day3;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `day3_crawl` and `parse` are never used
[INFO] [stdout]   --> src/days/day3.rs:6:8
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Day3 {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout]  6 |     fn day3_crawl(&self, value: &Box<[Box<[bool]>]>, mut slope: (usize, usize)) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn parse(&self) -> Box<[Box<[bool]>]> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day4` is never constructed
[INFO] [stdout]  --> src/days/day4.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Day4;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse` is never used
[INFO] [stdout]  --> src/days/day4.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl Day4 {
[INFO] [stdout]   | --------- method in this implementation
[INFO] [stdout] 8 |     fn parse(&self) -> Vec<HashMap<String, String>> {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CuttableRange` is never constructed
[INFO] [stdout]  --> src/days/day5.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct CuttableRange {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `cut`, and `finish` are never used
[INFO] [stdout]   --> src/days/day5.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl CuttableRange {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(start: usize, end: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn cut(&self) -> (Self, Self) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn finish(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day5` is never constructed
[INFO] [stdout]   --> src/days/day5.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Day5;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `parse_identifiers`, `parse_positions`, and `split_range` are never used
[INFO] [stdout]   --> src/days/day5.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl Day5 {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] 33 |     fn parse_identifiers(&self) -> Vec<(&str, &str)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn parse_positions(&self) -> Vec<(usize, usize, usize)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn split_range(&self) {}
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day6` is never constructed
[INFO] [stdout]  --> src/days/day6.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Day6;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse` is never used
[INFO] [stdout]  --> src/days/day6.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl Day6 {
[INFO] [stdout]   | --------- method in this implementation
[INFO] [stdout] 9 |     fn parse(&self) -> Vec<HashSet<char, RandomState>> {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bag` is never constructed
[INFO] [stdout]  --> src/days/day7.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Bag {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `endpoint`, `set_subs`, and `set_parent` are never used
[INFO] [stdout]   --> src/days/day7.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Bag {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new<T: ToString>(s: T) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn endpoint(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn set_subs(&mut self, v: Vec<(usize, String)>) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn set_parent(&mut self, v: String) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day7` is never constructed
[INFO] [stdout]   --> src/days/day7.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct Day7;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `raw_parse`, `parse`, `count1`, and `count2` are never used
[INFO] [stdout]   --> src/days/day7.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Day7 {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] 40 |     fn raw_parse(&self) -> Vec<(String, Vec<(usize, String)>)> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     fn parse(&self) -> HashMap<String, Box<Bag>, RandomState> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     fn count1(&self, a: Vec<String>, map: &HashMap<String, Box<Bag>>) -> Vec<String> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     fn count2(&self, a: String, map: &HashMap<String, Box<Bag>>) -> usize {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InstructionType` is never used
[INFO] [stdout]   --> src/days/day8.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | enum InstructionType {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/days/day8.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl InstructionType {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 17 |     pub fn parse<T: AsRef<str>>(t: T) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Instruction` is never constructed
[INFO] [stdout]   --> src/days/day8.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct Instruction {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `visit`, `not_visited`, and `flip` are never used
[INFO] [stdout]   --> src/days/day8.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl Instruction {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 35 |     fn new(instruction_type: InstructionType, value: isize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn visit(&mut self) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     fn not_visited(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     fn flip(&mut self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day8` is never constructed
[INFO] [stdout]   --> src/days/day8.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct Day8;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `parse`, `parse_permutations`, and `run` are never used
[INFO] [stdout]   --> src/days/day8.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl Day8 {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] 63 |     fn parse(&self) -> Box<[Instruction]> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     fn parse_permutations(&self) -> Vec<Box<[Instruction]>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     fn run(&self, mut instructions: Box<[Instruction]>) -> (isize, bool) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContinuesSubsets` is never constructed
[INFO] [stdout]  --> src/days/day9.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct ContinuesSubsets<T> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/days/day9.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<V> ContinuesSubsets<V> {
[INFO] [stdout]    | --------------------------- associated function in this implementation
[INFO] [stdout] 13 |     fn new<T: Iterator<Item = V>>(v: T) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `XmasRunner` is never constructed
[INFO] [stdout]   --> src/days/day9.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct XmasRunner {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_loaded_comb`, and `finish` are never used
[INFO] [stdout]   --> src/days/day9.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl XmasRunner {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 50 |     fn new<T: Iterator<Item = u128>>(load_size: usize, values: T) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn get_loaded_comb(&self) -> impl Iterator<Item = (u128, u128)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     fn finish(self) -> impl Iterator<Item = u128> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day9` is never constructed
[INFO] [stdout]   --> src/days/day9.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct Day9;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse` is never used
[INFO] [stdout]   --> src/days/day9.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | impl Day9 {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 88 |     fn parse(&self) -> Vec<u128> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `your_ticket`
[INFO] [stdout]    --> src/days/day16.rs:102:21
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let (rules, your_ticket, others_tickets) = self.parse();
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_your_ticket`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/days/day3.rs:6:54
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn day3_crawl(&self, value: &Box<[Box<[bool]>]>, mut slope: (usize, usize)) -> usize {
[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: unused variable: `row`
[INFO] [stdout]    --> src/days/day5.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |             .find(|(row, columns)| columns.len() == 7)
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/days/day6.rs:34:35
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 .fold(None, |acc, mut x| match acc {
[INFO] [stdout]    |                                   ----^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/days/day8.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let mut instructions = self.parse();
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/days/day8.rs:127:19
[INFO] [stdout]     |
[INFO] [stdout] 127 |             .map(|mut x| self.run(x))
[INFO] [stdout]     |                   ----^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/days/day8.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let mut instructions = self.parse_permutations();
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number`
[INFO] [stdout]   --> src/days/day9.rs:99:23
[INFO] [stdout]    |
[INFO] [stdout] 99 |         runner.find(|(number, valid)| !*valid).unwrap().0
[INFO] [stdout]    |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number`
[INFO] [stdout]    --> src/days/day9.rs:104:31
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let n = runner.find(|(number, valid)| !*valid).unwrap().0;
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `part1` is never used
[INFO] [stdout]   --> src/days/mod.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait Day<T> {
[INFO] [stdout]    |           --- method in this trait
[INFO] [stdout] 19 |     fn part1(&self) -> T;
[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 `Day1` is never constructed
[INFO] [stdout]  --> src/days/day1.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Day1;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/days/day10.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Node {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `expand`, `is_leaf`, and `expand_leaf_and_inc` are never used
[INFO] [stdout]   --> src/days/day10.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Node {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Node {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn expand(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn is_leaf(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn expand_leaf_and_inc(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PairsInclusive` is never constructed
[INFO] [stdout]   --> src/days/day10.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct PairsInclusive<T> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/days/day10.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl<T> PairsInclusive<T> {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 43 |     fn new<S: Iterator<Item = T>>(s: S) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day10` is never constructed
[INFO] [stdout]   --> src/days/day10.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct Day10;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `parse` and `part2_oneliner` are never used
[INFO] [stdout]   --> src/days/day10.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl Day10 {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 70 |     fn parse(&self) -> Vec<usize> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     fn part2_oneliner(self) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Seat` is never used
[INFO] [stdout]  --> src/days/day11.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum Seat {
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/days/day11.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Seat {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 13 |     fn parse(c: char) -> Option<Self> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SeatGrid` is never constructed
[INFO] [stdout]   --> src/days/day11.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct SeatGrid {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse`, `get_location_adjacent`, `get_adjacent_seats`, `change`, and `finish` are never used
[INFO] [stdout]    --> src/days/day11.rs:41:8
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl SeatGrid {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  41 |     fn parse<T: AsRef<str>>(s: T) -> Self {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     fn get_location_adjacent(&self, location: (usize, usize)) -> Vec<(usize, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn get_adjacent_seats(&self, location: (usize, usize)) -> Vec<&Seat> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn change(&mut self) -> usize {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     fn finish(mut self) -> Box<[Box<[Seat]>]> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day11` is never constructed
[INFO] [stdout]    --> src/days/day11.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub struct Day11;
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse` is never used
[INFO] [stdout]    --> src/days/day11.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 167 | impl Day11 {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 168 |     fn parse(&self) -> SeatGrid {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction` is never used
[INFO] [stdout]  --> src/days/day12.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum Instruction {
[INFO] [stdout]   |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/days/day12.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Instruction {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 17 |     fn parse<S: AsRef<str>>(s: S) -> Option<Self> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShipRunner` is never constructed
[INFO] [stdout]   --> src/days/day12.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct ShipRunner<I: Iterator<Item = Instruction>> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `do_instruction` are never used
[INFO] [stdout]   --> src/days/day12.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | / impl<I> ShipRunner<I>
[INFO] [stdout] 43 | | where
[INFO] [stdout] 44 | |     I: Iterator<Item = Instruction>,
[INFO] [stdout]    | |____________________________________- associated items in this implementation
[INFO] [stdout] 45 |   {
[INFO] [stdout] 46 |       fn new(t: I) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |       fn do_instruction(&mut self, inst: Instruction) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShipRunner2` is never constructed
[INFO] [stdout]   --> src/days/day12.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | struct ShipRunner2<I: Iterator<Item = Instruction>> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `do_instruction` are never used
[INFO] [stdout]    --> src/days/day12.rs:101:8
[INFO] [stdout]     |
[INFO] [stdout]  97 | / impl<I> ShipRunner2<I>
[INFO] [stdout]  98 | | where
[INFO] [stdout]  99 | |     I: Iterator<Item = Instruction>,
[INFO] [stdout]     | |____________________________________- associated items in this implementation
[INFO] [stdout] 100 |   {
[INFO] [stdout] 101 |       fn new(t: I) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |       fn do_instruction(&mut self, inst: Instruction) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day12` is never constructed
[INFO] [stdout]    --> src/days/day12.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct Day12;
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse` is never used
[INFO] [stdout]    --> src/days/day12.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | impl Day12 {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 151 |     fn parse(&self) -> Vec<Instruction> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day13` is never constructed
[INFO] [stdout]  --> src/days/day13.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Day13;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `parse` and `parse2` are never used
[INFO] [stdout]   --> src/days/day13.rs:8:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Day13 {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout]  8 |     fn parse(&self) -> (usize, Vec<usize>) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     fn parse2(&self) -> (usize, Vec<(usize, usize)>) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Machine` is never constructed
[INFO] [stdout]   --> src/days/day14.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Machine<I: Iterator<Item = Instruction>> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `finish` are never used
[INFO] [stdout]   --> src/days/day14.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | / impl<I> Machine<I>
[INFO] [stdout] 19 | | where
[INFO] [stdout] 20 | |     I: Iterator<Item = Instruction>,
[INFO] [stdout]    | |____________________________________- associated items in this implementation
[INFO] [stdout] 21 |   {
[INFO] [stdout] 22 |       fn new(i: I) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |       fn finish(mut self) -> HashMap<u64, u64> {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Machine2` is never constructed
[INFO] [stdout]   --> src/days/day14.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct Machine2<I: Iterator<Item = Instruction2>> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `finish` are never used
[INFO] [stdout]   --> src/days/day14.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | / impl<I> Machine2<I>
[INFO] [stdout] 65 | | where
[INFO] [stdout] 66 | |     I: Iterator<Item = Instruction2>,
[INFO] [stdout]    | |_____________________________________- associated items in this implementation
[INFO] [stdout] 67 |   {
[INFO] [stdout] 68 |       fn new(i: I) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |       fn finish(mut self) -> HashMap<u64, u64> {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction` is never used
[INFO] [stdout]    --> src/days/day14.rs:123:6
[INFO] [stdout]     |
[INFO] [stdout] 123 | enum Instruction {
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MaskValues` is never used
[INFO] [stdout]    --> src/days/day14.rs:129:6
[INFO] [stdout]     |
[INFO] [stdout] 129 | enum MaskValues {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]    --> src/days/day14.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl MaskValues {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 136 |     fn parse(c: char) -> Option<Self> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction2` is never used
[INFO] [stdout]    --> src/days/day14.rs:147:6
[INFO] [stdout]     |
[INFO] [stdout] 147 | enum Instruction2 {
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day14` is never constructed
[INFO] [stdout]    --> src/days/day14.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct Day14;
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `parse` and `parse2` are never used
[INFO] [stdout]    --> src/days/day14.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl Day14 {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] 155 |     fn parse(&self) -> Vec<Instruction> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     fn parse2(&self) -> Vec<Instruction2> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Runner` is never constructed
[INFO] [stdout]  --> src/days/day15.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Runner {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/days/day15.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Runner {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 11 |     fn new(inner: Vec<usize>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.21s
[INFO] [stdout] warning: struct `Day15` is never constructed
[INFO] [stdout]   --> src/days/day15.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Day15;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `run` is never used
[INFO] [stdout]   --> src/days/day15.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Day15 {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 48 |     fn run(&self, times: usize) -> usize {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day2` is never constructed
[INFO] [stdout]  --> src/days/day2.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Day2;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day3` is never constructed
[INFO] [stdout]  --> src/days/day3.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Day3;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `day3_crawl` and `parse` are never used
[INFO] [stdout]   --> src/days/day3.rs:6:8
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Day3 {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout]  6 |     fn day3_crawl(&self, value: &Box<[Box<[bool]>]>, mut slope: (usize, usize)) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn parse(&self) -> Box<[Box<[bool]>]> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day4` is never constructed
[INFO] [stdout]  --> src/days/day4.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Day4;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse` is never used
[INFO] [stdout]  --> src/days/day4.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl Day4 {
[INFO] [stdout]   | --------- method in this implementation
[INFO] [stdout] 8 |     fn parse(&self) -> Vec<HashMap<String, String>> {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CuttableRange` is never constructed
[INFO] [stdout]  --> src/days/day5.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct CuttableRange {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `cut`, and `finish` are never used
[INFO] [stdout]   --> src/days/day5.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl CuttableRange {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(start: usize, end: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn cut(&self) -> (Self, Self) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn finish(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day5` is never constructed
[INFO] [stdout]   --> src/days/day5.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Day5;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `parse_identifiers`, `parse_positions`, and `split_range` are never used
[INFO] [stdout]   --> src/days/day5.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl Day5 {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] 33 |     fn parse_identifiers(&self) -> Vec<(&str, &str)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn parse_positions(&self) -> Vec<(usize, usize, usize)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn split_range(&self) {}
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day6` is never constructed
[INFO] [stdout]  --> src/days/day6.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Day6;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse` is never used
[INFO] [stdout]  --> src/days/day6.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl Day6 {
[INFO] [stdout]   | --------- method in this implementation
[INFO] [stdout] 9 |     fn parse(&self) -> Vec<HashSet<char, RandomState>> {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bag` is never constructed
[INFO] [stdout]  --> src/days/day7.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Bag {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `endpoint`, `set_subs`, and `set_parent` are never used
[INFO] [stdout]   --> src/days/day7.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Bag {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new<T: ToString>(s: T) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn endpoint(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn set_subs(&mut self, v: Vec<(usize, String)>) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn set_parent(&mut self, v: String) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day7` is never constructed
[INFO] [stdout]   --> src/days/day7.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct Day7;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `raw_parse`, `parse`, `count1`, and `count2` are never used
[INFO] [stdout]   --> src/days/day7.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Day7 {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] 40 |     fn raw_parse(&self) -> Vec<(String, Vec<(usize, String)>)> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     fn parse(&self) -> HashMap<String, Box<Bag>, RandomState> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     fn count1(&self, a: Vec<String>, map: &HashMap<String, Box<Bag>>) -> Vec<String> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     fn count2(&self, a: String, map: &HashMap<String, Box<Bag>>) -> usize {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InstructionType` is never used
[INFO] [stdout]   --> src/days/day8.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | enum InstructionType {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/days/day8.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl InstructionType {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 17 |     pub fn parse<T: AsRef<str>>(t: T) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Instruction` is never constructed
[INFO] [stdout]   --> src/days/day8.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct Instruction {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `visit`, `not_visited`, and `flip` are never used
[INFO] [stdout]   --> src/days/day8.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl Instruction {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 35 |     fn new(instruction_type: InstructionType, value: isize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn visit(&mut self) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     fn not_visited(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     fn flip(&mut self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day8` is never constructed
[INFO] [stdout]   --> src/days/day8.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct Day8;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `parse`, `parse_permutations`, and `run` are never used
[INFO] [stdout]   --> src/days/day8.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl Day8 {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] 63 |     fn parse(&self) -> Box<[Instruction]> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     fn parse_permutations(&self) -> Vec<Box<[Instruction]>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     fn run(&self, mut instructions: Box<[Instruction]>) -> (isize, bool) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContinuesSubsets` is never constructed
[INFO] [stdout]  --> src/days/day9.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct ContinuesSubsets<T> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/days/day9.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<V> ContinuesSubsets<V> {
[INFO] [stdout]    | --------------------------- associated function in this implementation
[INFO] [stdout] 13 |     fn new<T: Iterator<Item = V>>(v: T) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `XmasRunner` is never constructed
[INFO] [stdout]   --> src/days/day9.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct XmasRunner {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_loaded_comb`, and `finish` are never used
[INFO] [stdout]   --> src/days/day9.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl XmasRunner {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 50 |     fn new<T: Iterator<Item = u128>>(load_size: usize, values: T) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn get_loaded_comb(&self) -> impl Iterator<Item = (u128, u128)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     fn finish(self) -> impl Iterator<Item = u128> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day9` is never constructed
[INFO] [stdout]   --> src/days/day9.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct Day9;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse` is never used
[INFO] [stdout]   --> src/days/day9.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | impl Day9 {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 88 |     fn parse(&self) -> Vec<u128> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "354e73384168c1fb7519a77d26dc69c8f12a49d0c62a7d5c787cd9bd7a2ea4e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "354e73384168c1fb7519a77d26dc69c8f12a49d0c62a7d5c787cd9bd7a2ea4e4", kill_on_drop: false }`
[INFO] [stdout] 354e73384168c1fb7519a77d26dc69c8f12a49d0c62a7d5c787cd9bd7a2ea4e4
