[INFO] cloning repository https://github.com/MartMcMahon/advent-of-code-23
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MartMcMahon/advent-of-code-23" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMartMcMahon%2Fadvent-of-code-23", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMartMcMahon%2Fadvent-of-code-23'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 33de4457fb3debcedb3e2335c9323887c3ab8730
[INFO] checking MartMcMahon/advent-of-code-23 against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMartMcMahon%2Fadvent-of-code-23" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/MartMcMahon/advent-of-code-23
[INFO] finished tweaking git repo https://github.com/MartMcMahon/advent-of-code-23
[INFO] tweaked toml for git repo https://github.com/MartMcMahon/advent-of-code-23 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MartMcMahon/advent-of-code-23 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/MartMcMahon/advent-of-code-23 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]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ciborium-ll v0.2.1
[INFO] [stderr]   Downloaded ciborium-io v0.2.1
[INFO] [stderr]   Downloaded rayon-core v1.12.0
[INFO] [stderr]   Downloaded ciborium v0.2.1
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.15
[INFO] [stderr]   Downloaded criterion v0.5.1
[INFO] [stderr]   Downloaded gnuplot v0.0.39
[INFO] [stderr]   Downloaded syn v2.0.39
[INFO] [stderr]   Downloaded rayon v1.8.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c9495bb241f73f9b1c8a8ec2e248d818c508fff2c04c6a6daf3f51f9cb5ba362
[INFO] running `Command { std: "docker" "start" "-a" "c9495bb241f73f9b1c8a8ec2e248d818c508fff2c04c6a6daf3f51f9cb5ba362", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c9495bb241f73f9b1c8a8ec2e248d818c508fff2c04c6a6daf3f51f9cb5ba362", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c9495bb241f73f9b1c8a8ec2e248d818c508fff2c04c6a6daf3f51f9cb5ba362", kill_on_drop: false }`
[INFO] [stdout] c9495bb241f73f9b1c8a8ec2e248d818c508fff2c04c6a6daf3f51f9cb5ba362
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6ebcd1670ea37cbc765f242161b2261044b8f60e4f10db2af62f8539d8e4e264
[INFO] running `Command { std: "docker" "start" "-a" "6ebcd1670ea37cbc765f242161b2261044b8f60e4f10db2af62f8539d8e4e264", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]    Compiling serde v1.0.193
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.15
[INFO] [stderr]    Compiling rayon-core v1.12.0
[INFO] [stderr]    Compiling rustix v0.38.26
[INFO] [stderr]     Checking ciborium-io v0.2.1
[INFO] [stderr]     Checking half v1.8.2
[INFO] [stderr]     Checking clap_builder v4.4.11
[INFO] [stderr]     Checking gnuplot v0.0.39
[INFO] [stderr]     Checking plotters v0.3.5
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking ciborium-ll v0.2.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.3
[INFO] [stderr]     Checking is-terminal v0.4.9
[INFO] [stderr]     Checking rayon v1.8.0
[INFO] [stderr]     Checking clap v4.4.11
[INFO] [stderr]    Compiling serde_derive v1.0.193
[INFO] [stderr]     Checking serde_json v1.0.108
[INFO] [stderr]     Checking ciborium v0.2.1
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking advent_of_code_23 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]  --> src/day15.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 |     io::{BufReader, Read},
[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: `colored::*`
[INFO] [stdout]  --> src/day17.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::*;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day15.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn star2(mut buf: Vec<u8>) -> i32 {
[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/day15.rs:88:21
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 for mut i in 0..boxes[running_hash].lenses.len() {
[INFO] [stdout]    |                     ----^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/day15.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     for i in 0..256 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `i` is never read
[INFO] [stdout]   --> src/day15.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |                 i += 2;
[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: `buf`
[INFO] [stdout]    --> src/day16.rs:282:14
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub fn star2(buf: Vec<u8>) -> i32 {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/day17.rs:204:14
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn star2(buf: Vec<u8>) -> i32 {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day5.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut locs: Vec<u64> = Vec::new();
[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/day5.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let mut c = 0;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `locs`
[INFO] [stdout]    --> src/day5.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut locs: Vec<u64> = Vec::new();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_locs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `answer_map`
[INFO] [stdout]    --> src/day5.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let answer_map: HashMap<u64, u64> = HashMap::new();
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_answer_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed_ranges`
[INFO] [stdout]    --> src/day5.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let seed_ranges: Vec<(u64, u64)> = get_seed_ranges(seeds_str);
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seed_ranges`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/day5.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let mut c = 0;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/day5.rs:172:26
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let (_full_cap, [src, dest]) = re.captures(&lines[0]).unwrap().extract();
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dest`
[INFO] [stdout]    --> src/day5.rs:172:31
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let (_full_cap, [src, dest]) = re.captures(&lines[0]).unwrap().extract();
[INFO] [stdout]     |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_dest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `range`
[INFO] [stdout]    --> src/day5.rs:193:17
[INFO] [stdout]     |
[INFO] [stdout] 193 |             let range = Range {
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `times`
[INFO] [stdout]   --> src/day6.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let (times, distances) = read_lines();
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_times`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `distances`
[INFO] [stdout]   --> src/day6.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let (times, distances) = read_lines();
[INFO] [stdout]    |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_distances`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/day6.rs:110:10
[INFO] [stdout]     |
[INFO] [stdout] 110 |     for (k, v) in races.iter() {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `players_num`
[INFO] [stdout]    --> src/day7.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let players_num = hands.sort();
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_players_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `next_str` is never read
[INFO] [stdout]    --> src/day8.rs:147:28
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let mut next_str = "";
[INFO] [stdout]     |                            ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Node` is more private than the item `day17::parse_grid`
[INFO] [stdout]   --> src/day17.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn parse_grid(buf: Vec<u8>) -> Vec<Vec<Node>> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `day17::parse_grid` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Node` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/day17.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct Node {
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/day5.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn main() {
[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 `get_seed_ranges` is never used
[INFO] [stdout]   --> src/day5.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn get_seed_ranges(s: String) -> Vec<(u64, u64)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `star2` is never used
[INFO] [stdout]    --> src/day5.rs:103:4
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn star2(lines: Vec<String>) -> u64 {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/day15.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     f.read_to_end(&mut buf);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let _ = f.read_to_end(&mut buf);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::*`
[INFO] [stdout]  --> src/day17.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::*;
[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: `buf`
[INFO] [stdout]    --> src/day17.rs:204:14
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn star2(buf: Vec<u8>) -> i32 {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Node` is more private than the item `parse_grid`
[INFO] [stdout]   --> src/day17.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn parse_grid(buf: Vec<u8>) -> Vec<Vec<Node>> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `parse_grid` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Node` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/day17.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct Node {
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]  --> src/day15.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 |     io::{BufReader, Read},
[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: `colored::*`
[INFO] [stdout]  --> src/day17.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::*;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BenchmarkId` and `black_box`
[INFO] [stdout]  --> benches/day6.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use criterion::{black_box, criterion_group, criterion_main, BenchmarkId, Criterion};
[INFO] [stdout]   |                 ^^^^^^^^^                                   ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day15.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn star2(mut buf: Vec<u8>) -> i32 {
[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/day15.rs:88:21
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 for mut i in 0..boxes[running_hash].lenses.len() {
[INFO] [stdout]    |                     ----^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/day15.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     for i in 0..256 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `i` is never read
[INFO] [stdout]   --> src/day15.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |                 i += 2;
[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: `buf`
[INFO] [stdout]    --> src/day16.rs:282:14
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub fn star2(buf: Vec<u8>) -> i32 {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day16.rs:358:13
[INFO] [stdout]     |
[INFO] [stdout] 358 |         let mut ray = Ray {
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/day16.rs:383:13
[INFO] [stdout]     |
[INFO] [stdout] 383 |         let x = star2(input);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/day17.rs:204:14
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn star2(buf: Vec<u8>) -> i32 {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/day17.rs:237:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let x = star2(input);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day5.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut locs: Vec<u64> = Vec::new();
[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/day5.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let mut c = 0;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `locs`
[INFO] [stdout]    --> src/day5.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut locs: Vec<u64> = Vec::new();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_locs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `answer_map`
[INFO] [stdout]    --> src/day5.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let answer_map: HashMap<u64, u64> = HashMap::new();
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_answer_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed_ranges`
[INFO] [stdout]    --> src/day5.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let seed_ranges: Vec<(u64, u64)> = get_seed_ranges(seeds_str);
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seed_ranges`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/day5.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let mut c = 0;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/day5.rs:172:26
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let (_full_cap, [src, dest]) = re.captures(&lines[0]).unwrap().extract();
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dest`
[INFO] [stdout]    --> src/day5.rs:172:31
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let (_full_cap, [src, dest]) = re.captures(&lines[0]).unwrap().extract();
[INFO] [stdout]     |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_dest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `range`
[INFO] [stdout]    --> src/day5.rs:193:17
[INFO] [stdout]     |
[INFO] [stdout] 193 |             let range = Range {
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::*`
[INFO] [stdout]  --> src/day17.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::*;
[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: `times`
[INFO] [stdout]   --> src/day6.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let (times, distances) = read_lines();
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_times`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `distances`
[INFO] [stdout]   --> src/day6.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let (times, distances) = read_lines();
[INFO] [stdout]    |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_distances`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/day6.rs:110:10
[INFO] [stdout]     |
[INFO] [stdout] 110 |     for (k, v) in races.iter() {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day6.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let mut lines: Vec<String> = TEST_INPUT.split("\n").map(|s| s.to_owned()).collect();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `players_num`
[INFO] [stdout]    --> src/day7.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let players_num = hands.sort();
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_players_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `next_str` is never read
[INFO] [stdout]    --> src/day8.rs:147:28
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let mut next_str = "";
[INFO] [stdout]     |                            ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Node` is more private than the item `day17::parse_grid`
[INFO] [stdout]   --> src/day17.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn parse_grid(buf: Vec<u8>) -> Vec<Vec<Node>> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `day17::parse_grid` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Node` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/day17.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct Node {
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/day5.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn main() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEST_INPUT` is never used
[INFO] [stdout]    --> src/day7.rs:149:11
[INFO] [stdout]     |
[INFO] [stdout] 149 |     const TEST_INPUT: &str = r#"32T3K 765
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/day15.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     f.read_to_end(&mut buf);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let _ = f.read_to_end(&mut buf);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/day17.rs:204:14
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn star2(buf: Vec<u8>) -> i32 {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/day17.rs:237:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let x = star2(input);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Node` is more private than the item `parse_grid`
[INFO] [stdout]   --> src/day17.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn parse_grid(buf: Vec<u8>) -> Vec<Vec<Node>> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `parse_grid` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Node` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/day17.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct Node {
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.25s
[INFO] running `Command { std: "docker" "inspect" "6ebcd1670ea37cbc765f242161b2261044b8f60e4f10db2af62f8539d8e4e264", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6ebcd1670ea37cbc765f242161b2261044b8f60e4f10db2af62f8539d8e4e264", kill_on_drop: false }`
[INFO] [stdout] 6ebcd1670ea37cbc765f242161b2261044b8f60e4f10db2af62f8539d8e4e264
