[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 master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkrisbrud%2Fadvent-of-code-2024" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc1/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-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/krisbrud/advent-of-code-2024 on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "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" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: toolchain
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded memoize v0.4.2
[INFO] [stderr]   Downloaded sys-info v0.9.1
[INFO] [stderr]   Downloaded memoize-inner v0.4.3
[INFO] [stderr]   Downloaded dhat v0.3.3
[INFO] [stderr]   Downloaded tinyjson v2.5.1
[INFO] [stderr]   Downloaded mintex v0.1.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 078535bc05b3c48a9703e6ae9293ba82bea17927d2c6b1c2f721b5a9de4f8c92
[INFO] running `Command { std: "docker" "start" "-a" "078535bc05b3c48a9703e6ae9293ba82bea17927d2c6b1c2f721b5a9de4f8c92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "078535bc05b3c48a9703e6ae9293ba82bea17927d2c6b1c2f721b5a9de4f8c92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "078535bc05b3c48a9703e6ae9293ba82bea17927d2c6b1c2f721b5a9de4f8c92", kill_on_drop: false }`
[INFO] [stdout] 078535bc05b3c48a9703e6ae9293ba82bea17927d2c6b1c2f721b5a9de4f8c92
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0aff21de7eb8f6431d995237f21efc6480fe81df78fb82538d80f069c6da6d79
[INFO] running `Command { std: "docker" "start" "-a" "0aff21de7eb8f6431d995237f21efc6480fe81df78fb82538d80f069c6da6d79", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: toolchain
[INFO] [stderr]    Compiling libc v0.2.168
[INFO] [stderr]     Checking memchr v2.6.4
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]     Checking tinyjson v2.5.1
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking lru v0.7.8
[INFO] [stderr]    Compiling memoize-inner v0.4.3
[INFO] [stderr]     Checking memoize v0.4.2
[INFO] [stderr]     Checking regex v1.11.1
[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: 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: `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 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: `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: `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: `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: `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: 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: 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: 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: `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: 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: `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: `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: `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 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: `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: 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: 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: `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 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: 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: `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: 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 `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: 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: 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: 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: 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: 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 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: `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: 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 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 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.12s
[INFO] running `Command { std: "docker" "inspect" "0aff21de7eb8f6431d995237f21efc6480fe81df78fb82538d80f069c6da6d79", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0aff21de7eb8f6431d995237f21efc6480fe81df78fb82538d80f069c6da6d79", kill_on_drop: false }`
[INFO] [stdout] 0aff21de7eb8f6431d995237f21efc6480fe81df78fb82538d80f069c6da6d79
