[INFO] cloning repository https://github.com/ellisjoe/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/ellisjoe/advent-of-code-2025" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fellisjoe%2Fadvent-of-code-2025", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fellisjoe%2Fadvent-of-code-2025'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] bf661a75897bff76f99de427316cf15d26c540f3 [INFO] checking ellisjoe/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%2Fellisjoe%2Fadvent-of-code-2025" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ellisjoe/advent-of-code-2025 [INFO] finished tweaking git repo https://github.com/ellisjoe/advent-of-code-2025 [INFO] tweaked toml for git repo https://github.com/ellisjoe/advent-of-code-2025 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ellisjoe/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/ellisjoe/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] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded i_shape v1.14.0 [INFO] [stderr] Downloaded i_key_sort v0.6.0 [INFO] [stderr] Downloaded i_float v1.15.0 [INFO] [stderr] Downloaded rstar v0.12.2 [INFO] [stderr] Downloaded i_tree v0.16.0 [INFO] [stderr] Downloaded geo-types v0.7.18 [INFO] [stderr] Downloaded geographiclib-rs v0.2.5 [INFO] [stderr] Downloaded i_overlay v4.0.6 [INFO] [stderr] Downloaded geo v0.31.0 [INFO] [stderr] Downloaded robust v1.2.0 [INFO] [stderr] Downloaded spade v2.15.0 [INFO] [stderr] Downloaded earcutr v0.4.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 92d0f670b4cd74c593b57d4beeb8d2f4c0f700642f23000bf22fdcfb876355d4 [INFO] running `Command { std: "docker" "start" "-a" "92d0f670b4cd74c593b57d4beeb8d2f4c0f700642f23000bf22fdcfb876355d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "92d0f670b4cd74c593b57d4beeb8d2f4c0f700642f23000bf22fdcfb876355d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "92d0f670b4cd74c593b57d4beeb8d2f4c0f700642f23000bf22fdcfb876355d4", kill_on_drop: false }` [INFO] [stdout] 92d0f670b4cd74c593b57d4beeb8d2f4c0f700642f23000bf22fdcfb876355d4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6a1488f6330412f3b9ca8da76e03fd7d14440cf6c63743671d473f1f2dcb66bd [INFO] running `Command { std: "docker" "start" "-a" "6a1488f6330412f3b9ca8da76e03fd7d14440cf6c63743671d473f1f2dcb66bd", kill_on_drop: false }` [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling heapless v0.8.0 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Checking stable_deref_trait v1.2.1 [INFO] [stderr] Checking allocator-api2 v0.2.21 [INFO] [stderr] Checking foldhash v0.1.5 [INFO] [stderr] Checking robust v1.2.0 [INFO] [stderr] Checking i_key_sort v0.6.0 [INFO] [stderr] Checking i_tree v0.16.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking float_next_after v1.0.0 [INFO] [stderr] Checking itertools v0.11.0 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Checking hash32 v0.3.1 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Checking i_float v1.15.0 [INFO] [stderr] Checking geographiclib-rs v0.2.5 [INFO] [stderr] Checking i_shape v1.14.0 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking rstar v0.12.2 [INFO] [stderr] Checking spade v2.15.0 [INFO] [stderr] Checking earcutr v0.4.3 [INFO] [stderr] Checking i_overlay v4.0.6 [INFO] [stderr] Checking geo-types v0.7.18 [INFO] [stderr] Checking geo v0.31.0 [INFO] [stderr] Checking advent-of-code-2025 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::EmptyResult` [INFO] [stdout] --> src/day_01.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::EmptyResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/day_01.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::EmptyResult` [INFO] [stdout] --> src/day_02.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::EmptyResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/day_02.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::EmptyResult` [INFO] [stdout] --> src/day_03.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::EmptyResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/day_03.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::EmptyResult` [INFO] [stdout] --> src/day_04.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::EmptyResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `max` [INFO] [stdout] --> src/day_04.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/day_04.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::EmptyResult` [INFO] [stdout] --> src/day_05.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::EmptyResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::EmptyResult` [INFO] [stdout] --> src/day_06.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::EmptyResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/day_07.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::EmptyResult` [INFO] [stdout] --> src/day_07.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::EmptyResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/day_07.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Index` [INFO] [stdout] --> src/day_07.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ops::Index; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `EmptyResult` [INFO] [stdout] --> src/day_08.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{EmptyResult, Result}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::EmptyResult` [INFO] [stdout] --> src/day_09.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::EmptyResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Contains`, `Coord`, and `LineString` [INFO] [stdout] --> src/day_09.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | use geo::{Contains, Coord, LineString}; [INFO] [stdout] | ^^^^^^^^ ^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `geo::Rect` [INFO] [stdout] --> src/day_09.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use geo::Rect; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/day_09.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::EmptyResult` [INFO] [stdout] --> src/day_10.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::EmptyResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/day_10.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::EmptyResult` [INFO] [stdout] --> src/day_11.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::EmptyResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/day_11.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::EmptyResult` [INFO] [stdout] --> src/day_12.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::EmptyResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/day_12.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `max` [INFO] [stdout] --> src/day_04.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Index` [INFO] [stdout] --> src/day_07.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ops::Index; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Result` is never used [INFO] [stdout] --> src/main.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type Result = std::result::Result>; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `EmptyResult` is never used [INFO] [stdout] --> src/main.rs:16:6 [INFO] [stdout] | [INFO] [stdout] 16 | type EmptyResult = Result<()>; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_line` is never used [INFO] [stdout] --> src/day_01.rs:70:4 [INFO] [stdout] | [INFO] [stdout] 70 | fn parse_line(line: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse` is never used [INFO] [stdout] --> src/day_02.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn parse(input: &str) -> RangeInclusive { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_invalid` is never used [INFO] [stdout] --> src/day_02.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn is_invalid(num: &i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_invalid_2` is never used [INFO] [stdout] --> src/day_02.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn is_invalid_2(num: &i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chunk` is never used [INFO] [stdout] --> src/day_02.rs:64:4 [INFO] [stdout] | [INFO] [stdout] 64 | fn chunk(str: &str, size: usize) -> Option> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `max` is never used [INFO] [stdout] --> src/day_03.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn max(nums: Vec) -> i32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2_max` is never used [INFO] [stdout] --> src/day_03.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn part2_max(nums: Vec) -> i64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first_max_idx` is never used [INFO] [stdout] --> src/day_03.rs:64:4 [INFO] [stdout] | [INFO] [stdout] 64 | fn first_max_idx(nums: &[i32]) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_remove` is never used [INFO] [stdout] --> src/day_04.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn to_remove(grid: &Grid) -> Vec<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Grid` is never constructed [INFO] [stdout] --> src/day_04.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | struct Grid { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `y_len`, `x_len`, `value`, `set`, and `surrounding` are never used [INFO] [stdout] --> src/day_04.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 64 | impl Grid { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 65 | fn y_len(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | fn x_len(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | fn value(&self, x: usize, y: usize) -> &T { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | fn set(&mut self, x: usize, y: usize, value: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | fn surrounding(&self, x: usize, y: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse` is never used [INFO] [stdout] --> src/day_05.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn parse() -> Result<(Vec>, Vec), Box> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `merge` is never used [INFO] [stdout] --> src/day_05.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn merge(first: RangeInclusive, second: RangeInclusive) -> MergeResult> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MergeResult` is never used [INFO] [stdout] --> src/day_05.rs:80:6 [INFO] [stdout] | [INFO] [stdout] 80 | enum MergeResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Reducer` is never constructed [INFO] [stdout] --> src/day_06.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | struct Reducer { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `apply` are never used [INFO] [stdout] --> src/day_06.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 87 | impl Reducer { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 88 | fn new(func: Box i64>, value: i64) -> Reducer { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | fn apply(&mut self, value: i64) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_lines` is never used [INFO] [stdout] --> src/day_06.rs:97:4 [INFO] [stdout] | [INFO] [stdout] 97 | fn read_lines() -> Result>, Box> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse` is never used [INFO] [stdout] --> src/day_08.rs:33:4 [INFO] [stdout] | [INFO] [stdout] 33 | fn parse() -> Result<(Vec<(Point, Point, i64)>, Circuits)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Circuits` is never constructed [INFO] [stdout] --> src/day_08.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | struct Circuits { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `connect`, `count`, and `result` are never used [INFO] [stdout] --> src/day_08.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 60 | impl Circuits { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 61 | fn new(circuits: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | fn connect(self, box_1: &Point, box_2: &Point) -> Circuits { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | fn count(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | fn result(&self) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Circuit` is never constructed [INFO] [stdout] --> src/day_08.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | struct Circuit { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_empty`, `new`, `contains`, `connect`, and `count` are never used [INFO] [stdout] --> src/day_08.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 97 | impl Circuit { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 98 | fn new_empty() -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | fn new(junction: Point) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn contains(&self, point: &Point) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | fn connect(&mut self, other: Circuit) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | fn count(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Point` is never constructed [INFO] [stdout] --> src/day_08.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 124 | struct Point { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `parse` and `distance` are never used [INFO] [stdout] --> src/day_08.rs:131:8 [INFO] [stdout] | [INFO] [stdout] 130 | impl Point { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 131 | fn parse(line: &str) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | fn distance(&self, other: &Point) -> i64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Point` is never constructed [INFO] [stdout] --> src/day_09.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | struct Point { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `parse` and `area` are never used [INFO] [stdout] --> src/day_09.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 58 | impl Point { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 59 | fn parse(input: &str) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | fn area(&self, point: &Point) -> f64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Machine` is never constructed [INFO] [stdout] --> src/day_10.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | struct Machine { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `parse`, `min_presses`, `presses`, and `min_joltage` are never used [INFO] [stdout] --> src/day_10.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 42 | impl Machine { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 43 | fn parse(line: &str) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | fn min_presses(&self) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | fn presses(&self) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | fn min_joltage(&self) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_lights` is never used [INFO] [stdout] --> src/day_10.rs:160:4 [INFO] [stdout] | [INFO] [stdout] 160 | fn to_lights(joltage: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Button` is never constructed [INFO] [stdout] --> src/day_10.rs:165:8 [INFO] [stdout] | [INFO] [stdout] 165 | struct Button { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `parse`, `apply`, and `sub` are never used [INFO] [stdout] --> src/day_10.rs:170:8 [INFO] [stdout] | [INFO] [stdout] 169 | impl Button { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 170 | fn parse(input: &str) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | fn apply(&self, lights: &mut Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | fn sub(&self, values: &mut Vec) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BitVec` is never constructed [INFO] [stdout] --> src/day_10.rs:192:8 [INFO] [stdout] | [INFO] [stdout] 192 | struct BitVec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `bits_set`, and `next` are never used [INFO] [stdout] --> src/day_10.rs:197:8 [INFO] [stdout] | [INFO] [stdout] 196 | impl BitVec { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 197 | fn new(size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | fn bits_set(&self) -> i64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | fn next(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_vec` is never used [INFO] [stdout] --> src/day_10.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | fn init_vec(size: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Connections` is never constructed [INFO] [stdout] --> src/day_11.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | struct Connections { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `find_paths` and `find_paths_cached` are never used [INFO] [stdout] --> src/day_11.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 41 | impl Connections { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 42 | fn find_paths(&self, start: &str, end: &str) -> i64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | fn find_paths_cached(&self, start: &str, end: &str, cache: &mut HashMap) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse` is never used [INFO] [stdout] --> src/day_11.rs:69:4 [INFO] [stdout] | [INFO] [stdout] 69 | fn parse(input: &str) -> (String, Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_tree` is never used [INFO] [stdout] --> src/day_12.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn parse_tree(input: &str) -> (i64, i64, Vec) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.84s [INFO] running `Command { std: "docker" "inspect" "6a1488f6330412f3b9ca8da76e03fd7d14440cf6c63743671d473f1f2dcb66bd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6a1488f6330412f3b9ca8da76e03fd7d14440cf6c63743671d473f1f2dcb66bd", kill_on_drop: false }` [INFO] [stdout] 6a1488f6330412f3b9ca8da76e03fd7d14440cf6c63743671d473f1f2dcb66bd