[INFO] cloning repository https://github.com/khouari1/aoc-23-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/khouari1/aoc-23-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhouari1%2Faoc-23-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhouari1%2Faoc-23-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6de5ad1f5f60244c4c52a094b05a99a5f5d10f2f
[INFO] checking khouari1/aoc-23-rust against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhouari1%2Faoc-23-rust" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/khouari1/aoc-23-rust
[INFO] finished tweaking git repo https://github.com/khouari1/aoc-23-rust
[INFO] tweaked toml for git repo https://github.com/khouari1/aoc-23-rust written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/khouari1/aoc-23-rust on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/khouari1/aoc-23-rust 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 97e939e9954b0f2e00b36d50ca9c6cfdfd75ef5859093541dddbd5adecec5c2d
[INFO] running `Command { std: "docker" "start" "-a" "97e939e9954b0f2e00b36d50ca9c6cfdfd75ef5859093541dddbd5adecec5c2d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "97e939e9954b0f2e00b36d50ca9c6cfdfd75ef5859093541dddbd5adecec5c2d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "97e939e9954b0f2e00b36d50ca9c6cfdfd75ef5859093541dddbd5adecec5c2d", kill_on_drop: false }`
[INFO] [stdout] 97e939e9954b0f2e00b36d50ca9c6cfdfd75ef5859093541dddbd5adecec5c2d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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 -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4692cd9f9400c088479ed5063c65b7196d23c216eb1be45c4799ffa7ec7b784a
[INFO] running `Command { std: "docker" "start" "-a" "4692cd9f9400c088479ed5063c65b7196d23c216eb1be45c4799ffa7ec7b784a", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]     Checking pico-args v0.5.0
[INFO] [stderr]     Checking num-complex v0.4.4
[INFO] [stderr]     Checking num v0.4.1
[INFO] [stderr]     Checking advent_of_code v0.9.2 (/opt/rustwide/workdir)
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]    --> src/bin/02.rs:101:31
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 let colour = &part_split.next().unwrap().parse::<String>().unwrap();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> src/bin/08.rs:12:40
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let key = parts.get(0).unwrap().clone();
[INFO] [stdout]    |                                        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> src/bin/08.rs:53:40
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let key = parts.get(0).unwrap().clone();
[INFO] [stdout]    |                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> src/bin/08.rs:76:64
[INFO] [stdout]    |
[INFO] [stdout] 76 |             let current_pos = current_positions.get(j).unwrap().clone();
[INFO] [stdout]    |                                                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `advent_of_code` (bin "02") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]    --> src/bin/02.rs:101:31
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 let colour = &part_split.next().unwrap().parse::<String>().unwrap();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `advent_of_code` (bin "02" test) due to 1 previous error
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> src/bin/08.rs:12:40
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let key = parts.get(0).unwrap().clone();
[INFO] [stdout]    |                                        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> src/bin/08.rs:53:40
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let key = parts.get(0).unwrap().clone();
[INFO] [stdout]    |                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> src/bin/08.rs:76:64
[INFO] [stdout]    |
[INFO] [stdout] 76 |             let current_pos = current_positions.get(j).unwrap().clone();
[INFO] [stdout]    |                                                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `map_type` is never read
[INFO] [stdout]   --> src/bin/05.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct AlmanacMap {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 23 |     map_type: AlmanacMapType,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AlmanacMap` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/bin/10.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[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::hash::Hash`
[INFO] [stdout]  --> src/bin/10.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/10.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let mut current_x = pipe_coord.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: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/10.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let mut current_y = pipe_coord.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/bin/10.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let mut prev_x = previous_pipe_coord.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/bin/10.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let mut prev_y = previous_pipe_coord.1;
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found_pipe` is never read
[INFO] [stdout]   --> src/bin/10.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |             found_pipe = true;
[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/bin/10.rs:222:13
[INFO] [stdout]     |
[INFO] [stdout] 222 |         let mut current_x = pipe_coord.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/bin/10.rs:223:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |         let mut current_y = pipe_coord.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/bin/10.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let mut prev_x = previous_pipe_coord.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/bin/10.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |         let mut prev_y = previous_pipe_coord.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/bin/10.rs:231:13
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let mut actual_s = "";
[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/bin/10.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let mut in_pipe = 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/bin/10.rs:301:13
[INFO] [stdout]     |
[INFO] [stdout] 301 |         let mut temp = 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/bin/10.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 |             let mut dashes = 0;
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `steps` is assigned to, but never used
[INFO] [stdout]    --> src/bin/10.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |     let mut steps: usize = 0;
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_steps` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actual_s`
[INFO] [stdout]    --> src/bin/10.rs:231:13
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let mut actual_s = "";
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actual_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `in_pipe`
[INFO] [stdout]    --> src/bin/10.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let mut in_pipe = false;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_pipe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `temp`
[INFO] [stdout]    --> src/bin/10.rs:301:13
[INFO] [stdout]     |
[INFO] [stdout] 301 |         let mut temp = 0;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dashes`
[INFO] [stdout]    --> src/bin/10.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 |             let mut dashes = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dashes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `steps` is never read
[INFO] [stdout]    --> src/bin/10.rs:221:9
[INFO] [stdout]     |
[INFO] [stdout] 221 |         steps += 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 `found_pipe` is never read
[INFO] [stdout]    --> src/bin/10.rs:216:13
[INFO] [stdout]     |
[INFO] [stdout] 216 |             found_pipe = true;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_pipe2` is never used
[INFO] [stdout]    --> src/bin/10.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn is_pipe2(point: &str) -> 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: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/03.rs:247:29
[INFO] [stdout]     |
[INFO] [stdout] 247 |                         let mut v = gears.entry((*x, *y)).or_default();
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/03.rs:260:21
[INFO] [stdout]     |
[INFO] [stdout] 260 |                 let mut v = gears.entry((*x, *y)).or_default();
[INFO] [stdout]     |                     ----^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/bin/03.rs:268:16
[INFO] [stdout]     |
[INFO] [stdout] 268 |         .map(|(k, v)| v.clone().into_iter().reduce(|a, b| a * b))
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/bin/03.rs:267:19
[INFO] [stdout]     |
[INFO] [stdout] 267 |         .filter(|(k, v)| v.len() > 1)
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `map_type` is never read
[INFO] [stdout]   --> src/bin/05.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct AlmanacMap {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 23 |     map_type: AlmanacMapType,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AlmanacMap` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/03.rs:247:29
[INFO] [stdout]     |
[INFO] [stdout] 247 |                         let mut v = gears.entry((*x, *y)).or_default();
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/03.rs:260:21
[INFO] [stdout]     |
[INFO] [stdout] 260 |                 let mut v = gears.entry((*x, *y)).or_default();
[INFO] [stdout]     |                     ----^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/bin/03.rs:268:16
[INFO] [stdout]     |
[INFO] [stdout] 268 |         .map(|(k, v)| v.clone().into_iter().reduce(|a, b| a * b))
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/bin/03.rs:267:19
[INFO] [stdout]     |
[INFO] [stdout] 267 |         .filter(|(k, v)| v.len() > 1)
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "4692cd9f9400c088479ed5063c65b7196d23c216eb1be45c4799ffa7ec7b784a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4692cd9f9400c088479ed5063c65b7196d23c216eb1be45c4799ffa7ec7b784a", kill_on_drop: false }`
[INFO] [stdout] 4692cd9f9400c088479ed5063c65b7196d23c216eb1be45c4799ffa7ec7b784a
