[INFO] cloning repository https://github.com/tooboredtocode/aoc
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tooboredtocode/aoc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftooboredtocode%2Faoc", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftooboredtocode%2Faoc'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c3cc4d13750116845e267dcf0b9330532809a0d8
[INFO] checking tooboredtocode/aoc against try#446cb600aa4837dd6c513f14fa0d25a909b177d7 for pr-149195
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftooboredtocode%2Faoc" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/tooboredtocode/aoc
[INFO] finished tweaking git repo https://github.com/tooboredtocode/aoc
[INFO] tweaked toml for git repo https://github.com/tooboredtocode/aoc written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tooboredtocode/aoc on toolchain 446cb600aa4837dd6c513f14fa0d25a909b177d7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tooboredtocode/aoc 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" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3fc5cd7d750c6ed1a080cd3ef7b70f2195a616115a304d5dd5e9f0fcae8aad51
[INFO] running `Command { std: "docker" "start" "-a" "3fc5cd7d750c6ed1a080cd3ef7b70f2195a616115a304d5dd5e9f0fcae8aad51", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3fc5cd7d750c6ed1a080cd3ef7b70f2195a616115a304d5dd5e9f0fcae8aad51", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3fc5cd7d750c6ed1a080cd3ef7b70f2195a616115a304d5dd5e9f0fcae8aad51", kill_on_drop: false }`
[INFO] [stdout] 3fc5cd7d750c6ed1a080cd3ef7b70f2195a616115a304d5dd5e9f0fcae8aad51
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 22abc6e7789fd67308f1f6ed1d9fd2378886c9415afbe24bc64fdbf710a129fb
[INFO] running `Command { std: "docker" "start" "-a" "22abc6e7789fd67308f1f6ed1d9fd2378886c9415afbe24bc64fdbf710a129fb", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]    Compiling libc v0.2.167
[INFO] [stderr]    Compiling cc v1.2.2
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]    Compiling anyhow v1.0.94
[INFO] [stderr]    Compiling serde v1.0.215
[INFO] [stderr]     Checking bytemuck v1.20.0
[INFO] [stderr]    Compiling matrixmultiply v0.3.9
[INFO] [stderr]    Compiling rustix v0.38.41
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking chrono v0.4.39
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking rustc-hash v2.1.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling seq-macro v0.3.5
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking safe_arch v0.7.2
[INFO] [stderr]     Checking newline-converter v0.3.0
[INFO] [stderr]     Checking clap_builder v4.5.23
[INFO] [stderr]     Checking fuzzy-matcher v0.3.7
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking wide v0.7.30
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[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 mio v0.8.11
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking signal-hook v0.3.17
[INFO] [stderr]    Compiling openssl-sys v0.9.104
[INFO] [stderr]     Checking signal-hook-mio v0.2.4
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking crossterm v0.25.0
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]    Compiling openssl v0.10.68
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking inquire v0.7.5
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking simba v0.9.0
[INFO] [stderr]    Compiling synstructure v0.13.1
[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 tokio-macros v2.4.0
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling lazy-regex-proc_macros v3.3.0
[INFO] [stderr]    Compiling nalgebra-macros v0.2.2
[INFO] [stderr]    Compiling async-trait v0.1.83
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]     Checking tokio v1.41.1
[INFO] [stderr]     Checking lazy-regex v3.3.0
[INFO] [stderr]     Checking zerofrom v0.1.5
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking clap v4.5.23
[INFO] [stderr]     Checking nalgebra v0.33.2
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking icu_properties v1.5.1
[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 url v2.5.4
[INFO] [stderr]     Checking hyper v1.5.1
[INFO] [stderr]     Checking aoc_utils v0.0.0 (/opt/rustwide/workdir/aoc_utils)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> aoc_utils/src/matrix/entry.rs:21:22
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn get_entry(&self, x: usize, y: usize) -> Option<MatrixEntry<T>> {
[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]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn get_entry(&self, x: usize, y: usize) -> Option<MatrixEntry<'_, T>> {
[INFO] [stdout]    |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> aoc_utils/src/matrix/entry.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn get_entry_mut(&mut self, x: usize, y: usize) -> Option<MatrixEntryMut<T>> {
[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] 29 |     pub fn get_entry_mut(&mut self, x: usize, y: usize) -> Option<MatrixEntryMut<'_, T>> {
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> aoc_utils/src/matrix/entry.rs:40:23
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn entry_iter(&self) -> impl Iterator<Item=MatrixEntry<T>> {
[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] 40 |     pub fn entry_iter(&self) -> impl Iterator<Item=MatrixEntry<'_, T>> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> aoc_utils/src/matrix/entry.rs:144:28
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn get_at_distance(&self, distance: Distance) -> Option<MatrixEntry<T>> {
[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] 144 |     pub fn get_at_distance(&self, distance: Distance) -> Option<MatrixEntry<'_, T>> {
[INFO] [stdout]     |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> aoc_utils/src/matrix/entry.rs:155:32
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub fn get_at_distance_mut(&mut self, distance: Distance) -> Option<MatrixEntryMut<T>> {
[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] 155 |     pub fn get_at_distance_mut(&mut self, distance: Distance) -> Option<MatrixEntryMut<'_, T>> {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> aoc_utils/src/matrix/entry.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn adjacent(&self, direction: Direction) -> Option<MatrixEntry<T>> {
[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] 167 |     pub fn adjacent(&self, direction: Direction) -> Option<MatrixEntry<'_, T>> {
[INFO] [stdout]     |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> aoc_utils/src/matrix/entry.rs:184:25
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub fn adjacent_mut(&mut self, direction: Direction) -> Option<MatrixEntryMut<T>> {
[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] 184 |     pub fn adjacent_mut(&mut self, direction: Direction) -> Option<MatrixEntryMut<'_, T>> {
[INFO] [stdout]     |                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> aoc_utils/src/matrix/ext/dijkstra.rs:51:25
[INFO] [stdout]    |
[INFO] [stdout] 51 | ...F>(&self, is_path: PF, start: (usize, usize), start_direction: OrdinalDirection, end: (usize, usize)) -> DijkstraBuilder<T, PF>
[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] 51 |     pub fn djikstra<PF>(&self, is_path: PF, start: (usize, usize), start_direction: OrdinalDirection, end: (usize, usize)) -> DijkstraBuilder<'_, T, PF>
[INFO] [stdout]    |                                                                                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> aoc_utils/src/matrix/entry.rs:21:22
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn get_entry(&self, x: usize, y: usize) -> Option<MatrixEntry<T>> {
[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]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn get_entry(&self, x: usize, y: usize) -> Option<MatrixEntry<'_, T>> {
[INFO] [stdout]    |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> aoc_utils/src/matrix/entry.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn get_entry_mut(&mut self, x: usize, y: usize) -> Option<MatrixEntryMut<T>> {
[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] 29 |     pub fn get_entry_mut(&mut self, x: usize, y: usize) -> Option<MatrixEntryMut<'_, T>> {
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> aoc_utils/src/matrix/entry.rs:40:23
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn entry_iter(&self) -> impl Iterator<Item=MatrixEntry<T>> {
[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] 40 |     pub fn entry_iter(&self) -> impl Iterator<Item=MatrixEntry<'_, T>> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> aoc_utils/src/matrix/entry.rs:144:28
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn get_at_distance(&self, distance: Distance) -> Option<MatrixEntry<T>> {
[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] 144 |     pub fn get_at_distance(&self, distance: Distance) -> Option<MatrixEntry<'_, T>> {
[INFO] [stdout]     |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> aoc_utils/src/matrix/entry.rs:155:32
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub fn get_at_distance_mut(&mut self, distance: Distance) -> Option<MatrixEntryMut<T>> {
[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] 155 |     pub fn get_at_distance_mut(&mut self, distance: Distance) -> Option<MatrixEntryMut<'_, T>> {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> aoc_utils/src/matrix/entry.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn adjacent(&self, direction: Direction) -> Option<MatrixEntry<T>> {
[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] 167 |     pub fn adjacent(&self, direction: Direction) -> Option<MatrixEntry<'_, T>> {
[INFO] [stdout]     |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> aoc_utils/src/matrix/entry.rs:184:25
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub fn adjacent_mut(&mut self, direction: Direction) -> Option<MatrixEntryMut<T>> {
[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] 184 |     pub fn adjacent_mut(&mut self, direction: Direction) -> Option<MatrixEntryMut<'_, T>> {
[INFO] [stdout]     |                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> aoc_utils/src/matrix/ext/dijkstra.rs:51:25
[INFO] [stdout]    |
[INFO] [stdout] 51 | ...F>(&self, is_path: PF, start: (usize, usize), start_direction: OrdinalDirection, end: (usize, usize)) -> DijkstraBuilder<T, PF>
[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] 51 |     pub fn djikstra<PF>(&self, is_path: PF, start: (usize, usize), start_direction: OrdinalDirection, end: (usize, usize)) -> DijkstraBuilder<'_, T, PF>
[INFO] [stdout]    |                                                                                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[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_lib v0.0.0 (/opt/rustwide/workdir/aoc_lib)
[INFO] [stderr]     Checking year-2024 v0.0.0 (/opt/rustwide/workdir/years/year-2024)
[INFO] [stdout] error[E0659]: `PuzzleInput` is ambiguous
[INFO] [stdout]    --> years/year-2024/src/day11.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let input = PuzzleInput::from_input(INPUT).expect("Input should be valid");
[INFO] [stdout]     |                     ^^^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `PuzzleInput` could refer to the trait imported here
[INFO] [stdout]    --> years/year-2024/src/day11.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `PuzzleInput` to disambiguate
[INFO] [stdout] note: `PuzzleInput` could also refer to the struct imported here
[INFO] [stdout]    --> years/year-2024/src/day11.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `PuzzleInput` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `PuzzleInput` is ambiguous
[INFO] [stdout]    --> years/year-2024/src/day11.rs:126:21
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let input = PuzzleInput::from_input(INPUT).expect("Input should be valid");
[INFO] [stdout]     |                     ^^^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `PuzzleInput` could refer to the trait imported here
[INFO] [stdout]    --> years/year-2024/src/day11.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `PuzzleInput` to disambiguate
[INFO] [stdout] note: `PuzzleInput` could also refer to the struct imported here
[INFO] [stdout]    --> years/year-2024/src/day11.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `PuzzleInput` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `PuzzleInput` is ambiguous
[INFO] [stdout]    --> years/year-2024/src/day11.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let input = PuzzleInput::from_input(INPUT).expect("Input should be valid");
[INFO] [stdout]     |                     ^^^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `PuzzleInput` could refer to the trait imported here
[INFO] [stdout]    --> years/year-2024/src/day11.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `PuzzleInput` to disambiguate
[INFO] [stdout] note: `PuzzleInput` could also refer to the struct imported here
[INFO] [stdout]    --> years/year-2024/src/day11.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `PuzzleInput` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `PuzzleInput` is ambiguous
[INFO] [stdout]    --> years/year-2024/src/day11.rs:151:21
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let input = PuzzleInput::from_input(INPUT).expect("Input should be valid");
[INFO] [stdout]     |                     ^^^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `PuzzleInput` could refer to the trait imported here
[INFO] [stdout]    --> years/year-2024/src/day11.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `PuzzleInput` to disambiguate
[INFO] [stdout] note: `PuzzleInput` could also refer to the struct imported here
[INFO] [stdout]    --> years/year-2024/src/day11.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `PuzzleInput` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aoc_lib::PuzzleInput as _`
[INFO] [stdout]   --> years/year-2024/src/day11.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     use aoc_lib::PuzzleInput as _;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> years/year-2024/src/day11.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let input = PuzzleInput::from_input(INPUT).expect("Input should be valid");
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 107 |         assert_eq!(input.stones.len(), 2);
[INFO] [stdout]     |                    ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `input` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let input: /* Type */ = PuzzleInput::from_input(INPUT).expect("Input should be valid");
[INFO] [stdout]     |                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> years/year-2024/src/day11.rs:126:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let input = PuzzleInput::from_input(INPUT).expect("Input should be valid");
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |         let result = input.stones.iter()
[INFO] [stdout]     |                      ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `input` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let input: /* Type */ = PuzzleInput::from_input(INPUT).expect("Input should be valid");
[INFO] [stdout]     |                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> years/year-2024/src/day11.rs:130:19
[INFO] [stdout]     |
[INFO] [stdout] 130 |             .map(|stone| stone.count_stones_after_n_blinks(0, &mut cache))
[INFO] [stdout]     |                   ^^^^^  ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 130 |             .map(|stone: /* Type */| stone.count_stones_after_n_blinks(0, &mut cache))
[INFO] [stdout]     |                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> years/year-2024/src/day11.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let input = PuzzleInput::from_input(INPUT).expect("Input should be valid");
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |         let result = input.stones.iter()
[INFO] [stdout]     |                      ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `input` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let input: /* Type */ = PuzzleInput::from_input(INPUT).expect("Input should be valid");
[INFO] [stdout]     |                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> years/year-2024/src/day11.rs:142:19
[INFO] [stdout]     |
[INFO] [stdout] 142 |             .map(|stone| stone.count_stones_after_n_blinks(2, &mut cache))
[INFO] [stdout]     |                   ^^^^^  ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 142 |             .map(|stone: /* Type */| stone.count_stones_after_n_blinks(2, &mut cache))
[INFO] [stdout]     |                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> years/year-2024/src/day11.rs:151:13
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let input = PuzzleInput::from_input(INPUT).expect("Input should be valid");
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |         let result = input.stones.iter()
[INFO] [stdout]     |                      ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `input` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let input: /* Type */ = PuzzleInput::from_input(INPUT).expect("Input should be valid");
[INFO] [stdout]     |                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> years/year-2024/src/day11.rs:155:19
[INFO] [stdout]     |
[INFO] [stdout] 155 |             .map(|stone| stone.count_stones_after_n_blinks(25, &mut cache))
[INFO] [stdout]     |                   ^^^^^  ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 155 |             .map(|stone: /* Type */| stone.count_stones_after_n_blinks(25, &mut cache))
[INFO] [stdout]     |                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0659.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> years/year-2024/src/day8.rs:125:24
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn bucket_antennas(&self) -> FxHashMap<char, Vec<MatrixEntry<Option<Antenna>>>> {
[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]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn bucket_antennas(&self) -> FxHashMap<char, Vec<MatrixEntry<'_, Option<Antenna>>>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `year-2024` (lib test) due to 11 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "22abc6e7789fd67308f1f6ed1d9fd2378886c9415afbe24bc64fdbf710a129fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "22abc6e7789fd67308f1f6ed1d9fd2378886c9415afbe24bc64fdbf710a129fb", kill_on_drop: false }`
[INFO] [stdout] 22abc6e7789fd67308f1f6ed1d9fd2378886c9415afbe24bc64fdbf710a129fb
