[INFO] cloning repository https://github.com/kregan77/aoc2024
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kregan77/aoc2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkregan77%2Faoc2024", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkregan77%2Faoc2024'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 069174550384c277e3e3b3db1fb6019eea96a38c
[INFO] checking kregan77/aoc2024 against try#d12484522bcab8d07e325c6570f226a2faace3f7 for pr-128425-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkregan77%2Faoc2024" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] error: unable to write symref for HEAD: No space left on device
[INFO] checking kregan77/aoc2024 against try#d12484522bcab8d07e325c6570f226a2faace3f7 for pr-128425-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkregan77%2Faoc2024" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] fatal: could not create work tree dir '/workspace/builds/worker-1-tc2/source': No space left on device
[INFO] checking kregan77/aoc2024 against try#d12484522bcab8d07e325c6570f226a2faace3f7 for pr-128425-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkregan77%2Faoc2024" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/kregan77/aoc2024 on toolchain d12484522bcab8d07e325c6570f226a2faace3f7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d12484522bcab8d07e325c6570f226a2faace3f7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-1-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/kregan77/aoc2024
[INFO] finished tweaking git repo https://github.com/kregan77/aoc2024
[INFO] tweaked toml for git repo https://github.com/kregan77/aoc2024 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/kregan77/aoc2024 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" "+d12484522bcab8d07e325c6570f226a2faace3f7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+d12484522bcab8d07e325c6570f226a2faace3f7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 78d867f65f565d534ab228f0765bb46ccd89764aa0cee48e3142eca16a4cd377
[INFO] running `Command { std: "docker" "start" "-a" "78d867f65f565d534ab228f0765bb46ccd89764aa0cee48e3142eca16a4cd377", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "78d867f65f565d534ab228f0765bb46ccd89764aa0cee48e3142eca16a4cd377", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "78d867f65f565d534ab228f0765bb46ccd89764aa0cee48e3142eca16a4cd377", kill_on_drop: false }`
[INFO] [stdout] 78d867f65f565d534ab228f0765bb46ccd89764aa0cee48e3142eca16a4cd377
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+d12484522bcab8d07e325c6570f226a2faace3f7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 636a3300d599e678cc642176f3c4a7dca1bfd91e9aad8c9c47179d33cf424ed5
[INFO] running `Command { std: "docker" "start" "-a" "636a3300d599e678cc642176f3c4a7dca1bfd91e9aad8c9c47179d33cf424ed5", kill_on_drop: false }`
[INFO] [stderr]     Checking memchr v2.6.4
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]     Checking tinyjson v2.5.1
[INFO] [stderr]     Checking pico-args v0.5.0
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking advent_of_code v0.11.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::ptr::write`
[INFO] [stdout]  --> src/bin/04.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ptr::write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/bin/04.rs:83:14
[INFO] [stdout]    |
[INFO] [stdout] 83 |     for i in (0..4) {
[INFO] [stdout]    |              ^    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 83 -     for i in (0..4) {
[INFO] [stdout] 83 +     for i in 0..4 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/bin/05.rs:87:43
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn parse_rules(rules: Vec<(u32, u32)>) -> (HashMap<u32, (Vec<u32>, Vec<u32>)>) {
[INFO] [stdout]    |                                           ^                                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 87 - fn parse_rules(rules: Vec<(u32, u32)>) -> (HashMap<u32, (Vec<u32>, Vec<u32>)>) {
[INFO] [stdout] 87 + fn parse_rules(rules: Vec<(u32, u32)>) -> HashMap<u32, (Vec<u32>, Vec<u32>)> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::write`
[INFO] [stdout]  --> src/bin/04.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ptr::write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/bin/04.rs:83:14
[INFO] [stdout]    |
[INFO] [stdout] 83 |     for i in (0..4) {
[INFO] [stdout]    |              ^    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 83 -     for i in (0..4) {
[INFO] [stdout] 83 +     for i in 0..4 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `;`, found keyword `loop`
[INFO] [stdout]   --> src/bin/06.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |     b.mark()
[INFO] [stdout]    |             ^ help: add `;` here
[INFO] [stdout] 20 |     loop {
[INFO] [stdout]    |     ---- unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `;`, found keyword `loop`
[INFO] [stdout]   --> src/bin/06.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |     b.mark()
[INFO] [stdout]    |             ^ help: add `;` here
[INFO] [stdout] 20 |     loop {
[INFO] [stdout]    |     ---- unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rule_map`
[INFO] [stdout]   --> src/bin/05.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let rule_map = parse_rules(rules.clone());
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rule_map`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/bin/05.rs:87:43
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn parse_rules(rules: Vec<(u32, u32)>) -> (HashMap<u32, (Vec<u32>, Vec<u32>)>) {
[INFO] [stdout]    |                                           ^                                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 87 - fn parse_rules(rules: Vec<(u32, u32)>) -> (HashMap<u32, (Vec<u32>, Vec<u32>)>) {
[INFO] [stdout] 87 + fn parse_rules(rules: Vec<(u32, u32)>) -> HashMap<u32, (Vec<u32>, Vec<u32>)> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bin/04.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     for i in (0..4) {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `doIdx` should have a snake case name
[INFO] [stdout]   --> src/bin/03.rs:34:26
[INFO] [stdout]    |
[INFO] [stdout] 34 |             DoDont::Dont(doIdx) => {
[INFO] [stdout]    |                          ^^^^^ help: convert the identifier to snake case: `do_idx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dontIdx` should have a snake case name
[INFO] [stdout]   --> src/bin/03.rs:40:26
[INFO] [stdout]    |
[INFO] [stdout] 40 |                     Some(dontIdx) => {
[INFO] [stdout]    |                          ^^^^^^^ help: convert the identifier to snake case: `dont_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lastDo` should have a snake case name
[INFO] [stdout]   --> src/bin/03.rs:55:24
[INFO] [stdout]    |
[INFO] [stdout] 55 |             DoDont::Do(lastDo) => {
[INFO] [stdout]    |                        ^^^^^^ help: convert the identifier to snake case: `last_do`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `doIdx` should have a snake case name
[INFO] [stdout]   --> src/bin/03.rs:57:26
[INFO] [stdout]    |
[INFO] [stdout] 57 |                     Some(doIdx) => {
[INFO] [stdout]    |                          ^^^^^ help: convert the identifier to snake case: `do_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `doIdx` should have a snake case name
[INFO] [stdout]   --> src/bin/03.rs:34:26
[INFO] [stdout]    |
[INFO] [stdout] 34 |             DoDont::Dont(doIdx) => {
[INFO] [stdout]    |                          ^^^^^ help: convert the identifier to snake case: `do_idx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dontIdx` should have a snake case name
[INFO] [stdout]   --> src/bin/03.rs:40:26
[INFO] [stdout]    |
[INFO] [stdout] 40 |                     Some(dontIdx) => {
[INFO] [stdout]    |                          ^^^^^^^ help: convert the identifier to snake case: `dont_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lastDo` should have a snake case name
[INFO] [stdout]   --> src/bin/03.rs:55:24
[INFO] [stdout]    |
[INFO] [stdout] 55 |             DoDont::Do(lastDo) => {
[INFO] [stdout]    |                        ^^^^^^ help: convert the identifier to snake case: `last_do`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `doIdx` should have a snake case name
[INFO] [stdout]   --> src/bin/03.rs:57:26
[INFO] [stdout]    |
[INFO] [stdout] 57 |                     Some(doIdx) => {
[INFO] [stdout]    |                          ^^^^^ help: convert the identifier to snake case: `do_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bin/04.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     for i in (0..4) {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rule_map`
[INFO] [stdout]   --> src/bin/05.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let rule_map = parse_rules(rules.clone());
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rule_map`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `m` in this scope
[INFO] [stdout]   --> src/bin/06.rs:17:36
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut result = traverse(&mut m, &dir, pos, IMPEDIMENT);
[INFO] [stdout]    |                                    ^ help: a local variable with a similar name exists: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `pos` in this scope
[INFO] [stdout]   --> src/bin/06.rs:17:45
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut result = traverse(&mut m, &dir, pos, IMPEDIMENT);
[INFO] [stdout]    |                                             ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `m` in this scope
[INFO] [stdout]   --> src/bin/06.rs:27:40
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 result = traverse(&mut m, &dir, new_pos, IMPEDIMENT);
[INFO] [stdout]    |                                        ^ help: a local variable with a similar name exists: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `m` in this scope
[INFO] [stdout]   --> src/bin/06.rs:17:36
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut result = traverse(&mut m, &dir, pos, IMPEDIMENT);
[INFO] [stdout]    |                                    ^ help: a local variable with a similar name exists: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `pos` in this scope
[INFO] [stdout]   --> src/bin/06.rs:17:45
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut result = traverse(&mut m, &dir, pos, IMPEDIMENT);
[INFO] [stdout]    |                                             ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `m` in this scope
[INFO] [stdout]   --> src/bin/06.rs:27:40
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 result = traverse(&mut m, &dir, new_pos, IMPEDIMENT);
[INFO] [stdout]    |                                        ^ help: a local variable with a similar name exists: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/bin/06.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mut last_pos = b.guard.clone();
[INFO] [stdout]    |                        --------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 26 |                 last_pos = new_pos;
[INFO] [stdout]    |                            ^^^^^^^ expected `Position`, found `(u32, u32)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Position`
[INFO] [stdout]                found tuple `(u32, u32)`
[INFO] [stdout] help: try wrapping the expression in `Position`
[INFO] [stdout]    |
[INFO] [stdout] 26 |                 last_pos = Position(new_pos);
[INFO] [stdout]    |                            +++++++++       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/bin/06.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mut last_pos = b.guard.clone();
[INFO] [stdout]    |                        --------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 26 |                 last_pos = new_pos;
[INFO] [stdout]    |                            ^^^^^^^ expected `Position`, found `(u32, u32)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Position`
[INFO] [stdout]                found tuple `(u32, u32)`
[INFO] [stdout] help: try wrapping the expression in `Position`
[INFO] [stdout]    |
[INFO] [stdout] 26 |                 last_pos = Position(new_pos);
[INFO] [stdout]    |                            +++++++++       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line_no`
[INFO] [stdout]   --> src/bin/06.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |         filter(|(line_no, line)| line.contains("^")).
[INFO] [stdout]    |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_no`
[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/06.rs:95:19
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn add_impediment(mut impediments: &mut HashMap<Direction, Vec<((u32,u32), (u32,u32))>>,
[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 variable: `line_no`
[INFO] [stdout]   --> src/bin/06.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |         filter(|(line_no, line)| line.contains("^")).
[INFO] [stdout]    |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_no`
[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/06.rs:95:19
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn add_impediment(mut impediments: &mut HashMap<Direction, Vec<((u32,u32), (u32,u32))>>,
[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 variable: `line_no`
[INFO] [stdout]    --> src/bin/06.rs:283:22
[INFO] [stdout]     |
[INFO] [stdout] 283 |             filter(|(line_no, line)| line.contains("^")).
[INFO] [stdout]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_no`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `self.m` as mutable, as `self` is not declared as mutable
[INFO] [stdout]    --> src/bin/06.rs:297:13
[INFO] [stdout]     |
[INFO] [stdout] 297 |             self.m[p.0 as usize][p.1 as usize] = c;
[INFO] [stdout]     |             ^^^^^^ cannot borrow as mutable
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn mark(mut self, points: Vec<Position>, c: char) {
[INFO] [stdout]     |             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line_no`
[INFO] [stdout]    --> src/bin/06.rs:283:22
[INFO] [stdout]     |
[INFO] [stdout] 283 |             filter(|(line_no, line)| line.contains("^")).
[INFO] [stdout]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_no`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0425, E0596.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `self.m` as mutable, as `self` is not declared as mutable
[INFO] [stdout]    --> src/bin/06.rs:297:13
[INFO] [stdout]     |
[INFO] [stdout] 297 |             self.m[p.0 as usize][p.1 as usize] = c;
[INFO] [stdout]     |             ^^^^^^ cannot borrow as mutable
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn mark(mut self, points: Vec<Position>, c: char) {
[INFO] [stdout]     |             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0425, E0596.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `advent_of_code` (bin "06" test) due to 6 previous errors; 3 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `advent_of_code` (bin "06") due to 6 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "636a3300d599e678cc642176f3c4a7dca1bfd91e9aad8c9c47179d33cf424ed5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "636a3300d599e678cc642176f3c4a7dca1bfd91e9aad8c9c47179d33cf424ed5", kill_on_drop: false }`
[INFO] [stdout] 636a3300d599e678cc642176f3c4a7dca1bfd91e9aad8c9c47179d33cf424ed5
