[INFO] cloning repository https://github.com/Mmarzex/advent-of-code-2023
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Mmarzex/advent-of-code-2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMmarzex%2Fadvent-of-code-2023", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMmarzex%2Fadvent-of-code-2023'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d53bb8c05867df3bfe50550b6d446c27d0cfd15a
[INFO] checking Mmarzex/advent-of-code-2023 against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMmarzex%2Fadvent-of-code-2023" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/Mmarzex/advent-of-code-2023
[INFO] finished tweaking git repo https://github.com/Mmarzex/advent-of-code-2023
[INFO] tweaked toml for git repo https://github.com/Mmarzex/advent-of-code-2023 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Mmarzex/advent-of-code-2023 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Mmarzex/advent-of-code-2023 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" "+1.95.0" "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 deprecate-until v0.1.1
[INFO] [stderr]   Downloaded rayon-cond v0.2.0
[INFO] [stderr]   Downloaded priority-queue v1.3.2
[INFO] [stderr]   Downloaded rustworkx-core v0.13.2
[INFO] [stderr]   Downloaded pathfinding v4.6.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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a8ce2af2fc9f9dcda7ae99c27228f5b366233e64ff0155028a42ac7931cacbe8
[INFO] running `Command { std: "docker" "start" "-a" "a8ce2af2fc9f9dcda7ae99c27228f5b366233e64ff0155028a42ac7931cacbe8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a8ce2af2fc9f9dcda7ae99c27228f5b366233e64ff0155028a42ac7931cacbe8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a8ce2af2fc9f9dcda7ae99c27228f5b366233e64ff0155028a42ac7931cacbe8", kill_on_drop: false }`
[INFO] [stdout] a8ce2af2fc9f9dcda7ae99c27228f5b366233e64ff0155028a42ac7931cacbe8
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e5cf9f574fcdcc0357076dea9b5d919f112dddff32ec5da71ce29d6496480cd2
[INFO] running `Command { std: "docker" "start" "-a" "e5cf9f574fcdcc0357076dea9b5d919f112dddff32ec5da71ce29d6496480cd2", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.18
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]     Checking zerocopy v0.7.32
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]     Checking allocator-api2 v0.2.16
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling ahash v0.8.6
[INFO] [stderr]    Compiling semver v1.0.20
[INFO] [stderr]     Checking getrandom v0.2.11
[INFO] [stderr]     Checking num-integer v0.1.45
[INFO] [stderr]    Compiling priority-queue v1.3.2
[INFO] [stderr]    Compiling thiserror v1.0.51
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking signal-hook-registry v1.4.1
[INFO] [stderr]     Checking num-complex v0.4.4
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking integer-sqrt v0.1.5
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking itertools v0.12.0
[INFO] [stderr]     Checking pico-args v0.5.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_pcg v0.3.1
[INFO] [stderr]     Checking num-iter v0.1.43
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking crossbeam-epoch v0.9.17
[INFO] [stderr]     Checking crossbeam-deque v0.8.4
[INFO] [stderr]     Checking rayon-core v1.12.0
[INFO] [stderr]     Checking rayon v1.8.0
[INFO] [stderr]     Checking num-rational v0.4.1
[INFO] [stderr]     Checking regex-automata v0.4.3
[INFO] [stderr]     Checking num v0.4.1
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]     Checking rayon-cond v0.2.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.51
[INFO] [stderr]    Compiling deprecate-until v0.1.1
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]     Checking tokio v1.34.0
[INFO] [stderr]     Checking regex v1.10.2
[INFO] [stderr]     Checking indexmap v2.1.0
[INFO] [stderr]     Checking petgraph v0.6.4
[INFO] [stderr]     Checking pathfinding v4.6.0
[INFO] [stderr]     Checking rustworkx-core v0.13.2
[INFO] [stderr]     Checking advent_of_code v0.9.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/bin/13.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use itertools::Itertools;
[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: `slice::SliceIndex`
[INFO] [stdout]  --> src/bin/05.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ops::Range, slice::SliceIndex};
[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: `itertools::Itertools`
[INFO] [stdout]  --> src/bin/13.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_box_id` is never used
[INFO] [stdout]   --> src/bin/15.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn get_box_id(input: &str) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> src/bin/17.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |         |state| (end.0.abs_diff(state.position.0) + end.1.abs_diff(state.position.1)),
[INFO] [stdout]    |                 ^                                                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 28 -         |state| (end.0.abs_diff(state.position.0) + end.1.abs_diff(state.position.1)),
[INFO] [stdout] 28 +         |state| end.0.abs_diff(state.position.0) + end.1.abs_diff(state.position.1) ,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_score_old` is never used
[INFO] [stdout]   --> src/bin/07.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Hand {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn get_score_old(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_destination` and `is_in_entry` are never used
[INFO] [stdout]   --> src/bin/05.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl MapEntry {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn get_destination(&mut self, source: usize) -> Option<usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn is_in_entry(&self, source: usize) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_destination_v1` is never used
[INFO] [stdout]   --> src/bin/05.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn get_destination_v1(entries: &mut Vec<MapEntry>, source: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StateIterator` is never constructed
[INFO] [stdout]   --> src/bin/23.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | struct StateIterator<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `slice::SliceIndex`
[INFO] [stdout]  --> src/bin/05.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ops::Range, slice::SliceIndex};
[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 variable: `input`
[INFO] [stdout]   --> src/bin/25.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn part_two(input: &str) -> Option<u32> {
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_box_id` is never used
[INFO] [stdout]   --> src/bin/15.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn get_box_id(input: &str) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/bin/20.rs:81:17
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn parse(input: &str) -> (HashMap<&str, Vec<&str>>, HashMap<&str, Module>) {
[INFO] [stdout]    |                 ^^^^              ^^^^      ^^^^            ^^^^  ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |                 |         |               |
[INFO] [stdout]    |                 |                 |         |               the same lifetime is elided here
[INFO] [stdout]    |                 |                 |         the same lifetime is elided here
[INFO] [stdout]    |                 |                 the same lifetime is elided here
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn parse(input: &str) -> (HashMap<&str, Vec<&str>>, HashMap<&str, Module<'_>>) {
[INFO] [stdout]    |                                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_score_old` is never used
[INFO] [stdout]   --> src/bin/07.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Hand {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn get_score_old(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_destination` and `is_in_entry` are never used
[INFO] [stdout]   --> src/bin/05.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl MapEntry {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn get_destination(&mut self, source: usize) -> Option<usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn is_in_entry(&self, source: usize) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_destination_v1` is never used
[INFO] [stdout]   --> src/bin/05.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn get_destination_v1(entries: &mut Vec<MapEntry>, source: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]   --> src/bin/02.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |                     let r = reqs.get(color).unwrap();
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/bin/20.rs:81:17
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn parse(input: &str) -> (HashMap<&str, Vec<&str>>, HashMap<&str, Module>) {
[INFO] [stdout]    |                 ^^^^              ^^^^      ^^^^            ^^^^  ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |                 |         |               |
[INFO] [stdout]    |                 |                 |         |               the same lifetime is elided here
[INFO] [stdout]    |                 |                 |         the same lifetime is elided here
[INFO] [stdout]    |                 |                 the same lifetime is elided here
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn parse(input: &str) -> (HashMap<&str, Vec<&str>>, HashMap<&str, Module<'_>>) {
[INFO] [stdout]    |                                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_id`
[INFO] [stdout]   --> src/bin/02.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |             let game_id = parts[0].split(" ").nth(1).unwrap();
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]   --> src/bin/02.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |                     let r = reqs.get(color).unwrap();
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_id`
[INFO] [stdout]   --> src/bin/02.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |             let game_id = parts[0].split(" ").nth(1).unwrap();
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StateIterator` is never constructed
[INFO] [stdout]   --> src/bin/23.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | struct StateIterator<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> src/bin/17.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |         |state| (end.0.abs_diff(state.position.0) + end.1.abs_diff(state.position.1)),
[INFO] [stdout]    |                 ^                                                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 28 -         |state| (end.0.abs_diff(state.position.0) + end.1.abs_diff(state.position.1)),
[INFO] [stdout] 28 +         |state| end.0.abs_diff(state.position.0) + end.1.abs_diff(state.position.1) ,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/bin/25.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn part_two(input: &str) -> Option<u32> {
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.01s
[INFO] running `Command { std: "docker" "inspect" "e5cf9f574fcdcc0357076dea9b5d919f112dddff32ec5da71ce29d6496480cd2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e5cf9f574fcdcc0357076dea9b5d919f112dddff32ec5da71ce29d6496480cd2", kill_on_drop: false }`
[INFO] [stdout] e5cf9f574fcdcc0357076dea9b5d919f112dddff32ec5da71ce29d6496480cd2
