[INFO] cloning repository https://github.com/cooperra/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/cooperra/advent-of-code-2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcooperra%2Fadvent-of-code-2023", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcooperra%2Fadvent-of-code-2023'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 77e3f89dec1a0adfd722344919fe5066728885ee
[INFO] checking cooperra/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%2Fcooperra%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] started tweaking git repo https://github.com/cooperra/advent-of-code-2023
[INFO] finished tweaking git repo https://github.com/cooperra/advent-of-code-2023
[INFO] tweaked toml for git repo https://github.com/cooperra/advent-of-code-2023 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cooperra/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/cooperra/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]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pest_generator v2.7.5
[INFO] [stderr]   Downloaded memoize-inner v0.4.0
[INFO] [stderr]   Downloaded memoize v0.4.2
[INFO] [stderr]   Downloaded pest_meta v2.7.5
[INFO] [stderr]   Downloaded regex-macro v0.2.0
[INFO] [stderr]   Downloaded pest_derive v2.7.5
[INFO] [stderr]   Downloaded pest v2.7.5
[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] 017d13cf50a815987da4a7d6c321ffa272a6f57e0bd1c73495ab573ef600cf43
[INFO] running `Command { std: "docker" "start" "-a" "017d13cf50a815987da4a7d6c321ffa272a6f57e0bd1c73495ab573ef600cf43", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "017d13cf50a815987da4a7d6c321ffa272a6f57e0bd1c73495ab573ef600cf43", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "017d13cf50a815987da4a7d6c321ffa272a6f57e0bd1c73495ab573ef600cf43", kill_on_drop: false }`
[INFO] [stdout] 017d13cf50a815987da4a7d6c321ffa272a6f57e0bd1c73495ab573ef600cf43
[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] 2e7a33927f8d022aa5046e65427626fcf87bf335751986382813f35bb6098cdc
[INFO] running `Command { std: "docker" "start" "-a" "2e7a33927f8d022aa5046e65427626fcf87bf335751986382813f35bb6098cdc", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.70
[INFO] [stderr]    Compiling libc v0.2.150
[INFO] [stderr]     Checking memchr v2.6.4
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]    Compiling ucd-trie v0.1.6
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]    Compiling thiserror v1.0.50
[INFO] [stderr]    Compiling ahash v0.7.7
[INFO] [stderr]     Checking itertools v0.12.0
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]     Checking getrandom v0.2.11
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking regex-automata v0.4.3
[INFO] [stderr]     Checking lru v0.7.8
[INFO] [stderr]    Compiling thiserror-impl v1.0.50
[INFO] [stderr]     Checking regex v1.10.2
[INFO] [stderr]    Compiling pest v2.7.5
[INFO] [stderr]    Compiling memoize-inner v0.4.0
[INFO] [stderr]     Checking regex-macro v0.2.0
[INFO] [stderr]     Checking memoize v0.4.2
[INFO] [stderr]    Compiling pest_meta v2.7.5
[INFO] [stderr]    Compiling pest_generator v2.7.5
[INFO] [stderr]    Compiling pest_derive v2.7.5
[INFO] [stderr]     Checking advent-of-code-2023 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]  --> src/day07.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::{max, Ordering};
[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: `max`
[INFO] [stdout]  --> src/day07.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::{max, Ordering};
[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: `super::Fountain::*`
[INFO] [stdout]    --> src/day12.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |     use super::Fountain::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `foo`
[INFO] [stdout]    --> src/day07.rs:144:22
[INFO] [stdout]     |
[INFO] [stdout] 144 |         if let Some((foo, Joker)) = most_numerous_card {
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_foo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day05.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 |         &out.iter().map(|r| assert!(r.start < r.end));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let _ = &out.iter().map(|r| assert!(r.start < r.end));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/linked_list.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn iter(&self) -> LinkedListIter<T> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[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] 62 |     pub fn iter(&self) -> LinkedListIter<'_, T> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `foo`
[INFO] [stdout]    --> src/day07.rs:144:22
[INFO] [stdout]     |
[INFO] [stdout] 144 |         if let Some((foo, Joker)) = most_numerous_card {
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_foo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day05.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 |         &out.iter().map(|r| assert!(r.start < r.end));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let _ = &out.iter().map(|r| assert!(r.start < r.end));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/linked_list.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn iter(&self) -> LinkedListIter<T> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[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] 62 |     pub fn iter(&self) -> LinkedListIter<'_, T> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/day08.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     mut lines: impl Iterator<Item = S>,
[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/day08.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let mut key = Rc::new(names.next().expect("No key").to_string());
[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/day08.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let mut left = Rc::new(names.next().expect("No left").to_string());
[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/day08.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let mut right = Rc::new(names.next().expect("No right").to_string());
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right2`
[INFO] [stdout]   --> src/bin/day08.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let right2 = keystore.get(&right).unwrap_or(&right);
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_right2`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/bin/day15b.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |     use super::*;
[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: `offset`
[INFO] [stdout]   --> src/bin/day08b.rs:90:15
[INFO] [stdout]    |
[INFO] [stdout] 90 |         for ((offset, start_name), (steps, dest_name)) in
[INFO] [stdout]    |               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_name`
[INFO] [stdout]   --> src/bin/day08b.rs:90:23
[INFO] [stdout]    |
[INFO] [stdout] 90 |         for ((offset, start_name), (steps, dest_name)) in
[INFO] [stdout]    |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/day08b.rs:148:31
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn parse_graph<S: AsRef<str>>(mut lines: impl Iterator<Item = S>) -> (Graph, HashSet<Node>) {
[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/day08b.rs:154:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |         let mut key = Rc::new(names.next().expect("No key").to_string());
[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/day08b.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let mut left = Rc::new(names.next().expect("No left").to_string());
[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/day08b.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let mut right = Rc::new(names.next().expect("No right").to_string());
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right2`
[INFO] [stdout]    --> src/bin/day08b.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let right2 = keystore.get(&right).unwrap_or(&right);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_right2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cursor_grid::*`
[INFO] [stdout]  --> src/bin/day10.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use advent_of_code_2023::{cursor_grid::*, day10::*};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (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/day05b.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut lines = get_example().into_iter();
[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 import: `cursor_grid::*`
[INFO] [stdout]  --> src/bin/day10.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use advent_of_code_2023::{cursor_grid::*, day10::*};
[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: `max`
[INFO] [stdout]  --> src/bin/day17.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 |     cmp::{max, min, Reverse},
[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: `offset`
[INFO] [stdout]   --> src/bin/day08b.rs:90:15
[INFO] [stdout]    |
[INFO] [stdout] 90 |         for ((offset, start_name), (steps, dest_name)) in
[INFO] [stdout]    |               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_name`
[INFO] [stdout]   --> src/bin/day08b.rs:90:23
[INFO] [stdout]    |
[INFO] [stdout] 90 |         for ((offset, start_name), (steps, dest_name)) in
[INFO] [stdout]    |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/day08b.rs:148:31
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn parse_graph<S: AsRef<str>>(mut lines: impl Iterator<Item = S>) -> (Graph, HashSet<Node>) {
[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/day08b.rs:154:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |         let mut key = Rc::new(names.next().expect("No key").to_string());
[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/day08b.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let mut left = Rc::new(names.next().expect("No left").to_string());
[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/day08b.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let mut right = Rc::new(names.next().expect("No right").to_string());
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right2`
[INFO] [stdout]    --> src/bin/day08b.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let right2 = keystore.get(&right).unwrap_or(&right);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_right2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/day08.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     mut lines: impl Iterator<Item = S>,
[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/day08.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let mut key = Rc::new(names.next().expect("No key").to_string());
[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/day08.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let mut left = Rc::new(names.next().expect("No left").to_string());
[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/day08.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let mut right = Rc::new(names.next().expect("No right").to_string());
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right2`
[INFO] [stdout]   --> src/bin/day08.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let right2 = keystore.get(&right).unwrap_or(&right);
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_right2`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (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/day05.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut lines = get_example().into_iter();
[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 import: `max`
[INFO] [stdout]  --> src/bin/day17.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 |     cmp::{max, min, Reverse},
[INFO] [stdout]   |           ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.48s
[INFO] running `Command { std: "docker" "inspect" "2e7a33927f8d022aa5046e65427626fcf87bf335751986382813f35bb6098cdc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2e7a33927f8d022aa5046e65427626fcf87bf335751986382813f35bb6098cdc", kill_on_drop: false }`
[INFO] [stdout] 2e7a33927f8d022aa5046e65427626fcf87bf335751986382813f35bb6098cdc
