[INFO] cloning repository https://github.com/krisbrud/advent-of-code-2024
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/krisbrud/advent-of-code-2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkrisbrud%2Fadvent-of-code-2024", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkrisbrud%2Fadvent-of-code-2024'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a8583dfca72f588df4acc1db4792b046b82027ed
[INFO] checking krisbrud/advent-of-code-2024 against 6e4b95ed0735c3bbfb308e6f158f479b4d14f1aa for pr-159356
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkrisbrud%2Fadvent-of-code-2024" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/krisbrud/advent-of-code-2024
[INFO] finished tweaking git repo https://github.com/krisbrud/advent-of-code-2024
[INFO] tweaked toml for git repo https://github.com/krisbrud/advent-of-code-2024 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/krisbrud/advent-of-code-2024 on toolchain 6e4b95ed0735c3bbfb308e6f158f479b4d14f1aa
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6e4b95ed0735c3bbfb308e6f158f479b4d14f1aa" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/krisbrud/advent-of-code-2024 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" "+6e4b95ed0735c3bbfb308e6f158f479b4d14f1aa" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: unused manifest key: toolchain
[INFO] [stderr] warning: `advent_of_code` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded memoize v0.4.2
[INFO] [stderr]   Downloaded memoize-inner v0.4.3
[INFO] [stderr]   Downloaded dhat v0.3.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c614709d79b12fdbe3d168cbc9bd205b421bfa0a619ca77fc953899040dc3c45
[INFO] running `Command { std: "docker" "start" "c614709d79b12fdbe3d168cbc9bd205b421bfa0a619ca77fc953899040dc3c45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c614709d79b12fdbe3d168cbc9bd205b421bfa0a619ca77fc953899040dc3c45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c614709d79b12fdbe3d168cbc9bd205b421bfa0a619ca77fc953899040dc3c45" "/opt/rustwide/cargo-home/bin/cargo" "+6e4b95ed0735c3bbfb308e6f158f479b4d14f1aa" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c614709d79b12fdbe3d168cbc9bd205b421bfa0a619ca77fc953899040dc3c45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c614709d79b12fdbe3d168cbc9bd205b421bfa0a619ca77fc953899040dc3c45" "/opt/rustwide/cargo-home/bin/cargo" "+6e4b95ed0735c3bbfb308e6f158f479b4d14f1aa" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: unused manifest key: toolchain
[INFO] [stderr] warning: `advent_of_code` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.168
[INFO] [stderr]    Compiling proc-macro2 v1.0.70
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking pico-args v0.5.0
[INFO] [stderr]     Checking tinyjson v2.5.1
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking lru v0.7.8
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]    Compiling memoize-inner v0.4.3
[INFO] [stderr]     Checking memoize v0.4.2
[INFO] [stderr]     Checking advent_of_code v0.11.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/bin/15.rs:354:82
[INFO] [stdout]     |
[INFO] [stdout] 354 |         let pushed_coords_and_tiles = current_coords_and_tiles.into_iter().map(|((coord), tile)| {
[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] 354 -         let pushed_coords_and_tiles = current_coords_and_tiles.into_iter().map(|((coord), tile)| {
[INFO] [stdout] 354 +         let pushed_coords_and_tiles = current_coords_and_tiles.into_iter().map(|(coord, tile)| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/19.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut candidate_patterns = patterns
[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: function `minus` is never used
[INFO] [stdout]   --> src/bin/08.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn minus(a: (i32, i32), b: (i32, i32)) -> (i32, i32) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/bin/05.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{collections::{HashMap, HashSet}, cmp::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: fields `rows` and `cols` are never read
[INFO] [stdout]   --> src/bin/15.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Board {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout]  8 |     tiles: Vec<Vec<char>>,
[INFO] [stdout]  9 |     rows: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     cols: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_string` is never used
[INFO] [stdout]   --> src/bin/15.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Board {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn as_string(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `concatenate_first_two` is never used
[INFO] [stdout]   --> src/bin/07.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn concatenate_first_two(lhs: u64, rest: Vec<u64>) -> Vec<u64> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_identified_entry`
[INFO] [stdout]    --> src/bin/09.rs:203:34
[INFO] [stdout]     |
[INFO] [stdout] 203 |         if let Some((target_idx, target_identified_entry)) =
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_identified_entry`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spread_part_2` is never used
[INFO] [stdout]   --> src/bin/09.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn spread_part_2(id_entries: &Vec<IdentifiedEntry>) -> Vec<Option<u64>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checksum_part_2` is never used
[INFO] [stdout]    --> src/bin/09.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn checksum_part_2(numbers: Vec<Option<u64>>) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `as_string` is never used
[INFO] [stdout]    --> src/bin/09.rs:165:4
[INFO] [stdout]     |
[INFO] [stdout] 165 | fn as_string(vec: &Vec<Option<u64>>) -> String {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `VisitedPart2` is never constructed
[INFO] [stdout]   --> src/bin/06.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | enum Tile {
[INFO] [stdout]    |      ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 72 |     VisitedPart2(Direction), // Direction is where the player left the last time
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Tile` has derived impls for the traits `Debug` and `Clone`, but these are 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: associated function `print` is never used
[INFO] [stdout]    --> src/bin/06.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout]  95 | impl Board {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn print(board: &Board) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `minus` is never used
[INFO] [stdout]   --> src/bin/08.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn minus(a: (i32, i32), b: (i32, i32)) -> (i32, i32) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/bin/05.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{collections::{HashMap, HashSet}, cmp::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 variable: `target_identified_entry`
[INFO] [stdout]    --> src/bin/09.rs:203:34
[INFO] [stdout]     |
[INFO] [stdout] 203 |         if let Some((target_idx, target_identified_entry)) =
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_identified_entry`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spread_part_2` is never used
[INFO] [stdout]   --> src/bin/09.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn spread_part_2(id_entries: &Vec<IdentifiedEntry>) -> Vec<Option<u64>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checksum_part_2` is never used
[INFO] [stdout]    --> src/bin/09.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn checksum_part_2(numbers: Vec<Option<u64>>) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `as_string` is never used
[INFO] [stdout]    --> src/bin/09.rs:165:4
[INFO] [stdout]     |
[INFO] [stdout] 165 | fn as_string(vec: &Vec<Option<u64>>) -> String {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `VisitedPart2` is never constructed
[INFO] [stdout]   --> src/bin/06.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | enum Tile {
[INFO] [stdout]    |      ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 72 |     VisitedPart2(Direction), // Direction is where the player left the last time
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Tile` has derived impls for the traits `Debug` and `Clone`, but these are 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: associated function `print` is never used
[INFO] [stdout]    --> src/bin/06.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout]  95 | impl Board {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn print(board: &Board) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/bin/15.rs:354:82
[INFO] [stdout]     |
[INFO] [stdout] 354 |         let pushed_coords_and_tiles = current_coords_and_tiles.into_iter().map(|((coord), tile)| {
[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] 354 -         let pushed_coords_and_tiles = current_coords_and_tiles.into_iter().map(|((coord), tile)| {
[INFO] [stdout] 354 +         let pushed_coords_and_tiles = current_coords_and_tiles.into_iter().map(|(coord, tile)| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs`
[INFO] [stdout]  --> src/bin/14.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashSet, fs};
[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: `core::num`
[INFO] [stdout]  --> src/bin/12.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::num;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rows` and `cols` are never read
[INFO] [stdout]   --> src/bin/15.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Board {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout]  8 |     tiles: Vec<Vec<char>>,
[INFO] [stdout]  9 |     rows: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     cols: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_string` is never used
[INFO] [stdout]   --> src/bin/15.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Board {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn as_string(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `removed`
[INFO] [stdout]   --> src/bin/12.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |             let removed = neighbors_to_explore.remove(&coord);
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_removed`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::num`
[INFO] [stdout]  --> src/bin/12.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::num;
[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: `row`
[INFO] [stdout]    --> src/bin/12.rs:183:30
[INFO] [stdout]     |
[INFO] [stdout] 183 |         pieces.sort_by_key(|(row, col)| col);
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instruction`
[INFO] [stdout]    --> src/bin/17.rs:112:29
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn bxc(computer: &Computer, instruction: Instruction) -> StepOutput {
[INFO] [stdout]     |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction`
[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/17.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let mut next_state = computer.clone();
[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: `final_computer`
[INFO] [stdout]    --> src/bin/17.rs:212:10
[INFO] [stdout]     |
[INFO] [stdout] 212 |     let (final_computer, outputs) = simulate(initial_computer, instructions);
[INFO] [stdout]     |          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_computer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `removed`
[INFO] [stdout]   --> src/bin/12.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |             let removed = neighbors_to_explore.remove(&coord);
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_removed`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs`
[INFO] [stdout]  --> src/bin/14.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashSet, fs};
[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: `outputs`
[INFO] [stdout]    --> src/bin/17.rs:350:24
[INFO] [stdout]     |
[INFO] [stdout] 350 |         let (computer, outputs) = simulate(Computer { a: 0, b: 0, c: 9 }, vec![2, 6]);
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outputs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `computer`
[INFO] [stdout]    --> src/bin/17.rs:357:14
[INFO] [stdout]     |
[INFO] [stdout] 357 |         let (computer, outputs) = simulate(Computer { a: 10, b: 0, c: 0 }, vec![5, 0, 5, 1, 5, 4]);
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_computer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outputs`
[INFO] [stdout]    --> src/bin/17.rs:379:24
[INFO] [stdout]     |
[INFO] [stdout] 379 |         let (computer, outputs) = simulate(Computer { a: 0, b: 29, c: 0 }, vec![1, 7]);
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outputs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outputs`
[INFO] [stdout]    --> src/bin/17.rs:386:24
[INFO] [stdout]     |
[INFO] [stdout] 386 |         let (computer, outputs) = simulate(
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outputs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row`
[INFO] [stdout]    --> src/bin/12.rs:183:30
[INFO] [stdout]     |
[INFO] [stdout] 183 |         pieces.sort_by_key(|(row, col)| col);
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/19.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut candidate_patterns = patterns
[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: `instruction`
[INFO] [stdout]    --> src/bin/17.rs:112:29
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn bxc(computer: &Computer, instruction: Instruction) -> StepOutput {
[INFO] [stdout]     |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction`
[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/17.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let mut next_state = computer.clone();
[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: constant `AIR` is never used
[INFO] [stdout]   --> src/bin/16.rs:78:7
[INFO] [stdout]    |
[INFO] [stdout] 78 | const AIR: char = '.';
[INFO] [stdout]    |       ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rows` and `cols` are never read
[INFO] [stdout]   --> src/bin/16.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct Board {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 83 |     tiles: Vec<Vec<char>>,
[INFO] [stdout] 84 |     rows: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 85 |     cols: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_computer`
[INFO] [stdout]    --> src/bin/17.rs:212:10
[INFO] [stdout]     |
[INFO] [stdout] 212 |     let (final_computer, outputs) = simulate(initial_computer, instructions);
[INFO] [stdout]     |          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_computer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/24.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let mut known_values: HashMap<String, bool> = given_values.clone().into_iter().collect();
[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: `gate`
[INFO] [stdout]    --> src/bin/24.rs:168:23
[INFO] [stdout]     |
[INFO] [stdout] 168 |         .map(|(label, gate)| {
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_gate`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `known_values`
[INFO] [stdout]    --> src/bin/24.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let mut known_values: HashMap<String, bool> = given_values.clone().into_iter().collect();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_known_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gate`
[INFO] [stdout]    --> src/bin/24.rs:272:23
[INFO] [stdout]     |
[INFO] [stdout] 272 |         .map(|(label, gate)| {
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_gate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/bin/10.rs:44:14
[INFO] [stdout]    |
[INFO] [stdout] 44 |     .filter(|c| is_within_bounds(coordinate, rows, cols))
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_c`
[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/24.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let mut known_values: HashMap<String, bool> = given_values.clone().into_iter().collect();
[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: `gate`
[INFO] [stdout]    --> src/bin/24.rs:168:23
[INFO] [stdout]     |
[INFO] [stdout] 168 |         .map(|(label, gate)| {
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_gate`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `known_values`
[INFO] [stdout]    --> src/bin/24.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let mut known_values: HashMap<String, bool> = given_values.clone().into_iter().collect();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_known_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gate`
[INFO] [stdout]    --> src/bin/24.rs:272:23
[INFO] [stdout]     |
[INFO] [stdout] 272 |         .map(|(label, gate)| {
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_gate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/bin/10.rs:44:14
[INFO] [stdout]    |
[INFO] [stdout] 44 |     .filter(|c| is_within_bounds(coordinate, rows, cols))
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/bin/25.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn part_two(input: &str) -> Option<u32> {
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/bin/25.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn part_two(input: &str) -> Option<u32> {
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AIR` is never used
[INFO] [stdout]   --> src/bin/16.rs:78:7
[INFO] [stdout]    |
[INFO] [stdout] 78 | const AIR: char = '.';
[INFO] [stdout]    |       ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rows` and `cols` are never read
[INFO] [stdout]   --> src/bin/16.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct Board {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 83 |     tiles: Vec<Vec<char>>,
[INFO] [stdout] 84 |     rows: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 85 |     cols: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.52s
[INFO] running `Command { std: "docker" "inspect" "c614709d79b12fdbe3d168cbc9bd205b421bfa0a619ca77fc953899040dc3c45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c614709d79b12fdbe3d168cbc9bd205b421bfa0a619ca77fc953899040dc3c45", kill_on_drop: false }`
[INFO] [stdout] c614709d79b12fdbe3d168cbc9bd205b421bfa0a619ca77fc953899040dc3c45
