[INFO] cloning repository https://github.com/CPTblackadder/advent_of_code_2025
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CPTblackadder/advent_of_code_2025" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCPTblackadder%2Fadvent_of_code_2025", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCPTblackadder%2Fadvent_of_code_2025'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 36ba255a7304b4f2072bf798f764a6979a694739
[INFO] checking CPTblackadder/advent_of_code_2025 against master#568b11762723b001bfa693d0f21c5dad01d4e813 for pr-148190
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCPTblackadder%2Fadvent_of_code_2025" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/CPTblackadder/advent_of_code_2025
[INFO] finished tweaking git repo https://github.com/CPTblackadder/advent_of_code_2025
[INFO] tweaked toml for git repo https://github.com/CPTblackadder/advent_of_code_2025 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/CPTblackadder/advent_of_code_2025 on toolchain 568b11762723b001bfa693d0f21c5dad01d4e813
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/CPTblackadder/advent_of_code_2025 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" "+568b11762723b001bfa693d0f21c5dad01d4e813" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded par-core v2.0.0
[INFO] [stderr]   Downloaded par-iter v2.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 48151cb93bd8aa3ffc7b3b5becdfc7de80e80e623bd40a855793b6b4c27f0da3
[INFO] running `Command { std: "docker" "start" "-a" "48151cb93bd8aa3ffc7b3b5becdfc7de80e80e623bd40a855793b6b4c27f0da3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "48151cb93bd8aa3ffc7b3b5becdfc7de80e80e623bd40a855793b6b4c27f0da3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "48151cb93bd8aa3ffc7b3b5becdfc7de80e80e623bd40a855793b6b4c27f0da3", kill_on_drop: false }`
[INFO] [stdout] 48151cb93bd8aa3ffc7b3b5becdfc7de80e80e623bd40a855793b6b4c27f0da3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a3656ec020f96dde5bb4a1ea75fc73c87b4b0091e9bf6ca6799ef2bbeefba9a7
[INFO] running `Command { std: "docker" "start" "-a" "a3656ec020f96dde5bb4a1ea75fc73c87b4b0091e9bf6ca6799ef2bbeefba9a7", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stderr]     Checking par-core v2.0.0
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking par-iter v2.0.0
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]     Checking advent_of_code_2025 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: couldn't read `src/../input/day_01/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_01.rs:69:21
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let lines = include_str!("../input/day_01/input").lines().map(|x| {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_01/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_01.rs:90:21
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let lines = include_str!("../input/day_01/input").lines().map(|x| {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_02/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_02.rs:42:40
[INFO] [stdout]    |
[INFO] [stdout] 42 |             RangeCollection::construct(include_str!("../input/day_02/input").split(",").map(|x| {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_02/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_02.rs:69:40
[INFO] [stdout]    |
[INFO] [stdout] 69 |             RangeCollection::construct(include_str!("../input/day_02/input").split(",").map(|x| {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_03/input`: No such file or directory (os error 2)
[INFO] [stdout]  --> src/day_03.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         include_str!("../input/day_03/input")
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_03/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_03.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         include_str!("../input/day_03/input")
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_04/input`: No such file or directory (os error 2)
[INFO] [stdout]  --> src/day_04.rs:9:38
[INFO] [stdout]   |
[INFO] [stdout] 9 |         let grid = Grid::from_string(include_str!("../input/day_04/input"), false);
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_04/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_04.rs:25:42
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut grid = Grid::from_string(include_str!("../input/day_04/input"), false);
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_08/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_08.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let coords = include_str!("../input/day_08/input").lines().map(|x| {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_08/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_08.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let coords = include_str!("../input/day_08/input")
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_09/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_09.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let coords = include_str!("../input/day_09/input")
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_09/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_09.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let coords = include_str!("../input/day_09/input")
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_01.rs:69:72
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let lines = include_str!("../input/day_01/input").lines().map(|x| {
[INFO] [stdout]    |                                                                        ^
[INFO] [stdout] 70 |             let d = x.chars().next().unwrap();
[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] 69 |         let lines = include_str!("../input/day_01/input").lines().map(|x: /* Type */| {
[INFO] [stdout]    |                                                                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_01.rs:90:72
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let lines = include_str!("../input/day_01/input").lines().map(|x| {
[INFO] [stdout]    |                                                                        ^
[INFO] [stdout] 91 |             let d = x.chars().next().unwrap();
[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] 90 |         let lines = include_str!("../input/day_01/input").lines().map(|x: /* Type */| {
[INFO] [stdout]    |                                                                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_02.rs:42:94
[INFO] [stdout]    |
[INFO] [stdout] 42 |             RangeCollection::construct(include_str!("../input/day_02/input").split(",").map(|x| {
[INFO] [stdout]    |                                                                                              ^
[INFO] [stdout] 43 |                 let mut s = x.split("-");
[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] 42 |             RangeCollection::construct(include_str!("../input/day_02/input").split(",").map(|x: /* Type */| {
[INFO] [stdout]    |                                                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_02.rs:69:94
[INFO] [stdout]    |
[INFO] [stdout] 69 |             RangeCollection::construct(include_str!("../input/day_02/input").split(",").map(|x| {
[INFO] [stdout]    |                                                                                              ^
[INFO] [stdout] 70 |                 let mut s = x.split("-");
[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] 69 |             RangeCollection::construct(include_str!("../input/day_02/input").split(",").map(|x: /* Type */| {
[INFO] [stdout]    |                                                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_03.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 |             .map(|x| {
[INFO] [stdout]    |                   ^
[INFO] [stdout] 12 |                 let chars = x.chars().collect_vec();
[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] 11 |             .map(|x: /* Type */| {
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_03.rs:40:19
[INFO] [stdout]    |
[INFO] [stdout] 40 |             .map(|x| {
[INFO] [stdout]    |                   ^
[INFO] [stdout] 41 |                 let chars = x.chars().collect_vec();
[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] 40 |             .map(|x: /* Type */| {
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_08.rs:11:73
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let coords = include_str!("../input/day_08/input").lines().map(|x| {
[INFO] [stdout]    |                                                                         ^
[INFO] [stdout] 12 |             let mut numbers = x.split(",");
[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] 11 |         let coords = include_str!("../input/day_08/input").lines().map(|x: /* Type */| {
[INFO] [stdout]    |                                                                          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_08.rs:71:19
[INFO] [stdout]    |
[INFO] [stdout] 71 |             .map(|x| {
[INFO] [stdout]    |                   ^
[INFO] [stdout] 72 |                 let mut numbers = x.split(",");
[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] 71 |             .map(|x: /* Type */| {
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_08.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |             if !h[x_i].is_none() {
[INFO] [stdout]    |                 ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_08.rs:92:21
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 if !h[y_i].is_none() {
[INFO] [stdout]    |                     ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/day_08.rs:111:24
[INFO] [stdout]     |
[INFO] [stdout] 111 |             } else if !h[y_i].is_none() {
[INFO] [stdout]     |                        ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_09.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 32 |             .map(|x| {
[INFO] [stdout]    |                   ^
[INFO] [stdout] 33 |                 let mut s = x.split(",");
[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] 32 |             .map(|x: /* Type */| {
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]   --> src/day_09.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 |             .map(|(x, y)| (x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1))
[INFO] [stdout]    |                   ^^^^^^   - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 42 |             .map(|(x, y): (_, _)| (x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1))
[INFO] [stdout]    |                         ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `({type error}, _)`
[INFO] [stdout]   --> src/day_09.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 |             .map(|(x, y)| (x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1))
[INFO] [stdout]    |                   ^^^^^^                  - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 42 |             .map(|(x, y): (_, _)| (x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1))
[INFO] [stdout]    |                         ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_09.rs:51:19
[INFO] [stdout]    |
[INFO] [stdout] 51 |             .map(|x| {
[INFO] [stdout]    |                   ^
[INFO] [stdout] 52 |                 let mut s = x.split(",");
[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] 51 |             .map(|x: /* Type */| {
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_09.rs:58:40
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let max_x = coords.iter().map(|x| x.x()).max().unwrap();
[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] 58 |         let max_x = coords.iter().map(|x: /* Type */| x.x()).max().unwrap();
[INFO] [stdout]    |                                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_09.rs:59:40
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let max_y = coords.iter().map(|x| x.y()).max().unwrap();
[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] 59 |         let max_y = coords.iter().map(|x: /* Type */| x.y()).max().unwrap();
[INFO] [stdout]    |                                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_09.rs:68:16
[INFO] [stdout]    |
[INFO] [stdout] 68 |             if x.x() == y.x() {
[INFO] [stdout]    |                ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_09.rs:68:25
[INFO] [stdout]    |
[INFO] [stdout] 68 |             if x.x() == y.x() {
[INFO] [stdout]    |                         ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]   --> src/day_09.rs:89:29
[INFO] [stdout]    |
[INFO] [stdout] 89 |             .sorted_by_key(|(x, y)| (x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1))
[INFO] [stdout]    |                             ^^^^^^   - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 89 |             .sorted_by_key(|(x, y): (_, _)| (x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1))
[INFO] [stdout]    |                                   ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `({type error}, _)`
[INFO] [stdout]   --> src/day_09.rs:89:29
[INFO] [stdout]    |
[INFO] [stdout] 89 |             .sorted_by_key(|(x, y)| (x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1))
[INFO] [stdout]    |                             ^^^^^^                  - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 89 |             .sorted_by_key(|(x, y): (_, _)| (x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1))
[INFO] [stdout]    |                                   ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]   --> src/day_09.rs:91:22
[INFO] [stdout]    |
[INFO] [stdout] 91 |             .filter(|(x, y)| {
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout] 92 |                 let mut xs = [x.x(), y.x()];
[INFO] [stdout]    |                               - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 91 |             .filter(|(x, y): (_, _)| {
[INFO] [stdout]    |                            ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `({type error}, _)`
[INFO] [stdout]   --> src/day_09.rs:91:22
[INFO] [stdout]    |
[INFO] [stdout] 91 |             .filter(|(x, y)| {
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout] 92 |                 let mut xs = [x.x(), y.x()];
[INFO] [stdout]    |                                      - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 91 |             .filter(|(x, y): (_, _)| {
[INFO] [stdout]    |                            ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_01/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_01.rs:69:21
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let lines = include_str!("../input/day_01/input").lines().map(|x| {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_01/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_01.rs:90:21
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let lines = include_str!("../input/day_01/input").lines().map(|x| {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_02/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_02.rs:42:40
[INFO] [stdout]    |
[INFO] [stdout] 42 |             RangeCollection::construct(include_str!("../input/day_02/input").split(",").map(|x| {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_02/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_02.rs:69:40
[INFO] [stdout]    |
[INFO] [stdout] 69 |             RangeCollection::construct(include_str!("../input/day_02/input").split(",").map(|x| {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_03/input`: No such file or directory (os error 2)
[INFO] [stdout]  --> src/day_03.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         include_str!("../input/day_03/input")
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_03/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_03.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         include_str!("../input/day_03/input")
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_04/input`: No such file or directory (os error 2)
[INFO] [stdout]  --> src/day_04.rs:9:38
[INFO] [stdout]   |
[INFO] [stdout] 9 |         let grid = Grid::from_string(include_str!("../input/day_04/input"), false);
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_04/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_04.rs:25:42
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut grid = Grid::from_string(include_str!("../input/day_04/input"), false);
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_08/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_08.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let coords = include_str!("../input/day_08/input").lines().map(|x| {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_08/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_08.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let coords = include_str!("../input/day_08/input")
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_09/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_09.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let coords = include_str!("../input/day_09/input")
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_09/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_09.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let coords = include_str!("../input/day_09/input")
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/day_09.rs:108:11
[INFO] [stdout]     |
[INFO] [stdout] 108 |         ((x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1)).to_string()
[INFO] [stdout]     |           ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/day_09.rs:108:26
[INFO] [stdout]     |
[INFO] [stdout] 108 |         ((x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1)).to_string()
[INFO] [stdout]     |                          ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_01.rs:69:72
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let lines = include_str!("../input/day_01/input").lines().map(|x| {
[INFO] [stdout]    |                                                                        ^
[INFO] [stdout] 70 |             let d = x.chars().next().unwrap();
[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] 69 |         let lines = include_str!("../input/day_01/input").lines().map(|x: /* Type */| {
[INFO] [stdout]    |                                                                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_01.rs:90:72
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let lines = include_str!("../input/day_01/input").lines().map(|x| {
[INFO] [stdout]    |                                                                        ^
[INFO] [stdout] 91 |             let d = x.chars().next().unwrap();
[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] 90 |         let lines = include_str!("../input/day_01/input").lines().map(|x: /* Type */| {
[INFO] [stdout]    |                                                                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_02.rs:42:94
[INFO] [stdout]    |
[INFO] [stdout] 42 |             RangeCollection::construct(include_str!("../input/day_02/input").split(",").map(|x| {
[INFO] [stdout]    |                                                                                              ^
[INFO] [stdout] 43 |                 let mut s = x.split("-");
[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] 42 |             RangeCollection::construct(include_str!("../input/day_02/input").split(",").map(|x: /* Type */| {
[INFO] [stdout]    |                                                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_02.rs:69:94
[INFO] [stdout]    |
[INFO] [stdout] 69 |             RangeCollection::construct(include_str!("../input/day_02/input").split(",").map(|x| {
[INFO] [stdout]    |                                                                                              ^
[INFO] [stdout] 70 |                 let mut s = x.split("-");
[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] 69 |             RangeCollection::construct(include_str!("../input/day_02/input").split(",").map(|x: /* Type */| {
[INFO] [stdout]    |                                                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_03.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 |             .map(|x| {
[INFO] [stdout]    |                   ^
[INFO] [stdout] 12 |                 let chars = x.chars().collect_vec();
[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] 11 |             .map(|x: /* Type */| {
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_03.rs:40:19
[INFO] [stdout]    |
[INFO] [stdout] 40 |             .map(|x| {
[INFO] [stdout]    |                   ^
[INFO] [stdout] 41 |                 let chars = x.chars().collect_vec();
[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] 40 |             .map(|x: /* Type */| {
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_08.rs:11:73
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let coords = include_str!("../input/day_08/input").lines().map(|x| {
[INFO] [stdout]    |                                                                         ^
[INFO] [stdout] 12 |             let mut numbers = x.split(",");
[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] 11 |         let coords = include_str!("../input/day_08/input").lines().map(|x: /* Type */| {
[INFO] [stdout]    |                                                                          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_08.rs:71:19
[INFO] [stdout]    |
[INFO] [stdout] 71 |             .map(|x| {
[INFO] [stdout]    |                   ^
[INFO] [stdout] 72 |                 let mut numbers = x.split(",");
[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] 71 |             .map(|x: /* Type */| {
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_08.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |             if !h[x_i].is_none() {
[INFO] [stdout]    |                 ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_08.rs:92:21
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 if !h[y_i].is_none() {
[INFO] [stdout]    |                     ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/day_08.rs:111:24
[INFO] [stdout]     |
[INFO] [stdout] 111 |             } else if !h[y_i].is_none() {
[INFO] [stdout]     |                        ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_09.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 32 |             .map(|x| {
[INFO] [stdout]    |                   ^
[INFO] [stdout] 33 |                 let mut s = x.split(",");
[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] 32 |             .map(|x: /* Type */| {
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]   --> src/day_09.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 |             .map(|(x, y)| (x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1))
[INFO] [stdout]    |                   ^^^^^^   - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 42 |             .map(|(x, y): (_, _)| (x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1))
[INFO] [stdout]    |                         ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `({type error}, _)`
[INFO] [stdout]   --> src/day_09.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 |             .map(|(x, y)| (x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1))
[INFO] [stdout]    |                   ^^^^^^                  - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 42 |             .map(|(x, y): (_, _)| (x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1))
[INFO] [stdout]    |                         ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_09.rs:51:19
[INFO] [stdout]    |
[INFO] [stdout] 51 |             .map(|x| {
[INFO] [stdout]    |                   ^
[INFO] [stdout] 52 |                 let mut s = x.split(",");
[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] 51 |             .map(|x: /* Type */| {
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_09.rs:58:40
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let max_x = coords.iter().map(|x| x.x()).max().unwrap();
[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] 58 |         let max_x = coords.iter().map(|x: /* Type */| x.x()).max().unwrap();
[INFO] [stdout]    |                                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_09.rs:59:40
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let max_y = coords.iter().map(|x| x.y()).max().unwrap();
[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] 59 |         let max_y = coords.iter().map(|x: /* Type */| x.y()).max().unwrap();
[INFO] [stdout]    |                                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_09.rs:68:16
[INFO] [stdout]    |
[INFO] [stdout] 68 |             if x.x() == y.x() {
[INFO] [stdout]    |                ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_09.rs:68:25
[INFO] [stdout]    |
[INFO] [stdout] 68 |             if x.x() == y.x() {
[INFO] [stdout]    |                         ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]   --> src/day_09.rs:89:29
[INFO] [stdout]    |
[INFO] [stdout] 89 |             .sorted_by_key(|(x, y)| (x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1))
[INFO] [stdout]    |                             ^^^^^^   - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 89 |             .sorted_by_key(|(x, y): (_, _)| (x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1))
[INFO] [stdout]    |                                   ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `advent_of_code_2025` (bin "advent_of_code_2025" test) due to 37 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0282]: type annotations needed for `({type error}, _)`
[INFO] [stdout]   --> src/day_09.rs:89:29
[INFO] [stdout]    |
[INFO] [stdout] 89 |             .sorted_by_key(|(x, y)| (x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1))
[INFO] [stdout]    |                             ^^^^^^                  - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 89 |             .sorted_by_key(|(x, y): (_, _)| (x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1))
[INFO] [stdout]    |                                   ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]   --> src/day_09.rs:91:22
[INFO] [stdout]    |
[INFO] [stdout] 91 |             .filter(|(x, y)| {
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout] 92 |                 let mut xs = [x.x(), y.x()];
[INFO] [stdout]    |                               - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 91 |             .filter(|(x, y): (_, _)| {
[INFO] [stdout]    |                            ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `({type error}, _)`
[INFO] [stdout]   --> src/day_09.rs:91:22
[INFO] [stdout]    |
[INFO] [stdout] 91 |             .filter(|(x, y)| {
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout] 92 |                 let mut xs = [x.x(), y.x()];
[INFO] [stdout]    |                                      - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 91 |             .filter(|(x, y): (_, _)| {
[INFO] [stdout]    |                            ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/day_09.rs:108:11
[INFO] [stdout]     |
[INFO] [stdout] 108 |         ((x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1)).to_string()
[INFO] [stdout]     |           ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/day_09.rs:108:26
[INFO] [stdout]     |
[INFO] [stdout] 108 |         ((x.x().abs_diff(y.x()) + 1) * (x.y().abs_diff(y.y()) + 1)).to_string()
[INFO] [stdout]     |                          ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `advent_of_code_2025` (bin "advent_of_code_2025") due to 37 previous errors
[INFO] running `Command { std: "docker" "inspect" "a3656ec020f96dde5bb4a1ea75fc73c87b4b0091e9bf6ca6799ef2bbeefba9a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a3656ec020f96dde5bb4a1ea75fc73c87b4b0091e9bf6ca6799ef2bbeefba9a7", kill_on_drop: false }`
[INFO] [stdout] a3656ec020f96dde5bb4a1ea75fc73c87b4b0091e9bf6ca6799ef2bbeefba9a7
