[INFO] cloning repository https://github.com/JasonJ2021/AOC2023
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JasonJ2021/AOC2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJasonJ2021%2FAOC2023", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJasonJ2021%2FAOC2023'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] aff6de7e2a45dbe80f0ce02023f145ee786651a9
[INFO] testing JasonJ2021/AOC2023 against 1.75.0 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJasonJ2021%2FAOC2023" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/JasonJ2021/AOC2023 on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/JasonJ2021/AOC2023
[INFO] finished tweaking git repo https://github.com/JasonJ2021/AOC2023
[INFO] tweaked toml for git repo https://github.com/JasonJ2021/AOC2023 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/JasonJ2021/AOC2023 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" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[ERROR] this task or one of its parent failed!
[ERROR] no output for 300 seconds
[ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace.
[INFO] testing JasonJ2021/AOC2023 against beta-2023-12-22 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJasonJ2021%2FAOC2023" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/JasonJ2021/AOC2023 on toolchain beta-2023-12-22
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/JasonJ2021/AOC2023
[INFO] finished tweaking git repo https://github.com/JasonJ2021/AOC2023
[INFO] tweaked toml for git repo https://github.com/JasonJ2021/AOC2023 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/JasonJ2021/AOC2023 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" "+beta-2023-12-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] testing JasonJ2021/AOC2023 against beta-2023-12-22 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJasonJ2021%2FAOC2023" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/JasonJ2021/AOC2023 on toolchain beta-2023-12-22
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/JasonJ2021/AOC2023
[INFO] finished tweaking git repo https://github.com/JasonJ2021/AOC2023
[INFO] tweaked toml for git repo https://github.com/JasonJ2021/AOC2023 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/JasonJ2021/AOC2023 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" "+beta-2023-12-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3f358beba2cf5e1f0ec6897ae0267683c524eb92b97f4d25510fbe78753dd779
[INFO] running `Command { std: "docker" "start" "-a" "3f358beba2cf5e1f0ec6897ae0267683c524eb92b97f4d25510fbe78753dd779", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3f358beba2cf5e1f0ec6897ae0267683c524eb92b97f4d25510fbe78753dd779", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3f358beba2cf5e1f0ec6897ae0267683c524eb92b97f4d25510fbe78753dd779", kill_on_drop: false }`
[INFO] [stdout] 3f358beba2cf5e1f0ec6897ae0267683c524eb92b97f4d25510fbe78753dd779
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 51dede9776f35d2c3d43cc13093b76bb7b34e60af523bfff79ef3185c1d78e57
[INFO] running `Command { std: "docker" "start" "-a" "51dede9776f35d2c3d43cc13093b76bb7b34e60af523bfff79ef3185c1d78e57", kill_on_drop: false }`
[INFO] [stderr]    Compiling gcd v2.3.0
[INFO] [stderr]    Compiling AOC2023 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: crate `AOC2023` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `aoc2023`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]  --> src/day2/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `str::from_utf8`
[INFO] [stdout]  --> src/day2/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     str::from_utf8,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `game` should have an upper camel case name
[INFO] [stdout]   --> src/day2/main.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct game {
[INFO] [stdout]    |        ^^^^ help: convert the identifier to upper camel case: `Game`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `btree_map::Entry`, `hash::Hash`, `sync::Arc`
[INFO] [stdout]  --> src/day8/main.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 |     collections::{btree_map::Entry, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     hash::Hash,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 5 |     sync::Arc,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `binary_heap`
[INFO] [stdout]  --> src/day5/main.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 |     collections::{binary_heap, BTreeSet, BinaryHeap},
[INFO] [stdout]   |                   ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/day5/main.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |     for (seed) in seeds.iter() {
[INFO] [stdout]     |         ^    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 143 -     for (seed) in seeds.iter() {
[INFO] [stdout] 143 +     for seed in seeds.iter() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]   --> src/day2/main.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let info = data
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `RED` should have a snake case name
[INFO] [stdout]   --> src/day2/main.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let RED = 12;
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case: `red`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash_map`
[INFO] [stdout]  --> src/day7/main.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 |     collections::{hash_map, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/day7/main.rs:129:16
[INFO] [stdout]     |
[INFO] [stdout] 129 |             if (triples.1 == 'J' || pairs[0] == 'J') {
[INFO] [stdout]     |                ^                                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 129 -             if (triples.1 == 'J' || pairs[0] == 'J') {
[INFO] [stdout] 129 +             if triples.1 == 'J' || pairs[0] == 'J' {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `steps` is never read
[INFO] [stdout]    --> src/day8/main.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     steps = 0;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `GREEN` should have a snake case name
[INFO] [stdout]   --> src/day2/main.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let GREEN = 13;
[INFO] [stdout]    |         ^^^^^ help: convert the identifier to snake case: `green`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `BLUE` should have a snake case name
[INFO] [stdout]   --> src/day2/main.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let BLUE = 14;
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `blue`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_end` is never used
[INFO] [stdout]  --> src/day8/main.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn is_end(input: &Vec<&str>) -> bool {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_steps_part1` is never used
[INFO] [stdout]   --> src/day8/main.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn compute_steps_part1<'a>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/day5/main.rs:173:14
[INFO] [stdout]     |
[INFO] [stdout] 173 |         for (idx, map) in maps.iter().enumerate() {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `State` should have a snake case name
[INFO] [stdout]   --> src/day5/main.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let mut State: Option<State> = None;
[INFO] [stdout]    |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `state`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `PRIORITY_MAP` should have a snake case name
[INFO] [stdout]   --> src/day7/main.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let PRIORITY_MAP: HashMap<char, usize> = HashMap::from([
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `priority_map`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `PRIORITY_MAP` should have a snake case name
[INFO] [stdout]   --> src/day7/main.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let PRIORITY_MAP: HashMap<char, usize> = HashMap::from([
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `priority_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `collect` that must be used
[INFO] [stdout]    --> src/day5/main.rs:78:5
[INFO] [stdout]     |
[INFO] [stdout] 78  | /     input
[INFO] [stdout] 79  | |         .lines()
[INFO] [stdout] 80  | |         .map(|mut line| {
[INFO] [stdout] 81  | |             line = line.trim();
[INFO] [stdout] ...   |
[INFO] [stdout] 138 | |         })
[INFO] [stdout] 139 | |         .collect::<Vec<_>>();
[INFO] [stdout]     | |____________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 78  |     let _ = input
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::str::<impl str>::trim` that must be used
[INFO] [stdout]    --> src/day5/main.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 |     line.strip_prefix("seeds:").unwrap().trim();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this returns the trimmed string as a slice, without modifying the original
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let _ = line.strip_prefix("seeds:").unwrap().trim();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::num`
[INFO] [stdout]  --> src/day3/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::num;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/day3/main.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let mut graph = input
[INFO] [stdout]   |         ----^^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/day3/main.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let m = matrix.len();
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `collect` that must be used
[INFO] [stdout]    --> src/day3/main.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | /     matrix
[INFO] [stdout] 143 | |         .iter()
[INFO] [stdout] 144 | |         .map(|line| {
[INFO] [stdout] 145 | |             let mut num: Option<i32> = None;
[INFO] [stdout] ...   |
[INFO] [stdout] 163 | |         })
[INFO] [stdout] 164 | |         .collect::<Vec<_>>();
[INFO] [stdout]     | |____________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let _ = matrix
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::EPSILON`
[INFO] [stdout]  --> src/day6/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f64::EPSILON;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]  --> src/day1/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `str::from_utf8`
[INFO] [stdout]  --> src/day1/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     str::from_utf8,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day1/main.rs:24:15
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn subst_word(mut line: String) -> String {
[INFO] [stdout]    |               ----^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 4.21s
[INFO] running `Command { std: "docker" "inspect" "51dede9776f35d2c3d43cc13093b76bb7b34e60af523bfff79ef3185c1d78e57", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "51dede9776f35d2c3d43cc13093b76bb7b34e60af523bfff79ef3185c1d78e57", kill_on_drop: false }`
[INFO] [stdout] 51dede9776f35d2c3d43cc13093b76bb7b34e60af523bfff79ef3185c1d78e57
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c6a8c1e48e014240b8a54d77972c00c9315904be27e304682fe9eedffe69752d
[INFO] running `Command { std: "docker" "start" "-a" "c6a8c1e48e014240b8a54d77972c00c9315904be27e304682fe9eedffe69752d", kill_on_drop: false }`
[INFO] [stderr]    Compiling AOC2023 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `hash_map`
[INFO] [stdout]  --> src/day7/main.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 |     collections::{hash_map, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::num`
[INFO] [stdout]  --> src/day3/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::num;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/day7/main.rs:129:16
[INFO] [stdout]     |
[INFO] [stdout] 129 |             if (triples.1 == 'J' || pairs[0] == 'J') {
[INFO] [stdout]     |                ^                                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 129 -             if (triples.1 == 'J' || pairs[0] == 'J') {
[INFO] [stdout] 129 +             if triples.1 == 'J' || pairs[0] == 'J' {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]  --> src/day1/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `str::from_utf8`
[INFO] [stdout]  --> src/day1/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     str::from_utf8,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day1/main.rs:24:15
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn subst_word(mut line: String) -> String {
[INFO] [stdout]    |               ----^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::EPSILON`
[INFO] [stdout]  --> src/day6/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f64::EPSILON;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]  --> src/day2/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `str::from_utf8`
[INFO] [stdout]  --> src/day2/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     str::from_utf8,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `game` should have an upper camel case name
[INFO] [stdout]   --> src/day2/main.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct game {
[INFO] [stdout]    |        ^^^^ help: convert the identifier to upper camel case: `Game`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/day3/main.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let mut graph = input
[INFO] [stdout]   |         ----^^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/day3/main.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let m = matrix.len();
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]   --> src/day2/main.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let info = data
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `collect` that must be used
[INFO] [stdout]    --> src/day3/main.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | /     matrix
[INFO] [stdout] 143 | |         .iter()
[INFO] [stdout] 144 | |         .map(|line| {
[INFO] [stdout] 145 | |             let mut num: Option<i32> = None;
[INFO] [stdout] ...   |
[INFO] [stdout] 163 | |         })
[INFO] [stdout] 164 | |         .collect::<Vec<_>>();
[INFO] [stdout]     | |____________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let _ = matrix
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `AOC2023` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `aoc2023`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `PRIORITY_MAP` should have a snake case name
[INFO] [stdout]   --> src/day7/main.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let PRIORITY_MAP: HashMap<char, usize> = HashMap::from([
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `priority_map`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `RED` should have a snake case name
[INFO] [stdout]   --> src/day2/main.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let RED = 12;
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case: `red`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `GREEN` should have a snake case name
[INFO] [stdout]   --> src/day2/main.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let GREEN = 13;
[INFO] [stdout]    |         ^^^^^ help: convert the identifier to snake case: `green`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `BLUE` should have a snake case name
[INFO] [stdout]   --> src/day2/main.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let BLUE = 14;
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `blue`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `PRIORITY_MAP` should have a snake case name
[INFO] [stdout]   --> src/day7/main.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let PRIORITY_MAP: HashMap<char, usize> = HashMap::from([
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `priority_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `btree_map::Entry`, `hash::Hash`, `sync::Arc`
[INFO] [stdout]  --> src/day8/main.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 |     collections::{btree_map::Entry, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     hash::Hash,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 5 |     sync::Arc,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `binary_heap`
[INFO] [stdout]  --> src/day5/main.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 |     collections::{binary_heap, BTreeSet, BinaryHeap},
[INFO] [stdout]   |                   ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/day5/main.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |     for (seed) in seeds.iter() {
[INFO] [stdout]     |         ^    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 143 -     for (seed) in seeds.iter() {
[INFO] [stdout] 143 +     for seed in seeds.iter() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/day5/main.rs:173:14
[INFO] [stdout]     |
[INFO] [stdout] 173 |         for (idx, map) in maps.iter().enumerate() {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `State` should have a snake case name
[INFO] [stdout]   --> src/day5/main.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let mut State: Option<State> = None;
[INFO] [stdout]    |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `state`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `collect` that must be used
[INFO] [stdout]    --> src/day5/main.rs:78:5
[INFO] [stdout]     |
[INFO] [stdout] 78  | /     input
[INFO] [stdout] 79  | |         .lines()
[INFO] [stdout] 80  | |         .map(|mut line| {
[INFO] [stdout] 81  | |             line = line.trim();
[INFO] [stdout] ...   |
[INFO] [stdout] 138 | |         })
[INFO] [stdout] 139 | |         .collect::<Vec<_>>();
[INFO] [stdout]     | |____________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 78  |     let _ = input
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `steps` is never read
[INFO] [stdout]    --> src/day8/main.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     steps = 0;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::str::<impl str>::trim` that must be used
[INFO] [stdout]    --> src/day5/main.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 |     line.strip_prefix("seeds:").unwrap().trim();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this returns the trimmed string as a slice, without modifying the original
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let _ = line.strip_prefix("seeds:").unwrap().trim();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_end` is never used
[INFO] [stdout]  --> src/day8/main.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn is_end(input: &Vec<&str>) -> bool {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_steps_part1` is never used
[INFO] [stdout]   --> src/day8/main.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn compute_steps_part1<'a>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 2.54s
[INFO] running `Command { std: "docker" "inspect" "c6a8c1e48e014240b8a54d77972c00c9315904be27e304682fe9eedffe69752d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c6a8c1e48e014240b8a54d77972c00c9315904be27e304682fe9eedffe69752d", kill_on_drop: false }`
[INFO] [stdout] c6a8c1e48e014240b8a54d77972c00c9315904be27e304682fe9eedffe69752d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 847c54e26d35ee431d6f9503a08a4613a5940399b6d4ef6d312d752a41fe7ae9
[INFO] running `Command { std: "docker" "start" "-a" "847c54e26d35ee431d6f9503a08a4613a5940399b6d4ef6d312d752a41fe7ae9", kill_on_drop: false }`
[INFO] [stderr] warning: crate `AOC2023` should have a snake case name
[INFO] [stderr]   |
[INFO] [stderr]   = help: convert the identifier to snake case: `aoc2023`
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `AOC2023` (bin "AOC2023" test) generated 1 warning
[INFO] [stderr] warning: unused import: `hash_map`
[INFO] [stderr]  --> src/day7/main.rs:4:19
[INFO] [stderr]   |
[INFO] [stderr] 4 |     collections::{hash_map, HashMap},
[INFO] [stderr]   |                   ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/day7/main.rs:129:16
[INFO] [stderr]     |
[INFO] [stderr] 129 |             if (triples.1 == 'J' || pairs[0] == 'J') {
[INFO] [stderr]     |                ^                                   ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 129 -             if (triples.1 == 'J' || pairs[0] == 'J') {
[INFO] [stderr] 129 +             if triples.1 == 'J' || pairs[0] == 'J' {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variable `PRIORITY_MAP` should have a snake case name
[INFO] [stderr]   --> src/day7/main.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 28 |     let PRIORITY_MAP: HashMap<char, usize> = HashMap::from([
[INFO] [stderr]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `priority_map`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `PRIORITY_MAP` should have a snake case name
[INFO] [stderr]   --> src/day7/main.rs:56:9
[INFO] [stderr]    |
[INFO] [stderr] 56 |     let PRIORITY_MAP: HashMap<char, usize> = HashMap::from([
[INFO] [stderr]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `priority_map`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `core::panic`
[INFO] [stderr]  --> src/day2/main.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use core::panic;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `str::from_utf8`
[INFO] [stderr]  --> src/day2/main.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 |     str::from_utf8,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `game` should have an upper camel case name
[INFO] [stderr]   --> src/day2/main.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | struct game {
[INFO] [stderr]    |        ^^^^ help: convert the identifier to upper camel case: `Game`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `info`
[INFO] [stderr]   --> src/day2/main.rs:37:21
[INFO] [stderr]    |
[INFO] [stderr] 37 |                 let info = data
[INFO] [stderr]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `RED` should have a snake case name
[INFO] [stderr]   --> src/day2/main.rs:20:9
[INFO] [stderr]    |
[INFO] [stderr] 20 |     let RED = 12;
[INFO] [stderr]    |         ^^^ help: convert the identifier to snake case: `red`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `GREEN` should have a snake case name
[INFO] [stderr]   --> src/day2/main.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |     let GREEN = 13;
[INFO] [stderr]    |         ^^^^^ help: convert the identifier to snake case: `green`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `BLUE` should have a snake case name
[INFO] [stderr]   --> src/day2/main.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 22 |     let BLUE = 14;
[INFO] [stderr]    |         ^^^^ help: convert the identifier to snake case: `blue`
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `btree_map::Entry`, `hash::Hash`, `sync::Arc`
[INFO] [stderr]  --> src/day8/main.rs:3:19
[INFO] [stderr]   |
[INFO] [stderr] 3 |     collections::{btree_map::Entry, HashMap},
[INFO] [stderr]   |                   ^^^^^^^^^^^^^^^^
[INFO] [stderr] 4 |     hash::Hash,
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 5 |     sync::Arc,
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `steps` is never read
[INFO] [stderr]    --> src/day8/main.rs:111:5
[INFO] [stderr]     |
[INFO] [stderr] 111 |     steps = 0;
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_end` is never used
[INFO] [stderr]  --> src/day8/main.rs:8:4
[INFO] [stderr]   |
[INFO] [stderr] 8 | fn is_end(input: &Vec<&str>) -> bool {
[INFO] [stderr]   |    ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `compute_steps_part1` is never used
[INFO] [stderr]   --> src/day8/main.rs:17:4
[INFO] [stderr]    |
[INFO] [stderr] 17 | fn compute_steps_part1<'a>(
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stdout] running 0 tests
[INFO] [stderr] warning: unused import: `core::panic`
[INFO] [stdout] 
[INFO] [stderr]  --> src/day1/main.rs:1:5
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]   |
[INFO] [stdout] 
[INFO] [stderr] 1 | use core::panic;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `str::from_utf8`
[INFO] [stderr]  --> src/day1/main.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 |     str::from_utf8,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/day1/main.rs:24:15
[INFO] [stderr]    |
[INFO] [stderr] 24 | fn subst_word(mut line: String) -> String {
[INFO] [stderr]    |               ----^^^^
[INFO] [stderr]    |               |
[INFO] [stderr]    |               help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `core::num`
[INFO] [stderr]  --> src/day3/main.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use core::num;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]  --> src/day3/main.rs:4:9
[INFO] [stderr]   |
[INFO] [stderr] 4 |     let mut graph = input
[INFO] [stderr]   |         ----^^^^^
[INFO] [stderr]   |         |
[INFO] [stderr]   |         help: remove this `mut`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `m`
[INFO] [stderr]    --> src/day3/main.rs:115:9
[INFO] [stderr]     |
[INFO] [stderr] 115 |     let m = matrix.len();
[INFO] [stderr]     |         ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `collect` that must be used
[INFO] [stderr]    --> src/day3/main.rs:142:5
[INFO] [stderr]     |
[INFO] [stderr] 142 | /     matrix
[INFO] [stderr] 143 | |         .iter()
[INFO] [stderr] 144 | |         .map(|line| {
[INFO] [stderr] 145 | |             let mut num: Option<i32> = None;
[INFO] [stderr] ...   |
[INFO] [stderr] 163 | |         })
[INFO] [stderr] 164 | |         .collect::<Vec<_>>();
[INFO] [stderr]     | |____________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 142 |     let _ = matrix
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `binary_heap`
[INFO] [stderr]  --> src/day5/main.rs:3:19
[INFO] [stderr]   |
[INFO] [stderr] 3 |     collections::{binary_heap, BTreeSet, BinaryHeap},
[INFO] [stderr]   |                   ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]    --> src/day5/main.rs:143:9
[INFO] [stderr]     |
[INFO] [stderr] 143 |     for (seed) in seeds.iter() {
[INFO] [stderr]     |         ^    ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 143 -     for (seed) in seeds.iter() {
[INFO] [stderr] 143 +     for seed in seeds.iter() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `idx`
[INFO] [stderr]    --> src/day5/main.rs:173:14
[INFO] [stderr]     |
[INFO] [stderr] 173 |         for (idx, map) in maps.iter().enumerate() {
[INFO] [stderr]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `State` should have a snake case name
[INFO] [stderr]   --> src/day5/main.rs:76:13
[INFO] [stderr]    |
[INFO] [stderr] 76 |     let mut State: Option<State> = None;
[INFO] [stderr]    |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `state`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `collect` that must be used
[INFO] [stderr]    --> src/day5/main.rs:78:5
[INFO] [stderr]     |
[INFO] [stderr] 78  | /     input
[INFO] [stderr] 79  | |         .lines()
[INFO] [stderr] 80  | |         .map(|mut line| {
[INFO] [stderr] 81  | |             line = line.trim();
[INFO] [stderr] ...   |
[INFO] [stderr] 138 | |         })
[INFO] [stderr] 139 | |         .collect::<Vec<_>>();
[INFO] [stderr]     | |____________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 78  |     let _ = input
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::str::<impl str>::trim` that must be used
[INFO] [stderr]    --> src/day5/main.rs:160:5
[INFO] [stderr]     |
[INFO] [stderr] 160 |     line.strip_prefix("seeds:").unwrap().trim();
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this returns the trimmed string as a slice, without modifying the original
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 160 |     let _ = line.strip_prefix("seeds:").unwrap().trim();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `AOC2023` (bin "day7" test) generated 4 warnings (run `cargo fix --bin "day7" --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `AOC2023` (bin "day2" test) generated 7 warnings (run `cargo fix --bin "day2" --tests` to apply 3 suggestions)
[INFO] [stderr] warning: `AOC2023` (bin "day8" test) generated 4 warnings (run `cargo fix --bin "day8" --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `AOC2023` (bin "day1" test) generated 3 warnings (run `cargo fix --bin "day1" --tests` to apply 3 suggestions)
[INFO] [stderr] warning: `AOC2023` (bin "day3" test) generated 4 warnings (run `cargo fix --bin "day3" --tests` to apply 3 suggestions)
[INFO] [stderr] warning: `AOC2023` (bin "day5" test) generated 6 warnings (run `cargo fix --bin "day5" --tests` to apply 3 suggestions)
[INFO] [stderr] warning: unused import: `std::f64::EPSILON`
[INFO] [stderr]  --> src/day6/main.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::f64::EPSILON;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `AOC2023` (bin "day6" test) generated 1 warning (run `cargo fix --bin "day6" --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/AOC2023-cca4284621f6f397)
[INFO] [stderr]      Running unittests src/day1/main.rs (/opt/rustwide/target/debug/deps/day1-8df91dd31ddea56a)
[INFO] [stderr]      Running unittests src/day10/main.rs (/opt/rustwide/target/debug/deps/day10-fbf800b52b16e04f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/day2/main.rs (/opt/rustwide/target/debug/deps/day2-25da8b437e90fa6f)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/day3/main.rs (/opt/rustwide/target/debug/deps/day3-8fb9c742abbeb9c9)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/day4/main.rs (/opt/rustwide/target/debug/deps/day4-443eb056af84530d)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/day5/main.rs (/opt/rustwide/target/debug/deps/day5-8deb489b9297d9f1)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/day6/main.rs (/opt/rustwide/target/debug/deps/day6-34f7d854e02adc70)
[INFO] [stderr]      Running unittests src/day7/main.rs (/opt/rustwide/target/debug/deps/day7-d857baedde9e1981)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/day8/main.rs (/opt/rustwide/target/debug/deps/day8-5d73437483aef5f4)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/day9/main.rs (/opt/rustwide/target/debug/deps/day9-451131e1d76f56bb)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "847c54e26d35ee431d6f9503a08a4613a5940399b6d4ef6d312d752a41fe7ae9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "847c54e26d35ee431d6f9503a08a4613a5940399b6d4ef6d312d752a41fe7ae9", kill_on_drop: false }`
[INFO] [stdout] 847c54e26d35ee431d6f9503a08a4613a5940399b6d4ef6d312d752a41fe7ae9
