[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/64c49988e68c6e4f208417244b239ae3d852b2c5 against try#c387b04bf028733cd561d62128c8a5eee4bc1458+rustflags=-Dtail_expr_drop_order for pr-130930 [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 c387b04bf028733cd561d62128c8a5eee4bc1458 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "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" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2c423010882d5f7b52bbc75397ddddb3ff2d5c272f78b231a3f912bed8081dd8 [INFO] running `Command { std: "docker" "start" "-a" "2c423010882d5f7b52bbc75397ddddb3ff2d5c272f78b231a3f912bed8081dd8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2c423010882d5f7b52bbc75397ddddb3ff2d5c272f78b231a3f912bed8081dd8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2c423010882d5f7b52bbc75397ddddb3ff2d5c272f78b231a3f912bed8081dd8", kill_on_drop: false }` [INFO] [stdout] 2c423010882d5f7b52bbc75397ddddb3ff2d5c272f78b231a3f912bed8081dd8 [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 -Dtail_expr_drop_order" "-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a3eda232037a6ee31340b9280958af4ac3ddd043e0420754bf46273c6c05f669 [INFO] running `Command { std: "docker" "start" "-a" "a3eda232037a6ee31340b9280958af4ac3ddd043e0420754bf46273c6c05f669", kill_on_drop: false }` [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] 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] Checking itoa v0.4.6 [INFO] [stderr] Compiling serde_json v1.0.60 [INFO] [stderr] Compiling anyhow v1.0.34 [INFO] [stderr] Checking dtoa v0.4.6 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Checking regex-syntax v0.6.21 [INFO] [stderr] Checking either v1.6.1 [INFO] [stderr] Checking ux v0.1.3 [INFO] [stderr] Checking array_iterator v1.2.0 [INFO] [stderr] Checking tinyvec v1.1.0 [INFO] [stderr] Checking unicode-bidi v0.3.4 [INFO] [stderr] Checking arrayvec v0.5.2 [INFO] [stderr] Checking itertools v0.9.0 [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` and `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] error: this value of type `impl Iterator, anyhow::Error>> + '_` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/days/d04.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 75 | fn count_records(s: &str, mut f: F) -> anyhow::Result [INFO] [stdout] | ----- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 79 | parse_key_value_records(s).try_fold(0, |count, res| -> anyhow::Result<_> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this value of type `impl Iterator, anyhow::Error>> + '_` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/days/d04.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 75 | fn count_records(s: &str, mut f: F) -> anyhow::Result [INFO] [stdout] | ----- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 79 | parse_key_value_records(s).try_fold(0, |count, res| -> anyhow::Result<_> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [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: struct `Answer` is never constructed [INFO] [stdout] --> src/days/d01.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | struct Answer { [INFO] [stdout] | ^^^^^^ [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> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Part1Answer` is never constructed [INFO] [stdout] --> src/days/d01.rs:125:8 [INFO] [stdout] | [INFO] [stdout] 125 | struct Part1Answer { [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 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Part2Answer` is never constructed [INFO] [stdout] --> src/days/d01.rs:155:8 [INFO] [stdout] | [INFO] [stdout] 155 | struct Part2Answer { [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 { [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: trait `PasswordPolicy` is never used [INFO] [stdout] --> src/days/d02.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | trait PasswordPolicy [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(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: struct `MisrememberedPasswordPolicy` is never constructed [INFO] [stdout] --> src/days/d02.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | struct MisrememberedPasswordPolicy { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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( [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: struct `ActualPasswordPolicy` is never constructed [INFO] [stdout] --> src/days/d02.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | struct ActualPasswordPolicy { [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: enum `TobogganAreaTile` is never used [INFO] [stdout] --> src/days/d03.rs:25:6 [INFO] [stdout] | [INFO] [stdout] 25 | enum TobogganAreaTile { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TobogganArea` is never constructed [INFO] [stdout] --> src/days/d03.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | struct TobogganArea { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TobogganSlope` is never constructed [INFO] [stdout] --> src/days/d03.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | struct TobogganSlope { [INFO] [stdout] | ^^^^^^^^^^^^^ [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 { [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 { [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 { [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] = note: `RawIdentity` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [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] = note: `RawIdentity` 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_identity_record` is never used [INFO] [stdout] --> src/days/d04.rs:71:4 [INFO] [stdout] | [INFO] [stdout] 71 | fn parse_identity_record(map: Map) -> anyhow::Result { [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(s: &str, mut f: F) -> anyhow::Result [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 { [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 { [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 { [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: struct `LuggageRules` is never constructed [INFO] [stdout] --> src/days/d07.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | struct LuggageRules<'a>(HashMap<&'a str, LuggageRule<'a>>); [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> { [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 { [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 { [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: struct `BootCodeInstruction` is never constructed [INFO] [stdout] --> src/days/d08.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | struct BootCodeInstruction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BootCodeOperation` is never used [INFO] [stdout] --> src/days/d08.rs:34:6 [INFO] [stdout] | [INFO] [stdout] 34 | enum BootCodeOperation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BootCodeEmulator` is never constructed [INFO] [stdout] --> src/days/d08.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | struct BootCodeEmulator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [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> { [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 { [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 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `XmasEncryptedData` is never constructed [INFO] [stdout] --> src/days/d09.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct XmasEncryptedData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [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 { [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 { [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 { [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: struct `JoltDiffCounts` is never constructed [INFO] [stdout] --> src/days/d10.rs:177:8 [INFO] [stdout] | [INFO] [stdout] 177 | struct 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 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `tiles`, `get_adjacent_tiles`, `get_visible_seats`, `translate_offset_into_human_coords`, and `translate_human_coords_into_offset` are never used [INFO] [stdout] --> src/days/d11.rs:145:8 [INFO] [stdout] | [INFO] [stdout] 144 | impl WaitingAreaMap { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 145 | fn tiles(&self) -> &[WaitingAreaMapTile] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | fn get_adjacent_tiles(&self, offset: usize) -> impl Iterator + '_ { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | fn get_visible_seats(&self, offset: usize) -> impl Iterator + '_ { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | fn translate_offset_into_human_coords(offset: usize, width: usize) -> WaitingAreaMapCoords { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 261 | fn translate_human_coords_into_offset( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `apply` is never used [INFO] [stdout] --> src/days/d11.rs:208:16 [INFO] [stdout] | [INFO] [stdout] 207 | impl OffsetOp { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 208 | fn apply(self, pos: usize) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WaitingAreaSeatingSimulation` is never constructed [INFO] [stdout] --> src/days/d11.rs:340:8 [INFO] [stdout] | [INFO] [stdout] 340 | struct WaitingAreaSeatingSimulation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WaitingAreaMapCoords` is never constructed [INFO] [stdout] --> src/days/d11.rs:346:8 [INFO] [stdout] | [INFO] [stdout] 346 | struct WaitingAreaMapCoords { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `WaitingAreaOccupantBehavior` is never used [INFO] [stdout] --> src/days/d11.rs:351:7 [INFO] [stdout] | [INFO] [stdout] 351 | trait WaitingAreaOccupantBehavior { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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(&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(mut b: B) -> anyhow::Result [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Part1OccupantBehavior` is never constructed [INFO] [stdout] --> src/days/d11.rs:448:8 [INFO] [stdout] | [INFO] [stdout] 448 | struct Part1OccupantBehavior; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Part2OccupantBehavior` is never constructed [INFO] [stdout] --> src/days/d11.rs:479:8 [INFO] [stdout] | [INFO] [stdout] 479 | struct Part2OccupantBehavior; [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> { [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( [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 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/days/d02.rs:28:34 [INFO] [stdout] | [INFO] [stdout] 28 | #[derive(Debug, Deserialize, ReParse)] [INFO] [stdout] | ^------ [INFO] [stdout] | | [INFO] [stdout] | `FromStr` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_FromStr_FOR_RawPasswordPolicy` and up 2 bodies [INFO] [stdout] 29 | #[re_parse(regex = "^(?P[0-9]+)-(?P[0-9]+) (?P.): (?P.*)$")] [INFO] [stdout] 30 | struct RawPasswordPolicy<'a> { [INFO] [stdout] | ----------------- `RawPasswordPolicy` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ReParse` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ReParse` may come from an old version of the `re_parse_macros` crate, try updating your dependency with `cargo update -p re_parse_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning 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; 102 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `advent-of-code-2020` (lib) due to 2 previous errors; 102 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: `RawIdentity` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/days/d02.rs:28:34 [INFO] [stdout] | [INFO] [stdout] 28 | #[derive(Debug, Deserialize, ReParse)] [INFO] [stdout] | ^------ [INFO] [stdout] | | [INFO] [stdout] | `FromStr` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_FromStr_FOR_RawPasswordPolicy` and up 2 bodies [INFO] [stdout] 29 | #[re_parse(regex = "^(?P[0-9]+)-(?P[0-9]+) (?P.): (?P.*)$")] [INFO] [stdout] 30 | struct RawPasswordPolicy<'a> { [INFO] [stdout] | ----------------- `RawPasswordPolicy` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ReParse` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ReParse` may come from an old version of the `re_parse_macros` crate, try updating your dependency with `cargo update -p re_parse_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning 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; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `advent-of-code-2020` (lib test) due to 2 previous errors; 2 warnings emitted [INFO] running `Command { std: "docker" "inspect" "a3eda232037a6ee31340b9280958af4ac3ddd043e0420754bf46273c6c05f669", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a3eda232037a6ee31340b9280958af4ac3ddd043e0420754bf46273c6c05f669", kill_on_drop: false }` [INFO] [stdout] a3eda232037a6ee31340b9280958af4ac3ddd043e0420754bf46273c6c05f669