[INFO] cloning repository https://github.com/Fish-o/aoc-2022
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Fish-o/aoc-2022" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFish-o%2Faoc-2022", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFish-o%2Faoc-2022'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d226e14e73bde5285efade09faec1c96d2bb0daa
[INFO] checking Fish-o/aoc-2022 against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFish-o%2Faoc-2022" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Fish-o/aoc-2022
[INFO] finished tweaking git repo https://github.com/Fish-o/aoc-2022
[INFO] tweaked toml for git repo https://github.com/Fish-o/aoc-2022 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Fish-o/aoc-2022 on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Fish-o/aoc-2022 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded errno v0.3.6
[INFO] [stderr]   Downloaded either v1.8.1
[INFO] [stderr]   Downloaded colored v2.0.4
[INFO] [stderr]   Downloaded petgraph v0.6.4
[INFO] [stderr]   Downloaded rustix v0.38.21
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2a0dcfbca6f58d130e9d4cceba160af8b22ebc188437b04bb969979a5d5205f1
[INFO] running `Command { std: "docker" "start" "-a" "2a0dcfbca6f58d130e9d4cceba160af8b22ebc188437b04bb969979a5d5205f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2a0dcfbca6f58d130e9d4cceba160af8b22ebc188437b04bb969979a5d5205f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2a0dcfbca6f58d130e9d4cceba160af8b22ebc188437b04bb969979a5d5205f1", kill_on_drop: false }`
[INFO] [stdout] 2a0dcfbca6f58d130e9d4cceba160af8b22ebc188437b04bb969979a5d5205f1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b8b015b8b7ead8ed20cd5aebe794fb76a52a05b41a62cc0de467799c5e9b320f
[INFO] running `Command { std: "docker" "start" "-a" "b8b015b8b7ead8ed20cd5aebe794fb76a52a05b41a62cc0de467799c5e9b320f", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.150
[INFO] [stderr]    Compiling rustix v0.38.21
[INFO] [stderr]     Checking linux-raw-sys v0.4.11
[INFO] [stderr]     Checking hashbrown v0.14.2
[INFO] [stderr]     Checking regex-syntax v0.7.2
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking either v1.8.1
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]     Checking indexmap v2.1.0
[INFO] [stderr]     Checking getrandom v0.2.11
[INFO] [stderr]     Checking console v0.15.7
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking is-terminal v0.4.9
[INFO] [stderr]     Checking colored v2.0.4
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking petgraph v0.6.4
[INFO] [stderr]     Checking regex v1.8.4
[INFO] [stderr]     Checking aoc-2022 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ops::Index`
[INFO] [stdout]  --> src/day12.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 4 |   ops::Index,
[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 imports: `arch::x86_64`, `f32::consts::E`, `hash::Hash`, and `option`
[INFO] [stdout]  --> src/day16.rs:2:3
[INFO] [stdout]   |
[INFO] [stdout] 2 |   arch::x86_64,
[INFO] [stdout]   |   ^^^^^^^^^^^^
[INFO] [stdout] 3 |   collections::HashMap,
[INFO] [stdout] 4 |   f32::consts::E,
[INFO] [stdout]   |   ^^^^^^^^^^^^^^
[INFO] [stdout] 5 |   hash::Hash,
[INFO] [stdout]   |   ^^^^^^^^^^
[INFO] [stdout] 6 |   mem::size_of_val,
[INFO] [stdout] 7 |   option,
[INFO] [stdout]   |   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Config`, `Dot`, and `graph`
[INFO] [stdout]   --> src/day16.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |   dot::{Config, Dot},
[INFO] [stdout]    |         ^^^^^^  ^^^
[INFO] [stdout] 15 |   graph,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/day17.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::max, collections::HashMap};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::Colorize`
[INFO] [stdout]  --> src/day25.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::Colorize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::Index`
[INFO] [stdout]  --> src/day12.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 4 |   ops::Index,
[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 imports: `arch::x86_64`, `f32::consts::E`, `hash::Hash`, and `option`
[INFO] [stdout]  --> src/day16.rs:2:3
[INFO] [stdout]   |
[INFO] [stdout] 2 |   arch::x86_64,
[INFO] [stdout]   |   ^^^^^^^^^^^^
[INFO] [stdout] 3 |   collections::HashMap,
[INFO] [stdout] 4 |   f32::consts::E,
[INFO] [stdout]   |   ^^^^^^^^^^^^^^
[INFO] [stdout] 5 |   hash::Hash,
[INFO] [stdout]   |   ^^^^^^^^^^
[INFO] [stdout] 6 |   mem::size_of_val,
[INFO] [stdout] 7 |   option,
[INFO] [stdout]   |   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Config`, `Dot`, and `graph`
[INFO] [stdout]   --> src/day16.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |   dot::{Config, Dot},
[INFO] [stdout]    |         ^^^^^^  ^^^
[INFO] [stdout] 15 |   graph,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/day17.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::max, collections::HashMap};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::Colorize`
[INFO] [stdout]  --> src/day25.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::Colorize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/day16.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/day16.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `old_pos_head` is assigned to, but never used
[INFO] [stdout]   --> src/day9.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |       let mut old_pos_head = head;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_old_pos_head` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `old_pos_head` is never read
[INFO] [stdout]   --> src/day9.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |         old_pos_head = old_pos_tail;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `round`
[INFO] [stdout]    --> src/day11.rs:164:7
[INFO] [stdout]     |
[INFO] [stdout] 164 |   for round in 0..10000 {
[INFO] [stdout]     |       ^^^^^ help: if this is intentional, prefix it with an underscore: `_round`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/day11.rs:181:10
[INFO] [stdout]     |
[INFO] [stdout] 181 |     for (i, monkey) in &mut monkeys.iter().enumerate() {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monkey`
[INFO] [stdout]    --> src/day11.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |     for (i, monkey) in &mut monkeys.iter().enumerate() {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_monkey`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/day13.rs:195:13
[INFO] [stdout]     |
[INFO] [stdout] 195 |     .find(|(i, p)| p.to_string() == "[[6]]")
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/day13.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |     .find(|(i, p)| p.to_string() == "[[2]]")
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bottom_width`
[INFO] [stdout]  --> src/day14.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 |   let bottom_width = (floor_depth * 2) + 1;
[INFO] [stdout]   |       ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bottom_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `units` is assigned to, but never used
[INFO] [stdout]   --> src/day14.rs:80:7
[INFO] [stdout]    |
[INFO] [stdout] 80 |   let mut units = 0;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_units` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `done` is never read
[INFO] [stdout]    --> src/day14.rs:130:7
[INFO] [stdout]     |
[INFO] [stdout] 130 |       done = true;
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `units` is never read
[INFO] [stdout]    --> src/day14.rs:139:7
[INFO] [stdout]     |
[INFO] [stdout] 139 |       units += 1;
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `old_pos_head` is assigned to, but never used
[INFO] [stdout]   --> src/day9.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |       let mut old_pos_head = head;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_old_pos_head` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `old_pos_head` is never read
[INFO] [stdout]   --> src/day9.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |         old_pos_head = old_pos_tail;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `via`
[INFO] [stdout]    --> src/day16.rs:280:10
[INFO] [stdout]     |
[INFO] [stdout] 280 |     let (via, time_cost, flow_rate) = table.get(&valve.id).unwrap();
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_via`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `potential`
[INFO] [stdout]    --> src/day16.rs:299:14
[INFO] [stdout]     |
[INFO] [stdout] 299 |     let (id, potential, time_cost, flow_rate) = option;
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_potential`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `via`
[INFO] [stdout]    --> src/day16.rs:355:12
[INFO] [stdout]     |
[INFO] [stdout] 355 |       let (via, dist) = self.get_shortest_distance(&f, n_2, new_path);
[INFO] [stdout]     |            ^^^ help: if this is intentional, prefix it with an underscore: `_via`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `round`
[INFO] [stdout]    --> src/day11.rs:164:7
[INFO] [stdout]     |
[INFO] [stdout] 164 |   for round in 0..10000 {
[INFO] [stdout]     |       ^^^^^ help: if this is intentional, prefix it with an underscore: `_round`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/day11.rs:181:10
[INFO] [stdout]     |
[INFO] [stdout] 181 |     for (i, monkey) in &mut monkeys.iter().enumerate() {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monkey`
[INFO] [stdout]    --> src/day11.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |     for (i, monkey) in &mut monkeys.iter().enumerate() {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_monkey`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day16.rs:495:7
[INFO] [stdout]     |
[INFO] [stdout] 495 |   let mut best_child: Arc<Mutex<Option<ElephantTree>>> = Arc::new(Mutex::new(None));
[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/day16.rs:496:7
[INFO] [stdout]     |
[INFO] [stdout] 496 |   let mut best_eventual_pressure = Arc::new(Mutex::new(0));
[INFO] [stdout]     |       ----^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day16.rs:497:7
[INFO] [stdout]     |
[INFO] [stdout] 497 |   let mut total_goals = a_goals.len() * b_goals.len();
[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/day16.rs:499:7
[INFO] [stdout]     |
[INFO] [stdout] 499 |   let mut start = std::time::Instant::now();
[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/day16.rs:502:7
[INFO] [stdout]     |
[INFO] [stdout] 502 |   let mut total_done = Arc::new(Mutex::new(0));
[INFO] [stdout]     |       ----^^^^^^^^^^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/day16.rs:845:17
[INFO] [stdout]     |
[INFO] [stdout] 845 |     let (goals, pos, other_pos) = if a_goals.len() > 0 {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day17.rs:133:11
[INFO] [stdout]     |
[INFO] [stdout] 133 |       let mut collided = false;
[INFO] [stdout]     |           ----^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `collided`
[INFO] [stdout]    --> src/day17.rs:133:11
[INFO] [stdout]     |
[INFO] [stdout] 133 |       let mut collided = false;
[INFO] [stdout]     |           ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collided`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed`
[INFO] [stdout]    --> src/day17.rs:172:7
[INFO] [stdout]     |
[INFO] [stdout] 172 |   let elapsed = start.elapsed();
[INFO] [stdout]     |       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/day13.rs:195:13
[INFO] [stdout]     |
[INFO] [stdout] 195 |     .find(|(i, p)| p.to_string() == "[[6]]")
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/day13.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |     .find(|(i, p)| p.to_string() == "[[2]]")
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bottom_width`
[INFO] [stdout]  --> src/day14.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 |   let bottom_width = (floor_depth * 2) + 1;
[INFO] [stdout]   |       ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bottom_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `units` is assigned to, but never used
[INFO] [stdout]   --> src/day14.rs:80:7
[INFO] [stdout]    |
[INFO] [stdout] 80 |   let mut units = 0;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_units` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `done` is never read
[INFO] [stdout]    --> src/day14.rs:130:7
[INFO] [stdout]     |
[INFO] [stdout] 130 |       done = true;
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `units` is never read
[INFO] [stdout]    --> src/day14.rs:139:7
[INFO] [stdout]     |
[INFO] [stdout] 139 |       units += 1;
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/day21.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     name,
[INFO] [stdout]     |     ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operation`
[INFO] [stdout]    --> src/day21.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     operation,
[INFO] [stdout]     |     ^^^^^^^^^ help: try ignoring the field: `operation: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `human_side`
[INFO] [stdout]    --> src/day21.rs:152:10
[INFO] [stdout]     |
[INFO] [stdout] 152 |     let (human_side, number_side) = invert(&human_side, &number_side);
[INFO] [stdout]     |          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_human_side`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `via`
[INFO] [stdout]    --> src/day16.rs:280:10
[INFO] [stdout]     |
[INFO] [stdout] 280 |     let (via, time_cost, flow_rate) = table.get(&valve.id).unwrap();
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_via`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `potential`
[INFO] [stdout]    --> src/day16.rs:299:14
[INFO] [stdout]     |
[INFO] [stdout] 299 |     let (id, potential, time_cost, flow_rate) = option;
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_potential`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `via`
[INFO] [stdout]    --> src/day16.rs:355:12
[INFO] [stdout]     |
[INFO] [stdout] 355 |       let (via, dist) = self.get_shortest_distance(&f, n_2, new_path);
[INFO] [stdout]     |            ^^^ help: if this is intentional, prefix it with an underscore: `_via`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row_idx`
[INFO] [stdout]    --> src/day24.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 216 |       for (row_idx, row) in floor.iter().enumerate() {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_row_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col_idx`
[INFO] [stdout]    --> src/day24.rs:217:14
[INFO] [stdout]     |
[INFO] [stdout] 217 |         for (col_idx, tile) in row.iter().enumerate() {
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_col_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base`
[INFO] [stdout]   --> src/day25.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 |   for (base, v) in base_5.iter().enumerate() {
[INFO] [stdout]    |        ^^^^ help: if this is intentional, prefix it with an underscore: `_base`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day16.rs:495:7
[INFO] [stdout]     |
[INFO] [stdout] 495 |   let mut best_child: Arc<Mutex<Option<ElephantTree>>> = Arc::new(Mutex::new(None));
[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/day16.rs:496:7
[INFO] [stdout]     |
[INFO] [stdout] 496 |   let mut best_eventual_pressure = Arc::new(Mutex::new(0));
[INFO] [stdout]     |       ----^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day16.rs:497:7
[INFO] [stdout]     |
[INFO] [stdout] 497 |   let mut total_goals = a_goals.len() * b_goals.len();
[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/day16.rs:499:7
[INFO] [stdout]     |
[INFO] [stdout] 499 |   let mut start = std::time::Instant::now();
[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/day16.rs:502:7
[INFO] [stdout]     |
[INFO] [stdout] 502 |   let mut total_done = Arc::new(Mutex::new(0));
[INFO] [stdout]     |       ----^^^^^^^^^^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/day16.rs:845:17
[INFO] [stdout]     |
[INFO] [stdout] 845 |     let (goals, pos, other_pos) = if a_goals.len() > 0 {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Sensor` is more private than the item `get_row_ranges`
[INFO] [stdout]    --> src/day15.rs:204:1
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn get_row_ranges(row: i32, sensors: &Vec<Sensor>) -> Vec<(i32, i32)> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `get_row_ranges` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Sensor` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/day15.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 | struct Sensor {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `start` is never read
[INFO] [stdout]   --> src/day12.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout]  6 | struct Map {
[INFO] [stdout]    |        --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |   start: (usize, 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: methods `to_string`, `print_pos_map`, `find_path`, and `print_distances_map` are never used
[INFO] [stdout]    --> src/day12.rs:55:10
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl Map {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  55 |   pub fn to_string(&self) -> String {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |   pub fn print_pos_map(&self) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |   fn find_path(
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |   pub fn print_distances_map(&self) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_map` is never used
[INFO] [stdout]  --> src/day14.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn print_map(map: &HashMap<(u32, u32), Tile>, width: (u32, u32), depth: (u32, u32)) {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_edges` is never used
[INFO] [stdout]   --> src/day15.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Sensor {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 24 |   pub fn get_edges(&self) -> HashSet<(i32, i32)> {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day17.rs:133:11
[INFO] [stdout]     |
[INFO] [stdout] 133 |       let mut collided = false;
[INFO] [stdout]     |           ----^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/day15.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn print(sensors: &Vec<Sensor>) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mem_size`, `get_node_count`, and `get_released_pressure` are never used
[INFO] [stdout]    --> src/day16.rs:230:6
[INFO] [stdout]     |
[INFO] [stdout] 229 | impl TreeNode {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 230 |   fn mem_size(self: &Self) -> usize {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |   fn get_node_count(self: &Self) -> usize {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |   fn get_released_pressure(self: &Self, max_t: u32) -> u32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ElephantTree` is never constructed
[INFO] [stdout]    --> src/day16.rs:407:8
[INFO] [stdout]     |
[INFO] [stdout] 407 | struct ElephantTree {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_eventual_best_pressure` is never used
[INFO] [stdout]    --> src/day16.rs:419:10
[INFO] [stdout]     |
[INFO] [stdout] 418 | impl ElephantTree {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 419 |   pub fn get_eventual_best_pressure(self: &Self, max_t: u32) -> u32 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `top_level_create_elephant` is never used
[INFO] [stdout]    --> src/day16.rs:430:4
[INFO] [stdout]     |
[INFO] [stdout] 430 | fn top_level_create_elephant(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_elephant_tree` is never used
[INFO] [stdout]    --> src/day16.rs:639:4
[INFO] [stdout]     |
[INFO] [stdout] 639 | fn create_elephant_tree(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheObject` is never constructed
[INFO] [stdout]   --> src/day17.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | struct CacheObject {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display_cave` is never used
[INFO] [stdout]    --> src/day17.rs:178:4
[INFO] [stdout]     |
[INFO] [stdout] 178 | fn display_cave(rock: &Rock, x: usize, y: usize, cave: &[u32; 6066]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_ordered` is never used
[INFO] [stdout]   --> src/day20.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Mixer {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |   pub fn get_ordered(&self) -> Vec<i64> {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]  --> src/day21.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |   Number {
[INFO] [stdout]   |   ------ field in this variant
[INFO] [stdout] 5 |     name: String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Monkey` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_empty` is never used
[INFO] [stdout]    --> src/day22.rs:300:10
[INFO] [stdout]     |
[INFO] [stdout] 269 | impl Map {
[INFO] [stdout]     | -------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 300 |   pub fn from_empty(input: &str) -> Map {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `debug` is never used
[INFO] [stdout]    --> src/day22.rs:491:4
[INFO] [stdout]     |
[INFO] [stdout] 491 | fn debug(input: &String) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display` is never used
[INFO] [stdout]    --> src/day22.rs:571:4
[INFO] [stdout]     |
[INFO] [stdout] 571 | fn display(map: &Map, player: &Player, prev: &Vec<Player>) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display` is never used
[INFO] [stdout]   --> src/day24.rs:93:10
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl ValleyMap {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 93 |   pub fn display(&self) {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display` is never used
[INFO] [stdout]    --> src/day24.rs:213:10
[INFO] [stdout]     |
[INFO] [stdout] 141 | impl WalkableMap {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 213 |   pub fn display(&self) {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `collided`
[INFO] [stdout]    --> src/day17.rs:133:11
[INFO] [stdout]     |
[INFO] [stdout] 133 |       let mut collided = false;
[INFO] [stdout]     |           ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collided`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed`
[INFO] [stdout]    --> src/day17.rs:172:7
[INFO] [stdout]     |
[INFO] [stdout] 172 |   let elapsed = start.elapsed();
[INFO] [stdout]     |       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `all_As` should have a snake case name
[INFO] [stdout]    --> src/day12.rs:297:13
[INFO] [stdout]     |
[INFO] [stdout] 297 |     let mut all_As = Vec::new();
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `all_as`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/day21.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     name,
[INFO] [stdout]     |     ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operation`
[INFO] [stdout]    --> src/day21.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     operation,
[INFO] [stdout]     |     ^^^^^^^^^ help: try ignoring the field: `operation: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `human_side`
[INFO] [stdout]    --> src/day21.rs:152:10
[INFO] [stdout]     |
[INFO] [stdout] 152 |     let (human_side, number_side) = invert(&human_side, &number_side);
[INFO] [stdout]     |          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_human_side`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row_idx`
[INFO] [stdout]    --> src/day24.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 216 |       for (row_idx, row) in floor.iter().enumerate() {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_row_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col_idx`
[INFO] [stdout]    --> src/day24.rs:217:14
[INFO] [stdout]     |
[INFO] [stdout] 217 |         for (col_idx, tile) in row.iter().enumerate() {
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_col_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base`
[INFO] [stdout]   --> src/day25.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 |   for (base, v) in base_5.iter().enumerate() {
[INFO] [stdout]    |        ^^^^ help: if this is intentional, prefix it with an underscore: `_base`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Sensor` is more private than the item `get_row_ranges`
[INFO] [stdout]    --> src/day15.rs:204:1
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn get_row_ranges(row: i32, sensors: &Vec<Sensor>) -> Vec<(i32, i32)> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `get_row_ranges` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Sensor` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/day15.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 | struct Sensor {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `start` is never read
[INFO] [stdout]   --> src/day12.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout]  6 | struct Map {
[INFO] [stdout]    |        --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |   start: (usize, 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: methods `to_string`, `print_pos_map`, `find_path`, and `print_distances_map` are never used
[INFO] [stdout]    --> src/day12.rs:55:10
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl Map {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  55 |   pub fn to_string(&self) -> String {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |   pub fn print_pos_map(&self) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |   fn find_path(
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |   pub fn print_distances_map(&self) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_map` is never used
[INFO] [stdout]  --> src/day14.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn print_map(map: &HashMap<(u32, u32), Tile>, width: (u32, u32), depth: (u32, u32)) {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_edges` is never used
[INFO] [stdout]   --> src/day15.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Sensor {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 24 |   pub fn get_edges(&self) -> HashSet<(i32, i32)> {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/day15.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn print(sensors: &Vec<Sensor>) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mem_size`, `get_node_count`, and `get_released_pressure` are never used
[INFO] [stdout]    --> src/day16.rs:230:6
[INFO] [stdout]     |
[INFO] [stdout] 229 | impl TreeNode {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 230 |   fn mem_size(self: &Self) -> usize {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |   fn get_node_count(self: &Self) -> usize {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |   fn get_released_pressure(self: &Self, max_t: u32) -> u32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ElephantTree` is never constructed
[INFO] [stdout]    --> src/day16.rs:407:8
[INFO] [stdout]     |
[INFO] [stdout] 407 | struct ElephantTree {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_eventual_best_pressure` is never used
[INFO] [stdout]    --> src/day16.rs:419:10
[INFO] [stdout]     |
[INFO] [stdout] 418 | impl ElephantTree {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 419 |   pub fn get_eventual_best_pressure(self: &Self, max_t: u32) -> u32 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `top_level_create_elephant` is never used
[INFO] [stdout]    --> src/day16.rs:430:4
[INFO] [stdout]     |
[INFO] [stdout] 430 | fn top_level_create_elephant(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_elephant_tree` is never used
[INFO] [stdout]    --> src/day16.rs:639:4
[INFO] [stdout]     |
[INFO] [stdout] 639 | fn create_elephant_tree(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheObject` is never constructed
[INFO] [stdout]   --> src/day17.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | struct CacheObject {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display_cave` is never used
[INFO] [stdout]    --> src/day17.rs:178:4
[INFO] [stdout]     |
[INFO] [stdout] 178 | fn display_cave(rock: &Rock, x: usize, y: usize, cave: &[u32; 6066]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_ordered` is never used
[INFO] [stdout]   --> src/day20.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Mixer {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |   pub fn get_ordered(&self) -> Vec<i64> {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]  --> src/day21.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |   Number {
[INFO] [stdout]   |   ------ field in this variant
[INFO] [stdout] 5 |     name: String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Monkey` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_empty` is never used
[INFO] [stdout]    --> src/day22.rs:300:10
[INFO] [stdout]     |
[INFO] [stdout] 269 | impl Map {
[INFO] [stdout]     | -------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 300 |   pub fn from_empty(input: &str) -> Map {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `debug` is never used
[INFO] [stdout]    --> src/day22.rs:491:4
[INFO] [stdout]     |
[INFO] [stdout] 491 | fn debug(input: &String) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display` is never used
[INFO] [stdout]    --> src/day22.rs:571:4
[INFO] [stdout]     |
[INFO] [stdout] 571 | fn display(map: &Map, player: &Player, prev: &Vec<Player>) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display` is never used
[INFO] [stdout]   --> src/day24.rs:93:10
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl ValleyMap {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 93 |   pub fn display(&self) {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display` is never used
[INFO] [stdout]    --> src/day24.rs:213:10
[INFO] [stdout]     |
[INFO] [stdout] 141 | impl WalkableMap {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 213 |   pub fn display(&self) {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `all_As` should have a snake case name
[INFO] [stdout]    --> src/day12.rs:297:13
[INFO] [stdout]     |
[INFO] [stdout] 297 |     let mut all_As = Vec::new();
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `all_as`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.10s
[INFO] running `Command { std: "docker" "inspect" "b8b015b8b7ead8ed20cd5aebe794fb76a52a05b41a62cc0de467799c5e9b320f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b8b015b8b7ead8ed20cd5aebe794fb76a52a05b41a62cc0de467799c5e9b320f", kill_on_drop: false }`
[INFO] [stdout] b8b015b8b7ead8ed20cd5aebe794fb76a52a05b41a62cc0de467799c5e9b320f
