[INFO] cloning repository https://github.com/tomku/advent2021
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tomku/advent2021" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftomku%2Fadvent2021", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftomku%2Fadvent2021'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fe14f5e079dceefbdc634a7b95ba812a70c56e86
[INFO] checking tomku/advent2021 against master#507271bc119683008ec719ecee48814e8ac86c65 for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftomku%2Fadvent2021" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/tomku/advent2021
[INFO] finished tweaking git repo https://github.com/tomku/advent2021
[INFO] tweaked toml for git repo https://github.com/tomku/advent2021 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tomku/advent2021 on toolchain 507271bc119683008ec719ecee48814e8ac86c65
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tomku/advent2021 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" "+507271bc119683008ec719ecee48814e8ac86c65" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bd2494c3f1946626629024c61e5d57ccdc016c87067a3888d77613c16fa2ce11
[INFO] running `Command { std: "docker" "start" "-a" "bd2494c3f1946626629024c61e5d57ccdc016c87067a3888d77613c16fa2ce11", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bd2494c3f1946626629024c61e5d57ccdc016c87067a3888d77613c16fa2ce11", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bd2494c3f1946626629024c61e5d57ccdc016c87067a3888d77613c16fa2ce11", kill_on_drop: false }`
[INFO] [stdout] bd2494c3f1946626629024c61e5d57ccdc016c87067a3888d77613c16fa2ce11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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" "+507271bc119683008ec719ecee48814e8ac86c65" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a2e686c14b2fd6da1cde17f8e888676541eab0ecfb5701e18fc5ad9078d5e4dc
[INFO] running `Command { std: "docker" "start" "-a" "a2e686c14b2fd6da1cde17f8e888676541eab0ecfb5701e18fc5ad9078d5e4dc", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling nom v7.1.0
[INFO] [stderr]     Checking advent2021 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::util::puzzle_input`
[INFO] [stdout]   --> src/day01.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     use crate::util::puzzle_input;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/day01.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::puzzle_input`
[INFO] [stdout]   --> src/day06.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     use crate::util::puzzle_input;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/day06.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::puzzle_input`
[INFO] [stdout]   --> src/day07.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     use crate::util::puzzle_input;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/day07.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> src/day08.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 |             .find(|&p| (p.contains(one_first) && p.contains(one_second))).unwrap();
[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] 33 -             .find(|&p| (p.contains(one_first) && p.contains(one_second))).unwrap();
[INFO] [stdout] 33 +             .find(|&p| p.contains(one_first) && p.contains(one_second) ).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::puzzle_input`
[INFO] [stdout]    --> src/day08.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     use crate::util::puzzle_input;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/day08.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::puzzle_input`
[INFO] [stdout]   --> src/day09.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     use crate::util::puzzle_input;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/day09.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::puzzle_input`
[INFO] [stdout]    --> src/day10.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     use crate::util::puzzle_input;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/day10.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::puzzle_input`
[INFO] [stdout]    --> src/day11.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     use crate::util::puzzle_input;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/day11.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::puzzle_input`
[INFO] [stdout]    --> src/day12.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |     use crate::util::puzzle_input;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/day12.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::puzzle_input`
[INFO] [stdout]   --> src/day13.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     use crate::util::puzzle_input;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/day13.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::puzzle_input`
[INFO] [stdout]   --> src/day14.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     use crate::util::puzzle_input;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/day14.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> src/day08.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 |             .find(|&p| (p.contains(one_first) && p.contains(one_second))).unwrap();
[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] 33 -             .find(|&p| (p.contains(one_first) && p.contains(one_second))).unwrap();
[INFO] [stdout] 33 +             .find(|&p| p.contains(one_first) && p.contains(one_second) ).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_increases` is never used
[INFO] [stdout]  --> src/day01.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn count_increases(depths: Vec<i32>) -> i32 {
[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 `windowed_sum` is never used
[INFO] [stdout]  --> src/day01.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn windowed_sum(nums: Vec<i32>, size: usize) -> Vec<i32> {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digits_as_i32` is never used
[INFO] [stdout]   --> src/day01.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn digits_as_i32(input: &str) -> IResult<&str, i32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `depths` is never used
[INFO] [stdout]   --> src/day01.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub(crate) fn depths(input: &str) -> IResult<&str, Vec<i32>> {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEST_INPUT` is never used
[INFO] [stdout]   --> src/day01.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 |     const TEST_INPUT: &str = "199\n200\n208\n210\n200\n207\n240\n269\n260\n263";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gamma_epsilon` is never used
[INFO] [stdout]  --> src/day03.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn gamma_epsilon(input: &Vec<u32>) -> (u32, u32) {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nth_bit_set` is never used
[INFO] [stdout]   --> src/day03.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn nth_bit_set(num: u32, b: u32) -> bool { (1 << b) & num != 0 }
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rating` is never used
[INFO] [stdout]   --> src/day03.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn rating(mut vecs: Vec<u32>, most_common: bool) -> u32 {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary_number_as_u32` is never used
[INFO] [stdout]   --> src/day03.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn binary_number_as_u32(input: &str) -> IResult<&str, u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vector_of_binary_u32s` is never used
[INFO] [stdout]   --> src/day03.rs:57:19
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub(crate) fn vector_of_binary_u32s(input: &str) -> IResult<&str, Vec<u32>> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `call_sequence` is never used
[INFO] [stdout]   --> src/day04.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn call_sequence(input: &str) -> IResult<&str, Vec<u32>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `board` is never used
[INFO] [stdout]   --> src/day04.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn board(input: &str) -> IResult<&str, BingoBoard> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bingo_game` is never used
[INFO] [stdout]    --> src/day04.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn bingo_game(input: &str) -> IResult<&str, (Vec<u32>, Vec<BingoBoard>)> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `without_diagonals` is never used
[INFO] [stdout]   --> src/day05.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn without_diagonals(lines: &Vec<Line>) -> Vec<Line> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `overlaps` is never used
[INFO] [stdout]   --> src/day05.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn overlaps(map: &HashMap<(i32, i32), i32>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `coord` is never used
[INFO] [stdout]   --> src/day05.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn coord(input: &str) -> IResult<&str, (i32, i32)> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line` is never used
[INFO] [stdout]   --> src/day05.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn line(input: &str) -> IResult<&str, (Point, Point)> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lines` is never used
[INFO] [stdout]   --> src/day05.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub(crate) fn lines(input: &str) -> IResult<&str, Vec<Line>> {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fish_freqs` is never used
[INFO] [stdout]  --> src/day06.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn fish_freqs(fish_list: Vec<u64>) -> Vec<u64> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `grow` is never used
[INFO] [stdout]  --> src/day06.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn grow(freqs: &mut Vec<u64>) {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lanternfish_list` is never used
[INFO] [stdout]   --> src/day06.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub(crate) fn lanternfish_list(input: &str) -> IResult<&str, Vec<u64>> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEST_INPUT` is never used
[INFO] [stdout]   --> src/day06.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 |     const TEST_INPUT: &str = "3,4,3,1,2";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `distances_linear` is never used
[INFO] [stdout]  --> src/day07.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn distances_linear(crabs: &Vec<i64>) -> Vec<i64> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `distances_nonlinear` is never used
[INFO] [stdout]   --> src/day07.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn distances_nonlinear(crabs: &Vec<i64>) -> Vec<i64> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `crab_list` is never used
[INFO] [stdout]   --> src/day07.rs:39:19
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub(crate) fn crab_list(input: &str) -> IResult<&str, Vec<i64>> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEST_INPUT` is never used
[INFO] [stdout]   --> src/day07.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 |     const TEST_INPUT: &str = "16,1,2,0,4,2,7,1,2,14";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `patterns` and `outputs` are never read
[INFO] [stdout]  --> src/day08.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Entry {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 4 |     patterns: Vec<String>,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 5 |     outputs: Vec<String>,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `count_unique_lengths`, `deduce`, and `decode` are never used
[INFO] [stdout]   --> src/day08.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Entry {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout]  9 |     fn count_unique_lengths(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn deduce(&self) -> HashMap<String, &str> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     fn decode(&self, key: &HashMap<String, &str>) -> u32 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pattern` is never used
[INFO] [stdout]   --> src/day08.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn pattern(input: &str) -> IResult<&str, String> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `patterns` is never used
[INFO] [stdout]   --> src/day08.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn patterns(input: &str) -> IResult<&str, Vec<String>> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `entry` is never used
[INFO] [stdout]   --> src/day08.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn entry(input: &str) -> IResult<&str, Entry> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `all_entries` is never used
[INFO] [stdout]   --> src/day08.rs:95:19
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub(crate) fn all_entries(input: &str) -> IResult<&str, Vec<Entry>> {
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEST_INPUT` is never used
[INFO] [stdout]    --> src/day08.rs:105:11
[INFO] [stdout]     |
[INFO] [stdout] 105 |     const TEST_INPUT: &str = "be cfbegad cbdgef fgaecd cgeb fdcge agebfd fecdb fabcd edb | fdgacbe cefdb cefbgd gcbe
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `low_points` is never used
[INFO] [stdout]  --> src/day09.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn low_points(lava_map: &HashMap<(i32, i32), u32>, (cols, rows): (usize, usize)) -> Vec<(i32, i32)> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `risk_total` is never used
[INFO] [stdout]   --> src/day09.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn risk_total(lava_map: &HashMap<(i32, i32), u32>, dims: (usize, usize)) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reachable_from` is never used
[INFO] [stdout]   --> src/day09.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn reachable_from(lava_map: &HashMap<(i32, i32), u32>, start: (i32, i32)) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `top3_basins` is never used
[INFO] [stdout]   --> src/day09.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn top3_basins(lava_map: &HashMap<(i32, i32), u32>, dims: (usize, usize)) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `row` is never used
[INFO] [stdout]   --> src/day09.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn row(input: &str) -> IResult<&str, Vec<u32>> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lava_map` is never used
[INFO] [stdout]   --> src/day09.rs:75:19
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub(crate) fn lava_map(input: &str) -> IResult<&str, ((usize, usize), HashMap<(i32, i32), u32>)> {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEST_INPUT` is never used
[INFO] [stdout]   --> src/day09.rs:95:11
[INFO] [stdout]    |
[INFO] [stdout] 95 |     const TEST_INPUT: &str = "2199943210\n3987894921\n9856789892\n8767896789\n9899965678";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_match` and `close` are never used
[INFO] [stdout]   --> src/day10.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ChunkPart {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 20 |     fn is_match(&self, other: &ChunkPart) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn close(&self) -> ChunkPart {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fix_error` is never used
[INFO] [stdout]   --> src/day10.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn fix_error(line: &Vec<ChunkPart>) -> ChunkError {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `score_corrupt` is never used
[INFO] [stdout]   --> src/day10.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn score_corrupt(subsystem: &Vec<Vec<ChunkPart>>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `score_incomplete` is never used
[INFO] [stdout]   --> src/day10.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn score_incomplete(subsystem: &Vec<Vec<ChunkPart>>) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part` is never used
[INFO] [stdout]    --> src/day10.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn part(input: &str) -> IResult<&str, ChunkPart> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line` is never used
[INFO] [stdout]    --> src/day10.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn line(input: &str) -> IResult<&str, Vec<ChunkPart>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `subsystem` is never used
[INFO] [stdout]    --> src/day10.rs:127:19
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub(crate) fn subsystem(input: &str) -> IResult<&str, Vec<Vec<ChunkPart>>> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEST_INPUT` is never used
[INFO] [stdout]    --> src/day10.rs:137:11
[INFO] [stdout]     |
[INFO] [stdout] 137 |     const TEST_INPUT: &str = "[({(<(())[]>[[{[]{<()<>>
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/day11.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl Grid {
[INFO] [stdout]   | --------- associated function in this implementation
[INFO] [stdout] 8 |     fn new(cells: Vec<u8>) -> Grid {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `grid` is never used
[INFO] [stdout]    --> src/day11.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub(crate) fn grid(input: &str) -> IResult<&str, Grid> {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEST_INPUT` is never used
[INFO] [stdout]    --> src/day11.rs:122:11
[INFO] [stdout]     |
[INFO] [stdout] 122 |     const TEST_INPUT: &str = "5483143223
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `connections`, `names`, and `sizes` are never read
[INFO] [stdout]  --> src/day12.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct CaveMap {
[INFO] [stdout]   |            ------- fields in this struct
[INFO] [stdout] 4 |     connections: Vec<(usize, usize)>,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 5 |     names: Vec<String>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 6 |     sizes: Vec<Size>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/day12.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl CaveMap {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 10 |     fn new() -> CaveMap {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn count_paths(&self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn count_paths_cheat(&self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn count_paths_from(&self, start_id: usize, so_far: &Vec<usize>, allow_single_dupe: bool, output: &mut HashSet<Vec<usize>>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     fn get_id(&self, cave: &str) -> Option<usize> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     fn ensure_id(&mut self, cave: &str) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     fn connect(&mut self, start: &str, end: &str) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     fn is_connected(&self, start: &str, end: &str) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cave` is never used
[INFO] [stdout]    --> src/day12.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn cave(input: &str) -> IResult<&str, &str> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `connection` is never used
[INFO] [stdout]    --> src/day12.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn connection(input: &str) -> IResult<&str, (&str, &str)> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cave_system` is never used
[INFO] [stdout]    --> src/day12.rs:130:19
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub(crate) fn cave_system(input: &str) -> IResult<&str, CaveMap> {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRIVIAL_EXAMPLE` is never used
[INFO] [stdout]    --> src/day12.rs:147:11
[INFO] [stdout]     |
[INFO] [stdout] 147 |     const TRIVIAL_EXAMPLE: &str = "start-A
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SLIGHTLY_LARGER_EXAMPLE` is never used
[INFO] [stdout]    --> src/day12.rs:155:11
[INFO] [stdout]     |
[INFO] [stdout] 155 |     const SLIGHTLY_LARGER_EXAMPLE: &str = "dc-end
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BIG_EXAMPLE` is never used
[INFO] [stdout]    --> src/day12.rs:166:11
[INFO] [stdout]     |
[INFO] [stdout] 166 |     const BIG_EXAMPLE: &str = "fs-end
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `paper` and `folds` are never read
[INFO] [stdout]   --> src/day13.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Instructions {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 16 |     paper: HashSet<(u32, u32)>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 17 |     folds: Vec<Fold>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fold_paper` is never used
[INFO] [stdout]   --> src/day13.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn fold_paper(paper: HashSet<(u32, u32)>, f: &Fold) -> HashSet<(u32, u32)> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `coord` is never used
[INFO] [stdout]   --> src/day13.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn coord(input: &str) -> IResult<&str, (u32, u32)> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fold` is never used
[INFO] [stdout]   --> src/day13.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn fold(input: &str) -> IResult<&str, Fold> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `instructions` is never used
[INFO] [stdout]   --> src/day13.rs:70:19
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub(crate) fn instructions(input: &str) -> IResult<&str, Instructions> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXAMPLE_INPUT` is never used
[INFO] [stdout]   --> src/day13.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 |     const EXAMPLE_INPUT: &str = "6,10
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `steps` is never used
[INFO] [stdout]  --> src/day14.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn steps(polymer: &str, count: u32, rules: &HashMap<(char, char), char>) -> HashMap<char, u64> {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `template` is never used
[INFO] [stdout]   --> src/day14.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn template(input: &str) -> IResult<&str, String> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rules` is never used
[INFO] [stdout]   --> src/day14.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn rules(input: &str) -> IResult<&str, HashMap<(char, char), char>> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `polymer` is never used
[INFO] [stdout]   --> src/day14.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub(crate) fn polymer(input: &str) -> IResult<&str, (String, HashMap<(char, char), char>)> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXAMPLE_INPUT` is never used
[INFO] [stdout]   --> src/day14.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 |     const EXAMPLE_INPUT: &str = "NNCB
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.09s
[INFO] running `Command { std: "docker" "inspect" "a2e686c14b2fd6da1cde17f8e888676541eab0ecfb5701e18fc5ad9078d5e4dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a2e686c14b2fd6da1cde17f8e888676541eab0ecfb5701e18fc5ad9078d5e4dc", kill_on_drop: false }`
[INFO] [stdout] a2e686c14b2fd6da1cde17f8e888676541eab0ecfb5701e18fc5ad9078d5e4dc
