[INFO] cloning repository https://github.com/pereman2/advent-2023
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pereman2/advent-2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpereman2%2Fadvent-2023", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpereman2%2Fadvent-2023'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 77c97ba813ec759af8a4f53c0b1a8dadc2628e7f
[INFO] testing pereman2/advent-2023 against beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpereman2%2Fadvent-2023" "/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/pereman2/advent-2023
[INFO] finished tweaking git repo https://github.com/pereman2/advent-2023
[INFO] tweaked toml for git repo https://github.com/pereman2/advent-2023 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/pereman2/advent-2023 on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/pereman2/advent-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" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: file `/workspace/builds/worker-2-tc2/source/src/lib.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `lib` target `advent`
[INFO] [stderr]   * `bench` target `lib`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded grid v0.12.0
[INFO] [stderr]   Downloaded clap v4.4.10
[INFO] [stderr]   Downloaded criterion v0.5.1
[INFO] [stderr]   Downloaded clap_builder v4.4.9
[INFO] [stderr]   Downloaded rustix v0.38.26
[INFO] [stderr]   Downloaded web-sys v0.3.66
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] badb1fa19266f01f79f338adb4608fbc6b648b10afb744884f616f407bf95276
[INFO] running `Command { std: "docker" "start" "-a" "badb1fa19266f01f79f338adb4608fbc6b648b10afb744884f616f407bf95276", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "badb1fa19266f01f79f338adb4608fbc6b648b10afb744884f616f407bf95276", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "badb1fa19266f01f79f338adb4608fbc6b648b10afb744884f616f407bf95276", kill_on_drop: false }`
[INFO] [stdout] badb1fa19266f01f79f338adb4608fbc6b648b10afb744884f616f407bf95276
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] aabb34771046e9a6212245d8923b73a2171ee4f4c75471a7d2afdcc496948978
[INFO] running `Command { std: "docker" "start" "-a" "aabb34771046e9a6212245d8923b73a2171ee4f4c75471a7d2afdcc496948978", kill_on_drop: false }`
[INFO] [stderr] warning: file `/opt/rustwide/workdir/src/lib.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `lib` target `advent`
[INFO] [stderr]   * `bench` target `lib`
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling proc-macro2 v1.0.70
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.15
[INFO] [stderr]    Compiling serde v1.0.193
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling rayon-core v1.12.0
[INFO] [stderr]    Compiling serde_json v1.0.108
[INFO] [stderr]    Compiling rustix v0.38.26
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling linux-raw-sys v0.4.12
[INFO] [stderr]    Compiling ciborium-io v0.2.1
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling bitflags v2.4.1
[INFO] [stderr]    Compiling plotters-backend v0.3.5
[INFO] [stderr]    Compiling anstyle v1.0.4
[INFO] [stderr]    Compiling clap_lex v0.6.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling ciborium-ll v0.2.1
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling walkdir v2.4.0
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling clap_builder v4.4.9
[INFO] [stderr]    Compiling plotters-svg v0.3.5
[INFO] [stderr]    Compiling oorandom v11.1.3
[INFO] [stderr]    Compiling grid v0.12.0
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]    Compiling crossbeam-deque v0.8.3
[INFO] [stderr]    Compiling is-terminal v0.4.9
[INFO] [stderr]    Compiling regex-automata v0.4.3
[INFO] [stderr]    Compiling rayon v1.8.0
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling num-complex v0.4.4
[INFO] [stderr]    Compiling plotters v0.3.5
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling clap v4.4.10
[INFO] [stderr]    Compiling serde_derive v1.0.193
[INFO] [stderr]    Compiling regex v1.10.2
[INFO] [stderr]    Compiling num v0.4.1
[INFO] [stderr]    Compiling ciborium v0.2.1
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling advent v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: couldn't read `src/../input_12_1`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day12.rs:80:20
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let contents = include_str!("../input_12_1");
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input_12_1`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day12.rs:99:20
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let contents = include_str!("../input_12_1");
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input_13_1`: No such file or directory (os error 2)
[INFO] [stdout]  --> src/day13.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 |     let contents = include_str!("../input_13_1");
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../input_13_1`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/day13.rs:52:20
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let contents = include_str!("../input_13_1");
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/day7.rs:93:20
[INFO] [stdout]    |
[INFO] [stdout] 93 |             res += (rank * hand.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] 93 -             res += (rank * hand.1);
[INFO] [stdout] 93 +             res += rank * hand.1 ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/day7.rs:227:20
[INFO] [stdout]     |
[INFO] [stdout] 227 |             res += (rank * hand.1);
[INFO] [stdout]     |                    ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 227 -             res += (rank * hand.1);
[INFO] [stdout] 227 +             res += rank * hand.1 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cmp::max` and `ops::Index`
[INFO] [stdout]  --> src/day10.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::max, collections::HashMap, ops::Index};
[INFO] [stdout]   |           ^^^^^^^^                        ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]   --> src/day10.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     while true {
[INFO] [stdout]    |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/day10.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     while true {
[INFO] [stdout]     |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/day10.rs:200:23
[INFO] [stdout]     |
[INFO] [stdout] 200 |             } else if (grid[i][j] == b'.') {
[INFO] [stdout]     |                       ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 200 -             } else if (grid[i][j] == b'.') {
[INFO] [stdout] 200 +             } else if grid[i][j] == b'.'  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]  --> src/day11.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::min;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cmp::min`
[INFO] [stdout]  --> src/day12.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::min, collections::HashMap};
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DefaultHasher`
[INFO] [stdout]  --> src/day14.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::hash::{DefaultHasher, Hash, Hasher};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/day14.rs:185:29
[INFO] [stdout]     |
[INFO] [stdout] 185 |                     load += (n - i);
[INFO] [stdout]     |                             ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 185 -                     load += (n - i);
[INFO] [stdout] 185 +                     load += n - i ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/day14.rs:203:25
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 load += (n - i);
[INFO] [stdout]     |                         ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 203 -                 load += (n - i);
[INFO] [stdout] 203 +                 load += n - i ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BTreeMap`
[INFO] [stdout]  --> src/day15.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::BTreeMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/day18.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     sync::{Arc, Mutex},
[INFO] [stdout]   |            ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cell::RefCell`
[INFO] [stdout]  --> src/day20.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, collections::HashMap};
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BinaryHeap` and `HashMap`
[INFO] [stdout]  --> src/day21.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{BinaryHeap, HashMap, HashSet, VecDeque};
[INFO] [stdout]   |                        ^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JoinHandle`, `ScopedJoinHandle`, `self`, and `sync::Arc`
[INFO] [stdout]   --> src/lib.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         sync::Arc,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 38 |         thread::{self, JoinHandle, ScopedJoinHandle},
[INFO] [stdout]    |                  ^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::advent::*`
[INFO] [stdout]    --> src/lib.rs:323:9
[INFO] [stdout]     |
[INFO] [stdout] 323 |     use crate::advent::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/lib.rs:322:1
[INFO] [stdout]     |
[INFO] [stdout] 322 | mod test {
[INFO] [stdout]     | ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `repr`
[INFO] [stdout]   --> src/day3.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 |                     let repr: &str = "";
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_repr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `repr`
[INFO] [stdout]   --> src/day3.rs:87:25
[INFO] [stdout]    |
[INFO] [stdout] 87 |                     let repr: &str = "";
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_repr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/day3.rs:179:16
[INFO] [stdout]     |
[INFO] [stdout] 179 |         for (&(i, j), vec) in adj.iter() {
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/day3.rs:179:19
[INFO] [stdout]     |
[INFO] [stdout] 179 |         for (&(i, j), vec) in adj.iter() {
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/day5.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     for i in 0..7 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line`
[INFO] [stdout]   --> src/day5.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let line = lines.next().unwrap();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/day5.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     for i in 0..7 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/day7.rs:78:10
[INFO] [stdout]    |
[INFO] [stdout] 78 |     for (i, kind) in t.iter_mut().enumerate() {
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/day7.rs:212:10
[INFO] [stdout]     |
[INFO] [stdout] 212 |     for (i, kind) in t.iter_mut().enumerate() {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/day8.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let mut steps = 0;
[INFO] [stdout]   |         ----^^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `steps`
[INFO] [stdout]  --> src/day8.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let mut steps = 0;
[INFO] [stdout]   |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_steps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day8.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let mut steps = 0;
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `steps`
[INFO] [stdout]   --> src/day8.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let mut steps = 0;
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_steps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day10.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mut done = false;
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day10.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut res = (0, 0);
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day10.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut resdx = (0, 0);
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `done`
[INFO] [stdout]   --> src/day10.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mut done = false;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_done`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/day10.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut res = (0, 0);
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resdx`
[INFO] [stdout]   --> src/day10.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut resdx = (0, 0);
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resdx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day10.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut done = false;
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day10.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let mut res = (0, 0);
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day10.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut resdx = (0, 0);
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `done`
[INFO] [stdout]   --> src/day10.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut done = false;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_done`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/day10.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let mut res = (0, 0);
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resdx`
[INFO] [stdout]   --> src/day10.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut resdx = (0, 0);
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resdx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/day11.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut grid: Vec<Vec<u8>> = contents.lines().map(|line| line.as_bytes().to_vec()).collect();
[INFO] [stdout]   |         ----^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day11.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut grid: Vec<Vec<u8>> = contents.lines().map(|line| line.as_bytes().to_vec()).collect();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/day14.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 |     for (i, col) in cols.iter().enumerate() {
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day14.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut grid: Vec<Vec<u8>> = contents.lines().map(|s| s.as_bytes().to_vec()).collect();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day14.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut sum = 0;
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sum`
[INFO] [stdout]   --> src/day14.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut sum = 0;
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/day14.rs:183:18
[INFO] [stdout]     |
[INFO] [stdout] 183 |             for (j, c) in line.iter().enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/day14.rs:201:14
[INFO] [stdout]     |
[INFO] [stdout] 201 |         for (j, c) in line.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day17.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut DX = vec![(0, 1), (0, -1), (1, 0), (-1, 0)];
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day17.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let mut DX = vec![(0, 1), (0, -1), (1, 0), (-1, 0)];
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day18.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let mut sum = 0;
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sum`
[INFO] [stdout]   --> src/day18.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let mut sum = 0;
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dx`
[INFO] [stdout]   --> src/day18.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |         for (c, dx, vertex) in line {
[INFO] [stdout]    |                 ^^ help: if this is intentional, prefix it with an underscore: `_dx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vertex`
[INFO] [stdout]   --> src/day18.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |         for (c, dx, vertex) in line {
[INFO] [stdout]    |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vertex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dx`
[INFO] [stdout]    --> src/day18.rs:149:17
[INFO] [stdout]     |
[INFO] [stdout] 149 |         for (c, dx, vertex) in line {
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_dx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vertex`
[INFO] [stdout]    --> src/day18.rs:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 |         for (c, dx, vertex) in line {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vertex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day18.rs:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |     let mut sum = 0;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `DX`
[INFO] [stdout]    --> src/day18.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let DX = vec![(1, 0), (-1, 0)];
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_DX`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sum`
[INFO] [stdout]    --> src/day18.rs:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |     let mut sum = 0;
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/day18.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let dir = line.next().unwrap();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `amount`
[INFO] [stdout]    --> src/day18.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let amount = line.next().unwrap().parse::<u64>().unwrap();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pi`
[INFO] [stdout]    --> src/day18.rs:210:9
[INFO] [stdout]     |
[INFO] [stdout] 210 |     let pi = min_i.abs();
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_pi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pj`
[INFO] [stdout]    --> src/day18.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let pj = min_j.abs();
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_pj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day19.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut workflow = rules.get_mut(name).unwrap();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day19.rs:359:13
[INFO] [stdout]     |
[INFO] [stdout] 359 |         let mut workflow = rules.get_mut(name).unwrap();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `second`
[INFO] [stdout]    --> src/day19.rs:349:9
[INFO] [stdout]     |
[INFO] [stdout] 349 |     let second = chunks.next().unwrap();
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_second`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day20.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 |             let mut nodes = (&mut nodes) as *mut HashMap<String, Node>;
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day20.rs:70:25
[INFO] [stdout]    |
[INFO] [stdout] 70 |                     let mut neigh = (*nodes).get_mut(neigh).unwrap() as *mut Node;
[INFO] [stdout]    |                         ----^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day20.rs:87:21
[INFO] [stdout]    |
[INFO] [stdout] 87 |                 let mut current = nodes.get_mut(name).unwrap() as *mut Node;
[INFO] [stdout]    |                     ----^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/day20.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for i in 0..1000 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sum` is never read
[INFO] [stdout]   --> src/day20.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut sum = 0;
[INFO] [stdout]    |                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day20.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |             let mut nodes = (&mut nodes) as *mut HashMap<String, Node>;
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day20.rs:170:25
[INFO] [stdout]     |
[INFO] [stdout] 170 |                     let mut neigh = (*nodes).get_mut(neigh).unwrap() as *mut Node;
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day20.rs:200:25
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     let mut c = counts.get_mut(&from.to_string()).unwrap();
[INFO] [stdout]     |                         ----^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day20.rs:207:21
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 let mut current = nodes.get_mut(name).unwrap() as *mut Node;
[INFO] [stdout]     |                     ----^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `count` is assigned to, but never used
[INFO] [stdout]    --> src/day20.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let mut count = 0;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sum` is never read
[INFO] [stdout]    --> src/day20.rs:153:19
[INFO] [stdout]     |
[INFO] [stdout] 153 |     let mut sum = 0;
[INFO] [stdout]     |                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]    --> src/day20.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |             count += 1;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day21.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |     let mut start: Position = Position(0, 0);
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/day21.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |     let mut start: Position = Position(0, 0);
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/day21.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |     for i in 0..steps {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_overlap`
[INFO] [stdout]   --> src/day22.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let z_overlap = c1.z <= c2.z2 && c2.z <= c1.z2;
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_overlap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day22.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut count = 1;
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]   --> src/day22.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut count = 1;
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `supports`
[INFO] [stdout]    --> src/day22.rs:129:14
[INFO] [stdout]     |
[INFO] [stdout] 129 |     for (i, (supports, supported)) in support_matrix.iter().enumerate() {
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_supports`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day22.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let mut count = 1;
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day22.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let mut count = 0;
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> src/day22.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let mut count = 1;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `it` is assigned to, but never used
[INFO] [stdout]    --> src/day22.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let mut it = 0;
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_it` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> src/day22.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let mut count = 0;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `supports`
[INFO] [stdout]    --> src/day22.rs:249:14
[INFO] [stdout]     |
[INFO] [stdout] 249 |     for (i, (supports, supported)) in support_matrix.iter().enumerate() {
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_supports`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `supported`
[INFO] [stdout]    --> src/day22.rs:249:24
[INFO] [stdout]     |
[INFO] [stdout] 249 |     for (i, (supports, supported)) in support_matrix.iter().enumerate() {
[INFO] [stdout]     |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_supported`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fall` is assigned to, but never used
[INFO] [stdout]    --> src/day22.rs:250:13
[INFO] [stdout]     |
[INFO] [stdout] 250 |         let mut fall = 0;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_fall` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `it` is never read
[INFO] [stdout]    --> src/day22.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |         it += 1;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `fall` is never read
[INFO] [stdout]    --> src/day22.rs:270:21
[INFO] [stdout]     |
[INFO] [stdout] 270 |                     fall += 1;
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `fall` is never read
[INFO] [stdout]    --> src/day22.rs:255:17
[INFO] [stdout]     |
[INFO] [stdout] 255 |                 fall += 1;
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:307:25
[INFO] [stdout]     |
[INFO] [stdout] 307 |                     let mut v = match color {
[INFO] [stdout]     |                         ----^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `advent` (lib) due to 4 previous errors; 99 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "aabb34771046e9a6212245d8923b73a2171ee4f4c75471a7d2afdcc496948978", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aabb34771046e9a6212245d8923b73a2171ee4f4c75471a7d2afdcc496948978", kill_on_drop: false }`
[INFO] [stdout] aabb34771046e9a6212245d8923b73a2171ee4f4c75471a7d2afdcc496948978
