[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] e3a6de68e7dd96d4d65fa0d84d1034b3f4408433
[INFO] checking CPTblackadder/advent_of_code_2025 against try#54cf65b8d066c082e536455049b95943cf30378f for pr-151920
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCPTblackadder%2Fadvent_of_code_2025" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/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-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/CPTblackadder/advent_of_code_2025 on toolchain 54cf65b8d066c082e536455049b95943cf30378f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "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" "+54cf65b8d066c082e536455049b95943cf30378f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9f0fde4677b621fc7907eaea6daec8ad7299184c3f9175b7bcb8b1d0f186b20a
[INFO] running `Command { std: "docker" "start" "-a" "9f0fde4677b621fc7907eaea6daec8ad7299184c3f9175b7bcb8b1d0f186b20a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9f0fde4677b621fc7907eaea6daec8ad7299184c3f9175b7bcb8b1d0f186b20a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9f0fde4677b621fc7907eaea6daec8ad7299184c3f9175b7bcb8b1d0f186b20a", kill_on_drop: false }`
[INFO] [stdout] 9f0fde4677b621fc7907eaea6daec8ad7299184c3f9175b7bcb8b1d0f186b20a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 182a1ff8240479f02225c49f0d22b8ebb489e5d3ee95ff973cf7d7794b0f0423
[INFO] running `Command { std: "docker" "start" "-a" "182a1ff8240479f02225c49f0d22b8ebb489e5d3ee95ff973cf7d7794b0f0423", kill_on_drop: false }`
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking par-core v2.0.0
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking par-iter v2.0.0
[INFO] [stderr]     Checking ndarray v0.17.1
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]     Checking sprs v0.11.4
[INFO] [stderr]     Checking microlp v0.2.11
[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_05/input`: No such file or directory (os error 2)
[INFO] [stdout]  --> src/day_05.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 |         let lines = include_str!("../input/day_05/input").lines().collect_vec();
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_05/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_05.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let ranges = include_str!("../input/day_05/input")
[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: couldn't read `src/../input/day_10/input`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/day_10.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |         include_str!("../input/day_10/input")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_10/input`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/day_10.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |         include_str!("../input/day_10/input")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_11/input`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/day_11.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             include_str!("../input/day_11/input")
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_11/input`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/day_11.rs:120:19
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let map = include_str!("../input/day_11/input")
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `VecDeque`, `path::Path`, and `rc::Rc`
[INFO] [stdout]  --> src/day_11.rs:2:37
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet, VecDeque},
[INFO] [stdout]   |                                     ^^^^^^^^
[INFO] [stdout] 3 |     path::Path,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 4 |     rc::Rc,
[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: `bridge`
[INFO] [stdout]  --> src/grid.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 |     plumbing::{Producer, bridge},
[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_05.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 13 |             .map(|x| {
[INFO] [stdout]    |                   ^
[INFO] [stdout] 14 |                 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] 13 |             .map(|x: /* Type */| {
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_05.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 |             .map(|x| x.parse::<i64>().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] 25 |             .map(|x: /* Type */| x.parse::<i64>().unwrap())
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_05.rs:26:44
[INFO] [stdout]    |
[INFO] [stdout] 26 |             .filter(|x| ranges.iter().any(|r| r.contains(x)))
[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] 26 |             .filter(|x| ranges.iter().any(|r: /* Type */| r.contains(x)))
[INFO] [stdout]    |                                             ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_05.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 |             .map(|x| {
[INFO] [stdout]    |                   ^
[INFO] [stdout] 36 |                 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] 35 |             .map(|x: /* Type */| {
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_05.rs:47:28
[INFO] [stdout]    |
[INFO] [stdout] 47 |             .fold(vec![], |mut c, i| {
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout] 48 |                 if c.is_empty() {
[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] 47 |             .fold(vec![], |mut c: /* Type */, i| {
[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[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: couldn't read `src/../input/day_05/input`: No such file or directory (os error 2)
[INFO] [stdout]  --> src/day_05.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 |         let lines = include_str!("../input/day_05/input").lines().collect_vec();
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_05/input`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day_05.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let ranges = include_str!("../input/day_05/input")
[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: couldn't read `src/../input/day_10/input`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/day_10.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |         include_str!("../input/day_10/input")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_10/input`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/day_10.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |         include_str!("../input/day_10/input")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_11/input`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/day_11.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             include_str!("../input/day_11/input")
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input/day_11/input`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/day_11.rs:120:19
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let map = include_str!("../input/day_11/input")
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `({type error}, (&_, _))`
[INFO] [stdout]    --> src/day_11.rs:132:19
[INFO] [stdout]     |
[INFO] [stdout] 132 |             .map(|(i, (name, conns))| {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 133 |                 assert_eq!(*i, name_map[name]);
[INFO] [stdout] 134 |                 conns
[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] 132 |             .map(|(i, (name, conns)): (_, (&Q, _))| {
[INFO] [stdout]     |                                     ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `VecDeque`, `path::Path`, and `rc::Rc`
[INFO] [stdout]  --> src/day_11.rs:2:37
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet, VecDeque},
[INFO] [stdout]   |                                     ^^^^^^^^
[INFO] [stdout] 3 |     path::Path,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 4 |     rc::Rc,
[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: `bridge`
[INFO] [stdout]  --> src/grid.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 |     plumbing::{Producer, bridge},
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Producer`
[INFO] [stdout]  --> src/grid.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |     plumbing::{Producer, bridge},
[INFO] [stdout]   |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParallelIterator`
[INFO] [stdout]  --> src/grid.rs:3:30
[INFO] [stdout]   |
[INFO] [stdout] 3 |     IndexedParallelIterator, ParallelIterator,
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IndexedParallelIterator`
[INFO] [stdout]  --> src/grid.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     IndexedParallelIterator, ParallelIterator,
[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_05.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 13 |             .map(|x| {
[INFO] [stdout]    |                   ^
[INFO] [stdout] 14 |                 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] 13 |             .map(|x: /* Type */| {
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_05.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 |             .map(|x| x.parse::<i64>().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] 25 |             .map(|x: /* Type */| x.parse::<i64>().unwrap())
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_05.rs:26:44
[INFO] [stdout]    |
[INFO] [stdout] 26 |             .filter(|x| ranges.iter().any(|r| r.contains(x)))
[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] 26 |             .filter(|x| ranges.iter().any(|r: /* Type */| r.contains(x)))
[INFO] [stdout]    |                                             ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_05.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 |             .map(|x| {
[INFO] [stdout]    |                   ^
[INFO] [stdout] 36 |                 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] 35 |             .map(|x: /* Type */| {
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/day_05.rs:47:28
[INFO] [stdout]    |
[INFO] [stdout] 47 |             .fold(vec![], |mut c, i| {
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout] 48 |                 if c.is_empty() {
[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] 47 |             .fold(vec![], |mut c: /* Type */, i| {
[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[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] [stdout] error[E0282]: type annotations needed for `({type error}, (&_, _))`
[INFO] [stdout]    --> src/day_11.rs:132:19
[INFO] [stdout]     |
[INFO] [stdout] 132 |             .map(|(i, (name, conns))| {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 133 |                 assert_eq!(*i, name_map[name]);
[INFO] [stdout] 134 |                 conns
[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] 132 |             .map(|(i, (name, conns)): (_, (&Q, _))| {
[INFO] [stdout]     |                                     ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `advent_of_code_2025` (bin "advent_of_code_2025") due to 49 previous errors; 5 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `Producer`
[INFO] [stdout]  --> src/grid.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |     plumbing::{Producer, bridge},
[INFO] [stdout]   |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParallelIterator`
[INFO] [stdout]  --> src/grid.rs:3:30
[INFO] [stdout]   |
[INFO] [stdout] 3 |     IndexedParallelIterator, ParallelIterator,
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IndexedParallelIterator`
[INFO] [stdout]  --> src/grid.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     IndexedParallelIterator, ParallelIterator,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[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" test) due to 49 previous errors; 5 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "182a1ff8240479f02225c49f0d22b8ebb489e5d3ee95ff973cf7d7794b0f0423", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "182a1ff8240479f02225c49f0d22b8ebb489e5d3ee95ff973cf7d7794b0f0423", kill_on_drop: false }`
[INFO] [stdout] 182a1ff8240479f02225c49f0d22b8ebb489e5d3ee95ff973cf7d7794b0f0423
