[INFO] cloning repository https://github.com/ErichDonGubler/advent-of-code-2020
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ErichDonGubler/advent-of-code-2020" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FErichDonGubler%2Fadvent-of-code-2020", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FErichDonGubler%2Fadvent-of-code-2020'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 64c49988e68c6e4f208417244b239ae3d852b2c5
[INFO] checking ErichDonGubler/advent-of-code-2020 against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FErichDonGubler%2Fadvent-of-code-2020" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ErichDonGubler/advent-of-code-2020 on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ErichDonGubler/advent-of-code-2020
[INFO] finished tweaking git repo https://github.com/ErichDonGubler/advent-of-code-2020
[INFO] tweaked toml for git repo https://github.com/ErichDonGubler/advent-of-code-2020 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/ErichDonGubler/advent-of-code-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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unicode-xid v0.2.1
[INFO] [stderr]   Downloaded serde v1.0.117
[INFO] [stderr]   Downloaded dtoa v0.4.6
[INFO] [stderr]   Downloaded proc-macro2 v1.0.24
[INFO] [stderr]   Downloaded itoa v0.4.6
[INFO] [stderr]   Downloaded ux v0.1.3
[INFO] [stderr]   Downloaded memchr v2.3.4
[INFO] [stderr]   Downloaded quote v1.0.7
[INFO] [stderr]   Downloaded serde_derive v1.0.117
[INFO] [stderr]   Downloaded unicode-normalization v0.1.16
[INFO] [stderr]   Downloaded aho-corasick v0.7.15
[INFO] [stderr]   Downloaded regex v1.4.2
[INFO] [stderr]   Downloaded regex-syntax v0.6.21
[INFO] [stderr]   Downloaded syn v1.0.53
[INFO] [stderr]   Downloaded serde_json v1.0.60
[INFO] [stderr]   Downloaded tinyvec v1.1.0
[INFO] [stderr]   Downloaded anyhow v1.0.34
[INFO] [stderr]   Downloaded ryu v1.0.5
[INFO] [stderr]   Downloaded re-parse-macros v0.1.0
[INFO] [stderr]   Downloaded array_iterator v1.2.0
[INFO] [stderr]   Downloaded re-parse v0.1.0
[INFO] [stderr]   Downloaded automod v1.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e6ec48005f39b3ede663d8f4b5036f186b4047f6e47ee0c038c288182bc49ecf
[INFO] running `Command { std: "docker" "start" "-a" "e6ec48005f39b3ede663d8f4b5036f186b4047f6e47ee0c038c288182bc49ecf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e6ec48005f39b3ede663d8f4b5036f186b4047f6e47ee0c038c288182bc49ecf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e6ec48005f39b3ede663d8f4b5036f186b4047f6e47ee0c038c288182bc49ecf", kill_on_drop: false }`
[INFO] [stdout] e6ec48005f39b3ede663d8f4b5036f186b4047f6e47ee0c038c288182bc49ecf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 812597c022bbdbd493402894fd4c391641913ad5917c5c57de8556db7c7aa468
[INFO] running `Command { std: "docker" "start" "-a" "812597c022bbdbd493402894fd4c391641913ad5917c5c57de8556db7c7aa468", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.53
[INFO] [stderr]     Checking tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.117
[INFO] [stderr]    Compiling serde v1.0.117
[INFO] [stderr]     Checking matches v0.1.8
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]     Checking itoa v0.4.6
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]     Checking regex-syntax v0.6.21
[INFO] [stderr]    Compiling serde_json v1.0.60
[INFO] [stderr]     Checking dtoa v0.4.6
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking tinyvec v1.1.0
[INFO] [stderr]     Checking unicode-bidi v0.3.4
[INFO] [stderr]    Compiling anyhow v1.0.34
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking array_iterator v1.2.0
[INFO] [stderr]     Checking ux v0.1.3
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking aho-corasick v0.7.15
[INFO] [stderr]     Checking unicode-normalization v0.1.16
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]     Checking url v1.7.2
[INFO] [stderr]     Checking regex v1.4.2
[INFO] [stderr]    Compiling automod v1.0.0
[INFO] [stderr]    Compiling re-parse-macros v0.1.0
[INFO] [stderr]     Checking serde_urlencoded v0.5.5
[INFO] [stderr]     Checking re-parse v0.1.0
[INFO] [stderr]     Checking advent-of-code-2020 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Context`, `crate::parsing::lines_without_endings`
[INFO] [stdout]  --> src/days/d05.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     crate::parsing::lines_without_endings,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     anyhow::{bail, ensure, Context},
[INFO] [stdout]   |                            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/days/d02.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     itertools::Itertools,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUM_TARGET` is never used
[INFO] [stdout]  --> src/days/d01.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const SUM_TARGET: u32 = 2020;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `entries`, `sum`, and `product` are never read
[INFO] [stdout]   --> src/days/d01.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | struct Answer {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 10 |     entries: Vec<(usize, u32)>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 11 |     sum: u32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 12 |     product: u32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Answer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_2020_sum_constituents` is never used
[INFO] [stdout]   --> src/days/d01.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn find_2020_sum_constituents(input: &str, num_entries: usize) -> anyhow::Result<Option<Answer>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_1` is never used
[INFO] [stdout]    --> src/days/d01.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn part_1(input: &str) -> anyhow::Result<Part1Answer> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_2` is never used
[INFO] [stdout]    --> src/days/d01.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn part_2(input: &str) -> anyhow::Result<Part2Answer> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXAMPLE` is never used
[INFO] [stdout]    --> src/days/d01.rs:186:7
[INFO] [stdout]     |
[INFO] [stdout] 186 | const EXAMPLE: &str = "
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]    --> src/days/d01.rs:194:7
[INFO] [stdout]     |
[INFO] [stdout] 194 | const INPUT: &str = include_str!("d01.txt");
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_policy_password_pair` is never used
[INFO] [stdout]   --> src/days/d02.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn parse_policy_password_pair<T>(s: &str) -> anyhow::Result<(T, Cow<'_, str>)>
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lower`, `upper`, `character`, and `password` are never read
[INFO] [stdout]   --> src/days/d02.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     struct RawPasswordPolicy<'a> {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 31 |         lower: u8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 32 |         upper: u8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 33 |         character: char,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 34 |         password: Cow<'a, str>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RawPasswordPolicy` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_password_policy_lines` is never used
[INFO] [stdout]   --> src/days/d02.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn parse_password_policy_lines<T>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_1` is never used
[INFO] [stdout]   --> src/days/d02.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn part_1(s: &str) -> usize {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_2` is never used
[INFO] [stdout]    --> src/days/d02.rs:144:4
[INFO] [stdout]     |
[INFO] [stdout] 144 | fn part_2(s: &str) -> usize {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE` is never used
[INFO] [stdout]    --> src/days/d02.rs:151:7
[INFO] [stdout]     |
[INFO] [stdout] 151 | const SAMPLE: &str = "\
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]    --> src/days/d02.rs:157:7
[INFO] [stdout]     |
[INFO] [stdout] 157 | const INPUT: &str = include_str!("d02.txt");
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE` is never used
[INFO] [stdout]  --> src/days/d03.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const SAMPLE: &str = "\
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]   --> src/days/d03.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const INPUT: &str = include_str!("d03.txt");
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `OpenSquare` and `Tree` are never constructed
[INFO] [stdout]   --> src/days/d03.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | enum TobogganAreaTile {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout] 26 |     OpenSquare,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 27 |     Tree,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TobogganAreaTile` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `definition_width` and `tiles` are never read
[INFO] [stdout]   --> src/days/d03.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct TobogganArea {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 32 |     definition_width: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     tiles: Vec<TobogganAreaTile>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TobogganArea` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `horiz_step` and `vert_step` are never read
[INFO] [stdout]   --> src/days/d03.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct TobogganSlope {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 38 |     horiz_step: NonZeroUsize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 39 |     vert_step: NonZeroUsize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TobogganSlope` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `iter_slope_tiles` are never used
[INFO] [stdout]   --> src/days/d03.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl TobogganArea {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 43 |     fn new(s: &str) -> anyhow::Result<Self> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     fn iter_slope_tiles(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_1` is never used
[INFO] [stdout]    --> src/days/d03.rs:161:4
[INFO] [stdout]     |
[INFO] [stdout] 161 | fn part_1(s: &str) -> anyhow::Result<usize> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_2` is never used
[INFO] [stdout]    --> src/days/d03.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn part_2(s: &str) -> anyhow::Result<usize> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE` is never used
[INFO] [stdout]  --> src/days/d04.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const SAMPLE: &str = "\
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]   --> src/days/d04.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const INPUT: &str = include_str!("d04.txt");
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_key_value_records` is never used
[INFO] [stdout]   --> src/days/d04.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn parse_key_value_records(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/days/d04.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct RawCommonIdentityFields {
[INFO] [stdout]    |        ----------------------- fields in this struct
[INFO] [stdout] 43 |     #[serde(rename = "byr")]
[INFO] [stdout] 44 |     birth_year: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 45 |     #[serde(rename = "iyr")]
[INFO] [stdout] 46 |     issue_year: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 47 |     #[serde(rename = "eyr")]
[INFO] [stdout] 48 |     expiration_year: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 49 |     #[serde(rename = "hgt")]
[INFO] [stdout] 50 |     height: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 51 |     #[serde(rename = "hcl")]
[INFO] [stdout] 52 |     hair_color: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 53 |     #[serde(rename = "ecl")]
[INFO] [stdout] 54 |     eye_color: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 55 |     #[serde(rename = "pid")]
[INFO] [stdout] 56 |     passport_id: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RawCommonIdentityFields` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/days/d04.rs:62:26
[INFO] [stdout]    |
[INFO] [stdout] 62 |     NorthPoleCredentials(RawCommonIdentityFields),
[INFO] [stdout]    |     -------------------- ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 62 |     NorthPoleCredentials(()),
[INFO] [stdout]    |                          ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `country_id` and `common` are never read
[INFO] [stdout]   --> src/days/d04.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Passport {
[INFO] [stdout]    |     -------- fields in this variant
[INFO] [stdout] 64 |         #[serde(rename = "cid")]
[INFO] [stdout] 65 |         country_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 66 |         #[serde(flatten)]
[INFO] [stdout] 67 |         common: RawCommonIdentityFields,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_identity_record` is never used
[INFO] [stdout]   --> src/days/d04.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn parse_identity_record(map: Map<String, JsonValue>) -> anyhow::Result<RawIdentity> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_records` is never used
[INFO] [stdout]   --> src/days/d04.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn count_records<F>(s: &str, mut f: F) -> anyhow::Result<usize>
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_1` is never used
[INFO] [stdout]   --> src/days/d04.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn part_1(s: &str) -> anyhow::Result<usize> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_birth_year` is never used
[INFO] [stdout]   --> src/days/d04.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn validate_birth_year(birth_year: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_height` is never used
[INFO] [stdout]   --> src/days/d04.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn validate_height(height: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_hair_color` is never used
[INFO] [stdout]    --> src/days/d04.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn validate_hair_color(hair_color: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_eye_color` is never used
[INFO] [stdout]    --> src/days/d04.rs:117:4
[INFO] [stdout]     |
[INFO] [stdout] 117 | fn validate_eye_color(eye_color: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_passport_id` is never used
[INFO] [stdout]    --> src/days/d04.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn validate_passport_id(passport_id: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_common_identity_fields` is never used
[INFO] [stdout]    --> src/days/d04.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn validate_common_identity_fields(common: &RawCommonIdentityFields) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_2` is never used
[INFO] [stdout]    --> src/days/d04.rs:156:4
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn part_2(s: &str) -> anyhow::Result<usize> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]  --> src/days/d05.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const INPUT: &str = include_str!("d05.txt");
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `TEN_RIGHTMOST_BITS`, `row_and_seat`, and `checked_add` are never used
[INFO] [stdout]   --> src/days/d05.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl SeatId {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 66 |     const TEN_RIGHTMOST_BITS: u16 = 0x03FF;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 67 |
[INFO] [stdout] 68 |     pub fn row_and_seat(self) -> (u7, u3) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn checked_add(self, addend: u16) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE` is never used
[INFO] [stdout]  --> src/days/d06.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const SAMPLE: &str = "\
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_of_unique_question_answer_counts` is never used
[INFO] [stdout]   --> src/days/d06.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn sum_of_unique_question_answer_counts(s: &str) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]   --> src/days/d06.rs:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | const INPUT: &str = include_str!("d06.txt");
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_of_group_individuals_who_answered_yes_in_each_group` is never used
[INFO] [stdout]   --> src/days/d06.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn sum_of_group_individuals_who_answered_yes_in_each_group(s: &str) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE` is never used
[INFO] [stdout]   --> src/days/d07.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const SAMPLE: &str = "\
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]   --> src/days/d07.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const INPUT: &str = include_str!("d07.txt");
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_luggage_rules` is never used
[INFO] [stdout]   --> src/days/d07.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn parse_luggage_rules(s: &str) -> anyhow::Result<LuggageRules<'_>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_1` is never used
[INFO] [stdout]    --> src/days/d07.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn part_1(s: &str) -> anyhow::Result<usize> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_2` is never used
[INFO] [stdout]    --> src/days/d07.rs:198:4
[INFO] [stdout]     |
[INFO] [stdout] 198 | fn part_2(s: &str) -> anyhow::Result<u32> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE` is never used
[INFO] [stdout]  --> src/days/d08.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const SAMPLE: &str = "\
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]   --> src/days/d08.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const INPUT: &str = include_str!("d08.txt");
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `operation` and `argument` are never read
[INFO] [stdout]   --> src/days/d08.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct BootCodeInstruction {
[INFO] [stdout]    |        ------------------- fields in this struct
[INFO] [stdout] 29 |     operation: BootCodeOperation,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 30 |     argument: i16,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BootCodeInstruction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Accumulate`, `Jump`, and `NoOp` are never constructed
[INFO] [stdout]   --> src/days/d08.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | enum BootCodeOperation {
[INFO] [stdout]    |      ----------------- variants in this enum
[INFO] [stdout] 35 |     Accumulate,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 36 |     Jump,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 37 |     NoOp,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BootCodeOperation` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `instruction_counter` and `accumulator` are never read
[INFO] [stdout]   --> src/days/d08.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct BootCodeEmulator {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] 42 |     instruction_counter: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 43 |     accumulator: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BootCodeEmulator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `zeroed` and `execute_single_instruction` are never used
[INFO] [stdout]   --> src/days/d08.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl BootCodeEmulator {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 47 |     fn zeroed() -> Self {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn execute_single_instruction(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_instructions` is never used
[INFO] [stdout]    --> src/days/d08.rs:111:4
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn parse_instructions(s: &str) -> anyhow::Result<Vec<BootCodeInstruction>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_1` is never used
[INFO] [stdout]    --> src/days/d08.rs:141:4
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn part_1(s: &str) -> anyhow::Result<i32> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_2` is never used
[INFO] [stdout]    --> src/days/d08.rs:156:4
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn part_2(s: &str) -> anyhow::Result<i32> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data` and `preamble_len` are never read
[INFO] [stdout]   --> src/days/d09.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | struct XmasEncryptedData {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] 9  |     data: Vec<u64>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     preamble_len: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `XmasEncryptedData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse`, `day_input`, `sample`, and `find_first_weakness` are never used
[INFO] [stdout]   --> src/days/d09.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl XmasEncryptedData {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 14 |     fn parse(s: &str, preamble_len: usize) -> anyhow::Result<Self> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn day_input() -> Self {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn sample() -> Self {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     fn find_first_weakness(&self) -> Option<(usize, u64)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_1` is never used
[INFO] [stdout]   --> src/days/d09.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn part_1(encrypted_data: &XmasEncryptedData) -> anyhow::Result<(usize, u64)> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_2` is never used
[INFO] [stdout]    --> src/days/d09.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn part_2(encrypted_data: &XmasEncryptedData) -> anyhow::Result<(u64, u64, u64)> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `joltage_flows_between_adapters`, `connectable`, and `num_valid_variants` are never used
[INFO] [stdout]   --> src/days/d10.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl JoltageAdapterSet {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 45 |     #[track_caller]
[INFO] [stdout] 46 |     fn joltage_flows_between_adapters(source: u16, target: u16) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn connectable(&self) -> ConnectableJoltageAdapterSet<'_> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn num_valid_variants(&self) -> anyhow::Result<usize> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `on_break_single_step_skippable_streak`, `accumulate`, and `finished` are never used
[INFO] [stdout]    --> src/days/d10.rs:75:16
[INFO] [stdout]     |
[INFO] [stdout] 74  |         impl PossibilityAccumulator {
[INFO] [stdout]     |         --------------------------- associated items in this implementation
[INFO] [stdout] 75  |             fn new() -> Self {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 83  |             fn on_break_single_step_skippable_streak(&mut self) -> anyhow::Result<()> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |             pub fn accumulate(&mut self, skippable: u16) -> anyhow::Result<()> {
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |             pub fn finished(mut self) -> anyhow::Result<usize> {
[INFO] [stdout]     |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `diff_counts` is never used
[INFO] [stdout]    --> src/days/d10.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 153 | impl ConnectableJoltageAdapterSet<'_> {
[INFO] [stdout]     | ------------------------------------- method in this implementation
[INFO] [stdout] 154 |     fn diff_counts(&self) -> JoltDiffCounts {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FIRST_SAMPLE` is never used
[INFO] [stdout]    --> src/days/d10.rs:182:7
[INFO] [stdout]     |
[INFO] [stdout] 182 | const FIRST_SAMPLE: &str = "\
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECOND_SAMPLE` is never used
[INFO] [stdout]    --> src/days/d10.rs:196:7
[INFO] [stdout]     |
[INFO] [stdout] 196 | const SECOND_SAMPLE: &str = "\
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]    --> src/days/d10.rs:271:7
[INFO] [stdout]     |
[INFO] [stdout] 271 | const INPUT: &str = include_str!("d10.txt");
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_2` is never used
[INFO] [stdout]    --> src/days/d10.rs:308:4
[INFO] [stdout]     |
[INFO] [stdout] 308 | fn part_2(s: &str) -> anyhow::Result<usize> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `tiles` is never used
[INFO] [stdout]    --> src/days/d11.rs:145:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | impl WaitingAreaMap {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] 145 |     fn tiles(&self) -> &[WaitingAreaMapTile] {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `map_copies` and `curr_map_idx` are never read
[INFO] [stdout]    --> src/days/d11.rs:341:5
[INFO] [stdout]     |
[INFO] [stdout] 340 | struct WaitingAreaSeatingSimulation {
[INFO] [stdout]     |        ---------------------------- fields in this struct
[INFO] [stdout] 341 |     map_copies: [WaitingAreaMap; 2],
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 342 |     curr_map_idx: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WaitingAreaSeatingSimulation` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next_step`, and `current_state` are never used
[INFO] [stdout]    --> src/days/d11.rs:370:12
[INFO] [stdout]     |
[INFO] [stdout] 369 | impl WaitingAreaSeatingSimulation {
[INFO] [stdout]     | --------------------------------- associated items in this implementation
[INFO] [stdout] 370 |     pub fn new(starting_map: WaitingAreaMap) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     fn next_step<B>(&mut self, mut occupant_behavior: B) -> Option<&WaitingAreaMap>
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 |     pub fn current_state(&self) -> &WaitingAreaMap {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `num_seats_with_behavior` is never used
[INFO] [stdout]    --> src/days/d11.rs:433:4
[INFO] [stdout]     |
[INFO] [stdout] 433 | fn num_seats_with_behavior<B>(mut b: B) -> anyhow::Result<usize>
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE` is never used
[INFO] [stdout]    --> src/days/d11.rs:497:7
[INFO] [stdout]     |
[INFO] [stdout] 497 | const SAMPLE: &str = "\
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_simulation_steps_and_exhaustion` is never used
[INFO] [stdout]    --> src/days/d11.rs:664:4
[INFO] [stdout]     |
[INFO] [stdout] 664 | fn check_simulation_steps_and_exhaustion<'a, B>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `manhattan_distance_from_origin`, and `position` are never used
[INFO] [stdout]    --> src/days/d12.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl Ship {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 113 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn manhattan_distance_from_origin(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn position(&self) -> ((EastWest, u64), (NorthSouth, u64)) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `North` and `South` are never constructed
[INFO] [stdout]    --> src/days/d12.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub enum NorthSouth {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 154 |     North,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 155 |     South,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NorthSouth` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `East` and `West` are never constructed
[INFO] [stdout]    --> src/days/d12.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub enum EastWest {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] 160 |     East,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 161 |     West,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EastWest` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_navigation_instructions` is never used
[INFO] [stdout]    --> src/days/d12.rs:201:4
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn parse_navigation_instructions(s: &str) -> anyhow::Result<Vec<NavigationInstruction>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `abs_unsigned` is never used
[INFO] [stdout]    --> src/days/d12.rs:211:4
[INFO] [stdout]     |
[INFO] [stdout] 211 | fn abs_unsigned(x: i64) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `navigate` is never used
[INFO] [stdout]    --> src/days/d12.rs:232:4
[INFO] [stdout]     |
[INFO] [stdout] 232 | fn navigate<T>(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `position`, `waypoint`, and `manhattan_distance_from_origin` are never used
[INFO] [stdout]    --> src/days/d12.rs:358:8
[INFO] [stdout]     |
[INFO] [stdout] 306 | impl NavigationSystem {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 358 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub fn position(&self) -> ((EastWest, u64), (NorthSouth, u64)) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     pub fn waypoint(&self) -> ((EastWest, u64), (NorthSouth, u64)) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub fn manhattan_distance_from_origin(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE` is never used
[INFO] [stdout]    --> src/days/d12.rs:429:7
[INFO] [stdout]     |
[INFO] [stdout] 429 | const SAMPLE: &str = "\
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]    --> src/days/d12.rs:528:7
[INFO] [stdout]     |
[INFO] [stdout] 528 | const INPUT: &str = include_str!("d12.txt");
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_position` is never used
[INFO] [stdout]    --> src/days/d12.rs:530:4
[INFO] [stdout]     |
[INFO] [stdout] 530 | fn convert_position(coords: (i64, i64)) -> ((EastWest, u64), (NorthSouth, u64)) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `manhattan_distance` is never used
[INFO] [stdout]    --> src/days/d12.rs:552:4
[INFO] [stdout]     |
[INFO] [stdout] 552 | fn manhattan_distance((x, y): (i64, i64)) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `answer` are never used
[INFO] [stdout]   --> src/days/d13.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl Part1Calculation {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 55 |     pub fn new(data: &Part1Data) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn answer(&self) -> anyhow::Result<u32> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 89 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `country_id` is never read
[INFO] [stdout]   --> src/days/d04.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Passport {
[INFO] [stdout]    |     -------- field in this variant
[INFO] [stdout] 64 |         #[serde(rename = "cid")]
[INFO] [stdout] 65 |         country_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 7.41s
[INFO] running `Command { std: "docker" "inspect" "812597c022bbdbd493402894fd4c391641913ad5917c5c57de8556db7c7aa468", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "812597c022bbdbd493402894fd4c391641913ad5917c5c57de8556db7c7aa468", kill_on_drop: false }`
[INFO] [stdout] 812597c022bbdbd493402894fd4c391641913ad5917c5c57de8556db7c7aa468
[INFO] checking ErichDonGubler/advent-of-code-2020 against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FErichDonGubler%2Fadvent-of-code-2020" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ErichDonGubler/advent-of-code-2020 on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ErichDonGubler/advent-of-code-2020
[INFO] finished tweaking git repo https://github.com/ErichDonGubler/advent-of-code-2020
[INFO] tweaked toml for git repo https://github.com/ErichDonGubler/advent-of-code-2020 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/ErichDonGubler/advent-of-code-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" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6326361e948e5d43c9438a47b2e32dcda8f6865d7171e0d6ddf339119db7b261
[INFO] running `Command { std: "docker" "start" "-a" "6326361e948e5d43c9438a47b2e32dcda8f6865d7171e0d6ddf339119db7b261", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6326361e948e5d43c9438a47b2e32dcda8f6865d7171e0d6ddf339119db7b261", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6326361e948e5d43c9438a47b2e32dcda8f6865d7171e0d6ddf339119db7b261", kill_on_drop: false }`
[INFO] [stdout] 6326361e948e5d43c9438a47b2e32dcda8f6865d7171e0d6ddf339119db7b261
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dnon_local_definitions" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 060dd4e1463c47cc6f75c5d37c36d24db5a1b459867cabbd5ada7283db90fa0c
[INFO] running `Command { std: "docker" "start" "-a" "060dd4e1463c47cc6f75c5d37c36d24db5a1b459867cabbd5ada7283db90fa0c", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.53
[INFO] [stderr]     Checking tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.117
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]     Checking matches v0.1.8
[INFO] [stderr]    Compiling serde v1.0.117
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]     Checking itoa v0.4.6
[INFO] [stderr]     Checking dtoa v0.4.6
[INFO] [stderr]    Compiling anyhow v1.0.34
[INFO] [stderr]     Checking regex-syntax v0.6.21
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking tinyvec v1.1.0
[INFO] [stderr]     Checking unicode-bidi v0.3.4
[INFO] [stderr]    Compiling serde_json v1.0.60
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking ux v0.1.3
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking array_iterator v1.2.0
[INFO] [stderr]     Checking aho-corasick v0.7.15
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]     Checking unicode-normalization v0.1.16
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]     Checking regex v1.4.2
[INFO] [stderr]     Checking url v1.7.2
[INFO] [stderr]    Compiling automod v1.0.0
[INFO] [stderr]    Compiling re-parse-macros v0.1.0
[INFO] [stderr]     Checking serde_urlencoded v0.5.5
[INFO] [stderr]     Checking re-parse v0.1.0
[INFO] [stderr]     Checking advent-of-code-2020 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Context`, `crate::parsing::lines_without_endings`
[INFO] [stdout]  --> src/days/d05.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     crate::parsing::lines_without_endings,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     anyhow::{bail, ensure, Context},
[INFO] [stdout]   |                            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/days/d02.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     itertools::Itertools,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUM_TARGET` is never used
[INFO] [stdout]  --> src/days/d01.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const SUM_TARGET: u32 = 2020;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `entries`, `sum`, and `product` are never read
[INFO] [stdout]   --> src/days/d01.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | struct Answer {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 10 |     entries: Vec<(usize, u32)>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 11 |     sum: u32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 12 |     product: u32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Answer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_2020_sum_constituents` is never used
[INFO] [stdout]   --> src/days/d01.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn find_2020_sum_constituents(input: &str, num_entries: usize) -> anyhow::Result<Option<Answer>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_1` is never used
[INFO] [stdout]    --> src/days/d01.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn part_1(input: &str) -> anyhow::Result<Part1Answer> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_2` is never used
[INFO] [stdout]    --> src/days/d01.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn part_2(input: &str) -> anyhow::Result<Part2Answer> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXAMPLE` is never used
[INFO] [stdout]    --> src/days/d01.rs:186:7
[INFO] [stdout]     |
[INFO] [stdout] 186 | const EXAMPLE: &str = "
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]    --> src/days/d01.rs:194:7
[INFO] [stdout]     |
[INFO] [stdout] 194 | const INPUT: &str = include_str!("d01.txt");
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_policy_password_pair` is never used
[INFO] [stdout]   --> src/days/d02.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn parse_policy_password_pair<T>(s: &str) -> anyhow::Result<(T, Cow<'_, str>)>
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lower`, `upper`, `character`, and `password` are never read
[INFO] [stdout]   --> src/days/d02.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     struct RawPasswordPolicy<'a> {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 31 |         lower: u8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 32 |         upper: u8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 33 |         character: char,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 34 |         password: Cow<'a, str>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RawPasswordPolicy` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_password_policy_lines` is never used
[INFO] [stdout]   --> src/days/d02.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn parse_password_policy_lines<T>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_1` is never used
[INFO] [stdout]   --> src/days/d02.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn part_1(s: &str) -> usize {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_2` is never used
[INFO] [stdout]    --> src/days/d02.rs:144:4
[INFO] [stdout]     |
[INFO] [stdout] 144 | fn part_2(s: &str) -> usize {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE` is never used
[INFO] [stdout]    --> src/days/d02.rs:151:7
[INFO] [stdout]     |
[INFO] [stdout] 151 | const SAMPLE: &str = "\
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]    --> src/days/d02.rs:157:7
[INFO] [stdout]     |
[INFO] [stdout] 157 | const INPUT: &str = include_str!("d02.txt");
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE` is never used
[INFO] [stdout]  --> src/days/d03.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const SAMPLE: &str = "\
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]   --> src/days/d03.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const INPUT: &str = include_str!("d03.txt");
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `OpenSquare` and `Tree` are never constructed
[INFO] [stdout]   --> src/days/d03.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | enum TobogganAreaTile {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout] 26 |     OpenSquare,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 27 |     Tree,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TobogganAreaTile` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `definition_width` and `tiles` are never read
[INFO] [stdout]   --> src/days/d03.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct TobogganArea {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 32 |     definition_width: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     tiles: Vec<TobogganAreaTile>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TobogganArea` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `horiz_step` and `vert_step` are never read
[INFO] [stdout]   --> src/days/d03.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct TobogganSlope {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 38 |     horiz_step: NonZeroUsize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 39 |     vert_step: NonZeroUsize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TobogganSlope` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `iter_slope_tiles` are never used
[INFO] [stdout]   --> src/days/d03.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl TobogganArea {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 43 |     fn new(s: &str) -> anyhow::Result<Self> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     fn iter_slope_tiles(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_1` is never used
[INFO] [stdout]    --> src/days/d03.rs:161:4
[INFO] [stdout]     |
[INFO] [stdout] 161 | fn part_1(s: &str) -> anyhow::Result<usize> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_2` is never used
[INFO] [stdout]    --> src/days/d03.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn part_2(s: &str) -> anyhow::Result<usize> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE` is never used
[INFO] [stdout]  --> src/days/d04.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const SAMPLE: &str = "\
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]   --> src/days/d04.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const INPUT: &str = include_str!("d04.txt");
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_key_value_records` is never used
[INFO] [stdout]   --> src/days/d04.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn parse_key_value_records(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/days/d04.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct RawCommonIdentityFields {
[INFO] [stdout]    |        ----------------------- fields in this struct
[INFO] [stdout] 43 |     #[serde(rename = "byr")]
[INFO] [stdout] 44 |     birth_year: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 45 |     #[serde(rename = "iyr")]
[INFO] [stdout] 46 |     issue_year: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 47 |     #[serde(rename = "eyr")]
[INFO] [stdout] 48 |     expiration_year: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 49 |     #[serde(rename = "hgt")]
[INFO] [stdout] 50 |     height: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 51 |     #[serde(rename = "hcl")]
[INFO] [stdout] 52 |     hair_color: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 53 |     #[serde(rename = "ecl")]
[INFO] [stdout] 54 |     eye_color: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 55 |     #[serde(rename = "pid")]
[INFO] [stdout] 56 |     passport_id: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RawCommonIdentityFields` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/days/d04.rs:62:26
[INFO] [stdout]    |
[INFO] [stdout] 62 |     NorthPoleCredentials(RawCommonIdentityFields),
[INFO] [stdout]    |     -------------------- ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 62 |     NorthPoleCredentials(()),
[INFO] [stdout]    |                          ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `country_id` and `common` are never read
[INFO] [stdout]   --> src/days/d04.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Passport {
[INFO] [stdout]    |     -------- fields in this variant
[INFO] [stdout] 64 |         #[serde(rename = "cid")]
[INFO] [stdout] 65 |         country_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 66 |         #[serde(flatten)]
[INFO] [stdout] 67 |         common: RawCommonIdentityFields,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_identity_record` is never used
[INFO] [stdout]   --> src/days/d04.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn parse_identity_record(map: Map<String, JsonValue>) -> anyhow::Result<RawIdentity> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_records` is never used
[INFO] [stdout]   --> src/days/d04.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn count_records<F>(s: &str, mut f: F) -> anyhow::Result<usize>
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_1` is never used
[INFO] [stdout]   --> src/days/d04.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn part_1(s: &str) -> anyhow::Result<usize> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_birth_year` is never used
[INFO] [stdout]   --> src/days/d04.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn validate_birth_year(birth_year: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_height` is never used
[INFO] [stdout]   --> src/days/d04.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn validate_height(height: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_hair_color` is never used
[INFO] [stdout]    --> src/days/d04.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn validate_hair_color(hair_color: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_eye_color` is never used
[INFO] [stdout]    --> src/days/d04.rs:117:4
[INFO] [stdout]     |
[INFO] [stdout] 117 | fn validate_eye_color(eye_color: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_passport_id` is never used
[INFO] [stdout]    --> src/days/d04.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn validate_passport_id(passport_id: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_common_identity_fields` is never used
[INFO] [stdout]    --> src/days/d04.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn validate_common_identity_fields(common: &RawCommonIdentityFields) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_2` is never used
[INFO] [stdout]    --> src/days/d04.rs:156:4
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn part_2(s: &str) -> anyhow::Result<usize> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]  --> src/days/d05.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const INPUT: &str = include_str!("d05.txt");
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `TEN_RIGHTMOST_BITS`, `row_and_seat`, and `checked_add` are never used
[INFO] [stdout]   --> src/days/d05.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl SeatId {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 66 |     const TEN_RIGHTMOST_BITS: u16 = 0x03FF;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 67 |
[INFO] [stdout] 68 |     pub fn row_and_seat(self) -> (u7, u3) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn checked_add(self, addend: u16) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE` is never used
[INFO] [stdout]  --> src/days/d06.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const SAMPLE: &str = "\
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_of_unique_question_answer_counts` is never used
[INFO] [stdout]   --> src/days/d06.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn sum_of_unique_question_answer_counts(s: &str) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]   --> src/days/d06.rs:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | const INPUT: &str = include_str!("d06.txt");
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_of_group_individuals_who_answered_yes_in_each_group` is never used
[INFO] [stdout]   --> src/days/d06.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn sum_of_group_individuals_who_answered_yes_in_each_group(s: &str) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE` is never used
[INFO] [stdout]   --> src/days/d07.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const SAMPLE: &str = "\
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]   --> src/days/d07.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const INPUT: &str = include_str!("d07.txt");
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_luggage_rules` is never used
[INFO] [stdout]   --> src/days/d07.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn parse_luggage_rules(s: &str) -> anyhow::Result<LuggageRules<'_>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_1` is never used
[INFO] [stdout]    --> src/days/d07.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn part_1(s: &str) -> anyhow::Result<usize> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_2` is never used
[INFO] [stdout]    --> src/days/d07.rs:198:4
[INFO] [stdout]     |
[INFO] [stdout] 198 | fn part_2(s: &str) -> anyhow::Result<u32> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE` is never used
[INFO] [stdout]  --> src/days/d08.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const SAMPLE: &str = "\
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]   --> src/days/d08.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const INPUT: &str = include_str!("d08.txt");
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `operation` and `argument` are never read
[INFO] [stdout]   --> src/days/d08.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct BootCodeInstruction {
[INFO] [stdout]    |        ------------------- fields in this struct
[INFO] [stdout] 29 |     operation: BootCodeOperation,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 30 |     argument: i16,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BootCodeInstruction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Accumulate`, `Jump`, and `NoOp` are never constructed
[INFO] [stdout]   --> src/days/d08.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | enum BootCodeOperation {
[INFO] [stdout]    |      ----------------- variants in this enum
[INFO] [stdout] 35 |     Accumulate,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 36 |     Jump,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 37 |     NoOp,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BootCodeOperation` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `instruction_counter` and `accumulator` are never read
[INFO] [stdout]   --> src/days/d08.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct BootCodeEmulator {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] 42 |     instruction_counter: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 43 |     accumulator: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BootCodeEmulator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `zeroed` and `execute_single_instruction` are never used
[INFO] [stdout]   --> src/days/d08.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl BootCodeEmulator {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 47 |     fn zeroed() -> Self {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn execute_single_instruction(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_instructions` is never used
[INFO] [stdout]    --> src/days/d08.rs:111:4
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn parse_instructions(s: &str) -> anyhow::Result<Vec<BootCodeInstruction>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_1` is never used
[INFO] [stdout]    --> src/days/d08.rs:141:4
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn part_1(s: &str) -> anyhow::Result<i32> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_2` is never used
[INFO] [stdout]    --> src/days/d08.rs:156:4
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn part_2(s: &str) -> anyhow::Result<i32> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data` and `preamble_len` are never read
[INFO] [stdout]   --> src/days/d09.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | struct XmasEncryptedData {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] 9  |     data: Vec<u64>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     preamble_len: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `XmasEncryptedData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse`, `day_input`, `sample`, and `find_first_weakness` are never used
[INFO] [stdout]   --> src/days/d09.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl XmasEncryptedData {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 14 |     fn parse(s: &str, preamble_len: usize) -> anyhow::Result<Self> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn day_input() -> Self {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn sample() -> Self {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     fn find_first_weakness(&self) -> Option<(usize, u64)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_1` is never used
[INFO] [stdout]   --> src/days/d09.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn part_1(encrypted_data: &XmasEncryptedData) -> anyhow::Result<(usize, u64)> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_2` is never used
[INFO] [stdout]    --> src/days/d09.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn part_2(encrypted_data: &XmasEncryptedData) -> anyhow::Result<(u64, u64, u64)> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `joltage_flows_between_adapters`, `connectable`, and `num_valid_variants` are never used
[INFO] [stdout]   --> src/days/d10.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl JoltageAdapterSet {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 45 |     #[track_caller]
[INFO] [stdout] 46 |     fn joltage_flows_between_adapters(source: u16, target: u16) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn connectable(&self) -> ConnectableJoltageAdapterSet<'_> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn num_valid_variants(&self) -> anyhow::Result<usize> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `on_break_single_step_skippable_streak`, `accumulate`, and `finished` are never used
[INFO] [stdout]    --> src/days/d10.rs:75:16
[INFO] [stdout]     |
[INFO] [stdout] 74  |         impl PossibilityAccumulator {
[INFO] [stdout]     |         --------------------------- associated items in this implementation
[INFO] [stdout] 75  |             fn new() -> Self {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 83  |             fn on_break_single_step_skippable_streak(&mut self) -> anyhow::Result<()> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |             pub fn accumulate(&mut self, skippable: u16) -> anyhow::Result<()> {
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |             pub fn finished(mut self) -> anyhow::Result<usize> {
[INFO] [stdout]     |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `diff_counts` is never used
[INFO] [stdout]    --> src/days/d10.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 153 | impl ConnectableJoltageAdapterSet<'_> {
[INFO] [stdout]     | ------------------------------------- method in this implementation
[INFO] [stdout] 154 |     fn diff_counts(&self) -> JoltDiffCounts {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FIRST_SAMPLE` is never used
[INFO] [stdout]    --> src/days/d10.rs:182:7
[INFO] [stdout]     |
[INFO] [stdout] 182 | const FIRST_SAMPLE: &str = "\
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECOND_SAMPLE` is never used
[INFO] [stdout]    --> src/days/d10.rs:196:7
[INFO] [stdout]     |
[INFO] [stdout] 196 | const SECOND_SAMPLE: &str = "\
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]    --> src/days/d10.rs:271:7
[INFO] [stdout]     |
[INFO] [stdout] 271 | const INPUT: &str = include_str!("d10.txt");
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_2` is never used
[INFO] [stdout]    --> src/days/d10.rs:308:4
[INFO] [stdout]     |
[INFO] [stdout] 308 | fn part_2(s: &str) -> anyhow::Result<usize> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `tiles` is never used
[INFO] [stdout]    --> src/days/d11.rs:145:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | impl WaitingAreaMap {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] 145 |     fn tiles(&self) -> &[WaitingAreaMapTile] {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `map_copies` and `curr_map_idx` are never read
[INFO] [stdout]    --> src/days/d11.rs:341:5
[INFO] [stdout]     |
[INFO] [stdout] 340 | struct WaitingAreaSeatingSimulation {
[INFO] [stdout]     |        ---------------------------- fields in this struct
[INFO] [stdout] 341 |     map_copies: [WaitingAreaMap; 2],
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 342 |     curr_map_idx: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WaitingAreaSeatingSimulation` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next_step`, and `current_state` are never used
[INFO] [stdout]    --> src/days/d11.rs:370:12
[INFO] [stdout]     |
[INFO] [stdout] 369 | impl WaitingAreaSeatingSimulation {
[INFO] [stdout]     | --------------------------------- associated items in this implementation
[INFO] [stdout] 370 |     pub fn new(starting_map: WaitingAreaMap) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     fn next_step<B>(&mut self, mut occupant_behavior: B) -> Option<&WaitingAreaMap>
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 |     pub fn current_state(&self) -> &WaitingAreaMap {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `num_seats_with_behavior` is never used
[INFO] [stdout]    --> src/days/d11.rs:433:4
[INFO] [stdout]     |
[INFO] [stdout] 433 | fn num_seats_with_behavior<B>(mut b: B) -> anyhow::Result<usize>
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE` is never used
[INFO] [stdout]    --> src/days/d11.rs:497:7
[INFO] [stdout]     |
[INFO] [stdout] 497 | const SAMPLE: &str = "\
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_simulation_steps_and_exhaustion` is never used
[INFO] [stdout]    --> src/days/d11.rs:664:4
[INFO] [stdout]     |
[INFO] [stdout] 664 | fn check_simulation_steps_and_exhaustion<'a, B>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `manhattan_distance_from_origin`, and `position` are never used
[INFO] [stdout]    --> src/days/d12.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl Ship {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 113 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn manhattan_distance_from_origin(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn position(&self) -> ((EastWest, u64), (NorthSouth, u64)) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `North` and `South` are never constructed
[INFO] [stdout]    --> src/days/d12.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub enum NorthSouth {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 154 |     North,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 155 |     South,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NorthSouth` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `East` and `West` are never constructed
[INFO] [stdout]    --> src/days/d12.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub enum EastWest {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] 160 |     East,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 161 |     West,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EastWest` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_navigation_instructions` is never used
[INFO] [stdout]    --> src/days/d12.rs:201:4
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn parse_navigation_instructions(s: &str) -> anyhow::Result<Vec<NavigationInstruction>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `abs_unsigned` is never used
[INFO] [stdout]    --> src/days/d12.rs:211:4
[INFO] [stdout]     |
[INFO] [stdout] 211 | fn abs_unsigned(x: i64) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `navigate` is never used
[INFO] [stdout]    --> src/days/d12.rs:232:4
[INFO] [stdout]     |
[INFO] [stdout] 232 | fn navigate<T>(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `position`, `waypoint`, and `manhattan_distance_from_origin` are never used
[INFO] [stdout]    --> src/days/d12.rs:358:8
[INFO] [stdout]     |
[INFO] [stdout] 306 | impl NavigationSystem {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 358 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub fn position(&self) -> ((EastWest, u64), (NorthSouth, u64)) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     pub fn waypoint(&self) -> ((EastWest, u64), (NorthSouth, u64)) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub fn manhattan_distance_from_origin(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE` is never used
[INFO] [stdout]    --> src/days/d12.rs:429:7
[INFO] [stdout]     |
[INFO] [stdout] 429 | const SAMPLE: &str = "\
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT` is never used
[INFO] [stdout]    --> src/days/d12.rs:528:7
[INFO] [stdout]     |
[INFO] [stdout] 528 | const INPUT: &str = include_str!("d12.txt");
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_position` is never used
[INFO] [stdout]    --> src/days/d12.rs:530:4
[INFO] [stdout]     |
[INFO] [stdout] 530 | fn convert_position(coords: (i64, i64)) -> ((EastWest, u64), (NorthSouth, u64)) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `manhattan_distance` is never used
[INFO] [stdout]    --> src/days/d12.rs:552:4
[INFO] [stdout]     |
[INFO] [stdout] 552 | fn manhattan_distance((x, y): (i64, i64)) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `answer` are never used
[INFO] [stdout]   --> src/days/d13.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl Part1Calculation {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 55 |     pub fn new(data: &Part1Data) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn answer(&self) -> anyhow::Result<u32> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/days/d02.rs:28:34
[INFO] [stdout]    |
[INFO] [stdout] 28 |     #[derive(Debug, Deserialize, ReParse)]
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_FromStr_FOR_RawPasswordPolicy` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]    = note: this error originates in the derive macro `ReParse` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 89 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `advent-of-code-2020` (lib) due to 2 previous errors; 89 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: field `country_id` is never read
[INFO] [stdout]   --> src/days/d04.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Passport {
[INFO] [stdout]    |     -------- field in this variant
[INFO] [stdout] 64 |         #[serde(rename = "cid")]
[INFO] [stdout] 65 |         country_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/days/d02.rs:28:34
[INFO] [stdout]    |
[INFO] [stdout] 28 |     #[derive(Debug, Deserialize, ReParse)]
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_FromStr_FOR_RawPasswordPolicy` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]    = note: this error originates in the derive macro `ReParse` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `advent-of-code-2020` (lib test) due to 2 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "060dd4e1463c47cc6f75c5d37c36d24db5a1b459867cabbd5ada7283db90fa0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "060dd4e1463c47cc6f75c5d37c36d24db5a1b459867cabbd5ada7283db90fa0c", kill_on_drop: false }`
[INFO] [stdout] 060dd4e1463c47cc6f75c5d37c36d24db5a1b459867cabbd5ada7283db90fa0c
