[INFO] cloning repository https://github.com/AV3RG/aoc-23-rust-solutions
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AV3RG/aoc-23-rust-solutions" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAV3RG%2Faoc-23-rust-solutions", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAV3RG%2Faoc-23-rust-solutions'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 664938baf165b61197cfec029d2120cc12a9716c
[INFO] checking AV3RG/aoc-23-rust-solutions against master#36b21637e93b038453924d3c66821089e71d8baa for pr-143164
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAV3RG%2Faoc-23-rust-solutions" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/AV3RG/aoc-23-rust-solutions
[INFO] finished tweaking git repo https://github.com/AV3RG/aoc-23-rust-solutions
[INFO] tweaked toml for git repo https://github.com/AV3RG/aoc-23-rust-solutions written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AV3RG/aoc-23-rust-solutions on toolchain 36b21637e93b038453924d3c66821089e71d8baa
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+36b21637e93b038453924d3c66821089e71d8baa" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AV3RG/aoc-23-rust-solutions 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" "+36b21637e93b038453924d3c66821089e71d8baa" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded mintex v0.1.2
[INFO] [stderr]   Downloaded pico-args v0.5.0
[INFO] [stderr]   Downloaded serde_derive v1.0.193
[INFO] [stderr]   Downloaded iana-time-zone v0.1.58
[INFO] [stderr]   Downloaded sys-info v0.9.1
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.89
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.89
[INFO] [stderr]   Downloaded serde v1.0.193
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.89
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.89
[INFO] [stderr]   Downloaded js-sys v0.3.66
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.89
[INFO] [stderr]   Downloaded dhat v0.3.2
[INFO] [stderr]   Downloaded smallvec v1.11.2
[INFO] [stderr]   Downloaded thousands v0.2.0
[INFO] [stderr]   Downloaded tinyjson v2.5.1
[INFO] [stderr]   Downloaded proc-macro2 v1.0.70
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+36b21637e93b038453924d3c66821089e71d8baa" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 046dab8c021e3e58915d8595dfd778bff1e4f8f76960d32c07435f5240260d26
[INFO] running `Command { std: "docker" "start" "-a" "046dab8c021e3e58915d8595dfd778bff1e4f8f76960d32c07435f5240260d26", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "046dab8c021e3e58915d8595dfd778bff1e4f8f76960d32c07435f5240260d26", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "046dab8c021e3e58915d8595dfd778bff1e4f8f76960d32c07435f5240260d26", kill_on_drop: false }`
[INFO] [stdout] 046dab8c021e3e58915d8595dfd778bff1e4f8f76960d32c07435f5240260d26
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+36b21637e93b038453924d3c66821089e71d8baa" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6cdfdf852764ee97d018584adc2b7fcec9ddbfee63d36009b078dc8a685eb36a
[INFO] running `Command { std: "docker" "start" "-a" "6cdfdf852764ee97d018584adc2b7fcec9ddbfee63d36009b078dc8a685eb36a", kill_on_drop: false }`
[INFO] [stderr]     Checking memchr v2.6.4
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking tinyjson v2.5.1
[INFO] [stderr]     Checking pico-args v0.5.0
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]     Checking regex-automata v0.4.3
[INFO] [stderr]     Checking regex v1.10.2
[INFO] [stderr]     Checking advent_of_code v0.10.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/template/readme_benchmarks.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Parser(String),
[INFO] [stdout]    |     ------ ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 12 -     Parser(String),
[INFO] [stdout] 12 +     Parser(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/template/readme_benchmarks.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 |     IO(io::Error),
[INFO] [stdout]    |     -- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 13 -     IO(io::Error),
[INFO] [stdout] 13 +     IO(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/template/run_multi.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 |     IO(io::Error),
[INFO] [stdout]    |     -- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 51 -     IO(io::Error),
[INFO] [stdout] 51 +     IO(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/template/readme_benchmarks.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Parser(String),
[INFO] [stdout]    |     ------ ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 12 -     Parser(String),
[INFO] [stdout] 12 +     Parser(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/template/readme_benchmarks.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 |     IO(io::Error),
[INFO] [stdout]    |     -- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 13 -     IO(io::Error),
[INFO] [stdout] 13 +     IO(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/template/run_multi.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 |     IO(io::Error),
[INFO] [stdout]    |     -- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 51 -     IO(io::Error),
[INFO] [stdout] 51 +     IO(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `is_possible` is never read
[INFO] [stdout]   --> src/bin/02.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |                 is_possible = false;
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/14.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let mut result = cache_loop.get((remaining % cache_loop.len() as i32) as usize).unwrap().clone();
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::num`
[INFO] [stdout]  --> src/bin/03.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::num;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_hash`
[INFO] [stdout]   --> src/bin/15.rs:62:48
[INFO] [stdout]    |
[INFO] [stdout] 62 |         lens.iter().enumerate().for_each(|(j, (to_hash, lens_focal))| {
[INFO] [stdout]    |                                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_hash`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/15.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let mut regex = Regex::new(r"(?P<to_hash>[a-z]+)(?P<symbol>[=-])(?P<lens>\d)?").unwrap();
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/bin/07.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 |         _=>(card.to_digit(10).unwrap() as i8)
[INFO] [stdout]    |            ^                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 36 -         _=>(card.to_digit(10).unwrap() as i8)
[INFO] [stdout] 36 +         _=> card.to_digit(10).unwrap() as i8
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_hash`
[INFO] [stdout]   --> src/bin/15.rs:62:48
[INFO] [stdout]    |
[INFO] [stdout] 62 |         lens.iter().enumerate().for_each(|(j, (to_hash, lens_focal))| {
[INFO] [stdout]    |                                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_hash`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `is_possible` is never read
[INFO] [stdout]   --> src/bin/02.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |                 is_possible = false;
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/15.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let mut regex = Regex::new(r"(?P<to_hash>[a-z]+)(?P<symbol>[=-])(?P<lens>\d)?").unwrap();
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `card_rank_p1` is never used
[INFO] [stdout]   --> src/bin/07.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn card_rank_p1(card: &char) -> i8 {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_card_p1` is never used
[INFO] [stdout]   --> src/bin/07.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn compare_card_p1(card_1: &char, card_2: &char) -> Ordering {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_hand_p1` is never used
[INFO] [stdout]    --> src/bin/07.rs:127:4
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn compare_hand_p1(hand_1: &Vec<char>, hand_2: &Vec<char>) -> Ordering {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/bin/07.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 |         _=>(card.to_digit(10).unwrap() as i8)
[INFO] [stdout]    |            ^                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 36 -         _=>(card.to_digit(10).unwrap() as i8)
[INFO] [stdout] 36 +         _=> card.to_digit(10).unwrap() as i8
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/16.rs:124:31
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let (start, end) = if (path.0.0 <= path.1.0 && path.0.1 <= path.1.1) { (path.0, path.1) } else { (path.1, path.0) };
[INFO] [stdout]     |                               ^                                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 124 -         let (start, end) = if (path.0.0 <= path.1.0 && path.0.1 <= path.1.1) { (path.0, path.1) } else { (path.1, path.0) };
[INFO] [stdout] 124 +         let (start, end) = if path.0.0 <= path.1.0 && path.0.1 <= path.1.1 { (path.0, path.1) } else { (path.1, path.0) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::num`
[INFO] [stdout]  --> src/bin/03.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::num;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `card_rank_p1` is never used
[INFO] [stdout]   --> src/bin/07.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn card_rank_p1(card: &char) -> i8 {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_card_p1` is never used
[INFO] [stdout]   --> src/bin/07.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn compare_card_p1(card_1: &char, card_2: &char) -> Ordering {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_hand_p1` is never used
[INFO] [stdout]    --> src/bin/07.rs:127:4
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn compare_hand_p1(hand_1: &Vec<char>, hand_2: &Vec<char>) -> Ordering {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `next_block` is never read
[INFO] [stdout]   --> src/bin/16.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let mut next_block: Option<(usize, usize)> = None;
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/14.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let mut result = cache_loop.get((remaining % cache_loop.len() as i32) as usize).unwrap().clone();
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/16.rs:124:31
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let (start, end) = if (path.0.0 <= path.1.0 && path.0.1 <= path.1.1) { (path.0, path.1) } else { (path.1, path.0) };
[INFO] [stdout]     |                               ^                                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 124 -         let (start, end) = if (path.0.0 <= path.1.0 && path.0.1 <= path.1.1) { (path.0, path.1) } else { (path.1, path.0) };
[INFO] [stdout] 124 +         let (start, end) = if path.0.0 <= path.1.0 && path.0.1 <= path.1.1 { (path.0, path.1) } else { (path.1, path.0) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `next_block` is never read
[INFO] [stdout]   --> src/bin/16.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let mut next_block: Option<(usize, usize)> = None;
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.45s
[INFO] running `Command { std: "docker" "inspect" "6cdfdf852764ee97d018584adc2b7fcec9ddbfee63d36009b078dc8a685eb36a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6cdfdf852764ee97d018584adc2b7fcec9ddbfee63d36009b078dc8a685eb36a", kill_on_drop: false }`
[INFO] [stdout] 6cdfdf852764ee97d018584adc2b7fcec9ddbfee63d36009b078dc8a685eb36a
