[INFO] cloning repository https://github.com/pdamianik/aoc_2024
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pdamianik/aoc_2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpdamianik%2Faoc_2024", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpdamianik%2Faoc_2024'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9746780880e1847ebf89dd4e39b68b43c6ce7637
[INFO] checking pdamianik/aoc_2024 against try#724e78794d2cf06eef820a24c9a4608d63435e1d for pr-149145
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpdamianik%2Faoc_2024" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/pdamianik/aoc_2024
[INFO] finished tweaking git repo https://github.com/pdamianik/aoc_2024
[INFO] tweaked toml for git repo https://github.com/pdamianik/aoc_2024 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/pdamianik/aoc_2024 on toolchain 724e78794d2cf06eef820a24c9a4608d63435e1d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+724e78794d2cf06eef820a24c9a4608d63435e1d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/pdamianik/aoc_2024 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" "+724e78794d2cf06eef820a24c9a4608d63435e1d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded hyper-rustls v0.27.3
[INFO] [stderr]   Downloaded cookie_store v0.21.1
[INFO] [stderr]   Downloaded clap v4.5.23
[INFO] [stderr]   Downloaded anes v0.2.0
[INFO] [stderr]   Downloaded find_all v2.0.0
[INFO] [stderr]   Downloaded owo-colors v4.1.0
[INFO] [stderr]   Downloaded rustls-pki-types v1.10.0
[INFO] [stderr]   Downloaded publicsuffix v2.3.0
[INFO] [stderr]   Downloaded hyper v1.5.1
[INFO] [stderr]   Downloaded clap_builder v4.5.23
[INFO] [stderr]   Downloaded rustls v0.23.19
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+724e78794d2cf06eef820a24c9a4608d63435e1d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c210aff1c45493f34b0425df4604f3520ebbec986ca8633a976ee45c4c8ab041
[INFO] running `Command { std: "docker" "start" "-a" "c210aff1c45493f34b0425df4604f3520ebbec986ca8633a976ee45c4c8ab041", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c210aff1c45493f34b0425df4604f3520ebbec986ca8633a976ee45c4c8ab041", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c210aff1c45493f34b0425df4604f3520ebbec986ca8633a976ee45c4c8ab041", kill_on_drop: false }`
[INFO] [stdout] c210aff1c45493f34b0425df4604f3520ebbec986ca8633a976ee45c4c8ab041
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+724e78794d2cf06eef820a24c9a4608d63435e1d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1c0cbbfe01d532892dddce0dc85a93a47c43e1504d04dfc366403f6e1d5de812
[INFO] running `Command { std: "docker" "start" "-a" "1c0cbbfe01d532892dddce0dc85a93a47c43e1504d04dfc366403f6e1d5de812", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]    Compiling libc v0.2.167
[INFO] [stderr]     Checking itoa v1.0.14
[INFO] [stderr]     Checking bytes v1.9.0
[INFO] [stderr]    Compiling cc v1.2.2
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]     Checking litemap v0.7.4
[INFO] [stderr]     Checking writeable v0.5.5
[INFO] [stderr]     Checking icu_locid_transform_data v1.5.0
[INFO] [stderr]    Compiling serde v1.0.215
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking icu_properties_data v1.5.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking write16 v1.0.0
[INFO] [stderr]     Checking icu_normalizer_data v1.5.0
[INFO] [stderr]     Checking utf16_iter v1.0.5
[INFO] [stderr]    Compiling serde_json v1.0.133
[INFO] [stderr]    Compiling openssl v0.10.68
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]     Checking deranged v0.3.11
[INFO] [stderr]    Compiling time-macros v0.2.18
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking socket2 v0.5.8
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling litrs v0.4.1
[INFO] [stderr]     Checking gimli v0.28.1
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling openssl-sys v0.9.104
[INFO] [stderr]    Compiling backtrace v0.3.71
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]     Checking miniz_oxide v0.7.4
[INFO] [stderr]     Checking object v0.32.2
[INFO] [stderr]     Checking rustc-demangle v0.1.24
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]     Checking indenter v0.3.3
[INFO] [stderr]    Compiling document-features v0.2.10
[INFO] [stderr]     Checking owo-colors v3.5.0
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]    Compiling owo-colors v4.1.0
[INFO] [stderr]     Checking rustls-pki-types v1.10.0
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling darling_core v0.20.10
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking ipnet v2.10.1
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking cached_proc_macro_types v0.1.1
[INFO] [stderr]     Checking web-time v1.1.0
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking cookie v0.18.1
[INFO] [stderr]     Checking addr2line v0.21.0
[INFO] [stderr]     Checking array-init v2.1.0
[INFO] [stderr]     Checking anes v0.2.0
[INFO] [stderr]     Checking find_all v2.0.0
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking clap_builder v4.5.23
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling serde_derive v1.0.215
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling darling_macro v0.20.10
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking zerofrom v0.1.5
[INFO] [stderr]     Checking tokio v1.41.1
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]    Compiling darling v0.20.10
[INFO] [stderr]    Compiling cached_proc_macro v0.23.0
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking clap v4.5.23
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking cached v0.54.0
[INFO] [stderr]     Checking tracing-error v0.2.1
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking is-terminal v0.4.13
[INFO] [stderr]     Checking color-spantrace v0.2.1
[INFO] [stderr]     Checking oorandom v11.1.4
[INFO] [stderr]     Checking color-eyre v0.6.3
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking tokio-util v0.7.12
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking h2 v0.4.7
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking publicsuffix v2.3.0
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking cookie_store v0.21.1
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking hyper v1.5.1
[INFO] [stderr]     Checking hyper-util v0.1.10
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.9
[INFO] [stderr]     Checking aoc_2024 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/days/day21.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashSet, VecDeque};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> src/days/day21.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::NonZeroUsize`
[INFO] [stdout]  --> src/days/day21.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::num::NonZeroUsize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BitAnd`, `Index`, and `Mul`
[INFO] [stdout]  --> src/days/day21.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::{BitAnd, Index, Mul};
[INFO] [stdout]   |                ^^^^^^  ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Iter`
[INFO] [stdout]  --> src/days/day21.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::path::Iter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Chars`
[INFO] [stdout]   --> src/days/day21.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::str::{Chars, FromStr};
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::vec::IntoIter`
[INFO] [stdout]   --> src/days/day21.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::vec::IntoIter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cached::UnboundCache`
[INFO] [stdout]   --> src/days/day21.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use cached::UnboundCache;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigUint` and `ToBigUint`
[INFO] [stdout]   --> src/days/day21.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | use num_bigint::{BigUint, ToBigUint};
[INFO] [stdout]    |                  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::One`
[INFO] [stdout]   --> src/days/day21.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use num_traits::One;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `owo_colors::OwoColorize`
[INFO] [stdout]   --> src/days/day21.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use owo_colors::OwoColorize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/days/util.rs:125:31
[INFO] [stdout]     |
[INFO] [stdout] 125 |         (0..4).filter(|shift| (mask & (1 << *shift) != 0))
[INFO] [stdout]     |                               ^                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 125 -         (0..4).filter(|shift| (mask & (1 << *shift) != 0))
[INFO] [stdout] 125 +         (0..4).filter(|shift| mask & (1 << *shift) != 0 )
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/days/day21.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashSet, VecDeque};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> src/days/day21.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::NonZeroUsize`
[INFO] [stdout]  --> src/days/day21.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::num::NonZeroUsize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BitAnd`, `Index`, and `Mul`
[INFO] [stdout]  --> src/days/day21.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::{BitAnd, Index, Mul};
[INFO] [stdout]   |                ^^^^^^  ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Iter`
[INFO] [stdout]  --> src/days/day21.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::path::Iter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Chars`
[INFO] [stdout]   --> src/days/day21.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::str::{Chars, FromStr};
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::vec::IntoIter`
[INFO] [stdout]   --> src/days/day21.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::vec::IntoIter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cached::UnboundCache`
[INFO] [stdout]   --> src/days/day21.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use cached::UnboundCache;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigUint` and `ToBigUint`
[INFO] [stdout]   --> src/days/day21.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | use num_bigint::{BigUint, ToBigUint};
[INFO] [stdout]    |                  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::One`
[INFO] [stdout]   --> src/days/day21.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use num_traits::One;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `owo_colors::OwoColorize`
[INFO] [stdout]   --> src/days/day21.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use owo_colors::OwoColorize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/days/util.rs:125:31
[INFO] [stdout]     |
[INFO] [stdout] 125 |         (0..4).filter(|shift| (mask & (1 << *shift) != 0))
[INFO] [stdout]     |                               ^                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 125 -         (0..4).filter(|shift| (mask & (1 << *shift) != 0))
[INFO] [stdout] 125 +         (0..4).filter(|shift| mask & (1 << *shift) != 0 )
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/days/day21.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/days/day21.rs:726:9
[INFO] [stdout]     |
[INFO] [stdout] 726 |         assert_eq!(todo!() as usize, result);
[INFO] [stdout]     |         ^^^^^^^^^^^-------^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |          |
[INFO] [stdout]     |         |          any code following this expression is unreachable
[INFO] [stdout]     |         unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/days/day21.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/days/day8.rs:38:58
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn display<F: Fn(char, usize) -> Option<String>>(&self, postprocess: F) -> AntinodeDisplay<F> {
[INFO] [stdout]    |                                                          ^^^^^                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                          |                         |
[INFO] [stdout]    |                                                          |                         the same lifetime is hidden here
[INFO] [stdout]    |                                                          |                         the same lifetime is hidden here
[INFO] [stdout]    |                                                          |                         the same lifetime is hidden here
[INFO] [stdout]    |                                                          |                         the same lifetime is hidden here
[INFO] [stdout]    |                                                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn display<F: Fn(char, usize) -> Option<String>>(&self, postprocess: F) -> AntinodeDisplay<'_, F> {
[INFO] [stdout]    |                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/days/day8.rs:77:58
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn display<F: Fn(char, usize) -> Option<String>>(&self, postprocess: F) -> PairDisplay<F> {
[INFO] [stdout]    |                                                          ^^^^^                     ^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                          |                         |
[INFO] [stdout]    |                                                          |                         the same lifetime is hidden here
[INFO] [stdout]    |                                                          |                         the same lifetime is hidden here
[INFO] [stdout]    |                                                          |                         the same lifetime is hidden here
[INFO] [stdout]    |                                                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn display<F: Fn(char, usize) -> Option<String>>(&self, postprocess: F) -> PairDisplay<'_, F> {
[INFO] [stdout]    |                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/days/day8.rs:156:58
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn display<F: Fn(char, usize) -> Option<String>>(&self, postprocess: F) -> LayerDisplay<F> {
[INFO] [stdout]     |                                                          ^^^^^                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                          |                         |
[INFO] [stdout]     |                                                          |                         the same lifetime is hidden here
[INFO] [stdout]     |                                                          |                         the same lifetime is hidden here
[INFO] [stdout]     |                                                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn display<F: Fn(char, usize) -> Option<String>>(&self, postprocess: F) -> LayerDisplay<'_, F> {
[INFO] [stdout]     |                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/days/day8.rs:222:58
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn display<F: Fn(char, usize) -> Option<String>>(&self, postprocess: F) -> InputDisplay<F> {
[INFO] [stdout]     |                                                          ^^^^^                     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn display<F: Fn(char, usize) -> Option<String>>(&self, postprocess: F) -> InputDisplay<'_, F> {
[INFO] [stdout]     |                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/days/day10.rs:43:81
[INFO] [stdout]    |
[INFO] [stdout] 43 | ...> Option<String>>(&self, color: C, postprocess: F) -> MapPositionDisplay<C, F> {
[INFO] [stdout]    |                      ^^^^^                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |                                   |
[INFO] [stdout]    |                      |                                   the same lifetime is hidden here
[INFO] [stdout]    |                      the lifetime is elided here         the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn display<C: DynColor + Copy, F: Fn(usize, &Height) -> Option<String>>(&self, color: C, postprocess: F) -> MapPositionDisplay<'_, C, F> {
[INFO] [stdout]    |                                                                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/days/day10.rs:179:23
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn trail_ends(&self) -> impl Iterator<Item = MapPosition> {
[INFO] [stdout]     |                       ^^^^^                          ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn trail_ends(&self) -> impl Iterator<Item = MapPosition<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/days/day10.rs:189:24
[INFO] [stdout]     |
[INFO] [stdout] 189 |     pub fn trail_heads(&self) -> impl Iterator<Item = MapPosition> {
[INFO] [stdout]     |                        ^^^^^                          ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 189 |     pub fn trail_heads(&self) -> impl Iterator<Item = MapPosition<'_>> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/days/day10.rs:199:21
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn position(&self, position: usize) -> MapPosition {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn position(&self, position: usize) -> MapPosition<'_> {
[INFO] [stdout]     |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/days/util.rs:279:50
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn display<F: Fn(char, usize) -> String>(&self, postprocess: F) -> GridDisplay<F> {
[INFO] [stdout]     |                                                  ^^^^^                     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn display<F: Fn(char, usize) -> String>(&self, postprocess: F) -> GridDisplay<'_, F> {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/days/util.rs:415:55
[INFO] [stdout]     |
[INFO] [stdout] 415 |     pub fn display<F: Fn(&T, usize) -> D, D: Display>(&self, postprocess: F) -> ParsedGridDisplay<T, F, D> {
[INFO] [stdout]     |                                                       ^^^^^                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 415 |     pub fn display<F: Fn(&T, usize) -> D, D: Display>(&self, postprocess: F) -> ParsedGridDisplay<'_, T, F, D> {
[INFO] [stdout]     |                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/days/day21.rs:725:13
[INFO] [stdout]     |
[INFO] [stdout] 725 |         let result = process_part2(&input).unwrap();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/days/day8.rs:38:58
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn display<F: Fn(char, usize) -> Option<String>>(&self, postprocess: F) -> AntinodeDisplay<F> {
[INFO] [stdout]    |                                                          ^^^^^                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                          |                         |
[INFO] [stdout]    |                                                          |                         the same lifetime is hidden here
[INFO] [stdout]    |                                                          |                         the same lifetime is hidden here
[INFO] [stdout]    |                                                          |                         the same lifetime is hidden here
[INFO] [stdout]    |                                                          |                         the same lifetime is hidden here
[INFO] [stdout]    |                                                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn display<F: Fn(char, usize) -> Option<String>>(&self, postprocess: F) -> AntinodeDisplay<'_, F> {
[INFO] [stdout]    |                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/days/day8.rs:77:58
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn display<F: Fn(char, usize) -> Option<String>>(&self, postprocess: F) -> PairDisplay<F> {
[INFO] [stdout]    |                                                          ^^^^^                     ^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                          |                         |
[INFO] [stdout]    |                                                          |                         the same lifetime is hidden here
[INFO] [stdout]    |                                                          |                         the same lifetime is hidden here
[INFO] [stdout]    |                                                          |                         the same lifetime is hidden here
[INFO] [stdout]    |                                                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn display<F: Fn(char, usize) -> Option<String>>(&self, postprocess: F) -> PairDisplay<'_, F> {
[INFO] [stdout]    |                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/days/day8.rs:156:58
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn display<F: Fn(char, usize) -> Option<String>>(&self, postprocess: F) -> LayerDisplay<F> {
[INFO] [stdout]     |                                                          ^^^^^                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                          |                         |
[INFO] [stdout]     |                                                          |                         the same lifetime is hidden here
[INFO] [stdout]     |                                                          |                         the same lifetime is hidden here
[INFO] [stdout]     |                                                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn display<F: Fn(char, usize) -> Option<String>>(&self, postprocess: F) -> LayerDisplay<'_, F> {
[INFO] [stdout]     |                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/days/day8.rs:222:58
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn display<F: Fn(char, usize) -> Option<String>>(&self, postprocess: F) -> InputDisplay<F> {
[INFO] [stdout]     |                                                          ^^^^^                     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn display<F: Fn(char, usize) -> Option<String>>(&self, postprocess: F) -> InputDisplay<'_, F> {
[INFO] [stdout]     |                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/days/day10.rs:43:81
[INFO] [stdout]    |
[INFO] [stdout] 43 | ...> Option<String>>(&self, color: C, postprocess: F) -> MapPositionDisplay<C, F> {
[INFO] [stdout]    |                      ^^^^^                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |                                   |
[INFO] [stdout]    |                      |                                   the same lifetime is hidden here
[INFO] [stdout]    |                      the lifetime is elided here         the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn display<C: DynColor + Copy, F: Fn(usize, &Height) -> Option<String>>(&self, color: C, postprocess: F) -> MapPositionDisplay<'_, C, F> {
[INFO] [stdout]    |                                                                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/days/day10.rs:179:23
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn trail_ends(&self) -> impl Iterator<Item = MapPosition> {
[INFO] [stdout]     |                       ^^^^^                          ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn trail_ends(&self) -> impl Iterator<Item = MapPosition<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/days/day10.rs:189:24
[INFO] [stdout]     |
[INFO] [stdout] 189 |     pub fn trail_heads(&self) -> impl Iterator<Item = MapPosition> {
[INFO] [stdout]     |                        ^^^^^                          ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 189 |     pub fn trail_heads(&self) -> impl Iterator<Item = MapPosition<'_>> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/days/day10.rs:199:21
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn position(&self, position: usize) -> MapPosition {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn position(&self, position: usize) -> MapPosition<'_> {
[INFO] [stdout]     |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/days/util.rs:279:50
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn display<F: Fn(char, usize) -> String>(&self, postprocess: F) -> GridDisplay<F> {
[INFO] [stdout]     |                                                  ^^^^^                     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn display<F: Fn(char, usize) -> String>(&self, postprocess: F) -> GridDisplay<'_, F> {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/days/util.rs:415:55
[INFO] [stdout]     |
[INFO] [stdout] 415 |     pub fn display<F: Fn(&T, usize) -> D, D: Display>(&self, postprocess: F) -> ParsedGridDisplay<T, F, D> {
[INFO] [stdout]     |                                                       ^^^^^                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 415 |     pub fn display<F: Fn(&T, usize) -> D, D: Display>(&self, postprocess: F) -> ParsedGridDisplay<'_, T, F, D> {
[INFO] [stdout]     |                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `benches/../input/day13.in`: No such file or directory (os error 2)
[INFO] [stdout]  --> benches/day13.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | const OFFICIAL_INPUT: &str = include_str!("../input/day13.in");
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `benches/../input/day15.in`: No such file or directory (os error 2)
[INFO] [stdout]  --> benches/day15.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | const OFFICIAL_INPUT: &str = include_str!("../input/day15.in");
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `aoc_2024` (bench "day15") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: couldn't read `benches/../input/day1.in`: No such file or directory (os error 2)
[INFO] [stdout]  --> benches/day1.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | const OFFICIAL_INPUT: &str = include_str!("../input/day1.in");
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `aoc_2024` (bench "day13") due to 1 previous error
[INFO] [stderr] error: could not compile `aoc_2024` (bench "day1") due to 1 previous error
[INFO] running `Command { std: "docker" "inspect" "1c0cbbfe01d532892dddce0dc85a93a47c43e1504d04dfc366403f6e1d5de812", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1c0cbbfe01d532892dddce0dc85a93a47c43e1504d04dfc366403f6e1d5de812", kill_on_drop: false }`
[INFO] [stdout] 1c0cbbfe01d532892dddce0dc85a93a47c43e1504d04dfc366403f6e1d5de812
