[INFO] cloning repository https://github.com/booooh/aoc2021
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/booooh/aoc2021" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbooooh%2Faoc2021", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbooooh%2Faoc2021'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 05ccc9ccce50de7aad2f5446d19f0405f2488136
[INFO] testing booooh/aoc2021 against 1.75.0 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbooooh%2Faoc2021" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/booooh/aoc2021 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/booooh/aoc2021
[INFO] finished tweaking git repo https://github.com/booooh/aoc2021
[INFO] tweaked toml for git repo https://github.com/booooh/aoc2021 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/booooh/aoc2021 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 booooh/aoc2021 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%2Fbooooh%2Faoc2021" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/booooh/aoc2021 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/booooh/aoc2021
[INFO] finished tweaking git repo https://github.com/booooh/aoc2021
[INFO] tweaked toml for git repo https://github.com/booooh/aoc2021 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/booooh/aoc2021 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-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 01939916fb26b3a4de115b6f80feb9116d7af9c24aa7f374a2788bc8c0cc4df3
[INFO] running `Command { std: "docker" "start" "-a" "01939916fb26b3a4de115b6f80feb9116d7af9c24aa7f374a2788bc8c0cc4df3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "01939916fb26b3a4de115b6f80feb9116d7af9c24aa7f374a2788bc8c0cc4df3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "01939916fb26b3a4de115b6f80feb9116d7af9c24aa7f374a2788bc8c0cc4df3", kill_on_drop: false }`
[INFO] [stdout] 01939916fb26b3a4de115b6f80feb9116d7af9c24aa7f374a2788bc8c0cc4df3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 3251047e47bdc660a2e3a93d694b8a2ee3fdb28d93ceae4693d869f09bc64004
[INFO] running `Command { std: "docker" "start" "-a" "3251047e47bdc660a2e3a93d694b8a2ee3fdb28d93ceae4693d869f09bc64004", kill_on_drop: false }`
[INFO] [stderr]    Compiling aoc2021 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/day10.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, VecDeque},
[INFO] [stdout]   |                            ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `HashSet`
[INFO] [stdout]  --> src/day11.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet, VecDeque},
[INFO] [stdout]   |                   ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `VecDeque`, `fmt::Display`, `thread::current`
[INFO] [stdout]  --> src/day12.rs:2:37
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet, VecDeque},
[INFO] [stdout]   |                                     ^^^^^^^^
[INFO] [stdout] 3 |     fmt::Display,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 |     thread::current,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `Lines`, `ops::Add`, `thread::current`
[INFO] [stdout]  --> src/day13.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet, VecDeque},
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5 |     io::{self, BufRead, BufReader, Lines, Read},
[INFO] [stdout]   |                                    ^^^^^
[INFO] [stdout] 6 |     num::ParseIntError,
[INFO] [stdout] 7 |     ops::Add,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 8 |     path::Path,
[INFO] [stdout] 9 |     thread::current,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/day7.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::HashMap,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/day9.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, VecDeque},
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `day3::day3part1`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use day3::day3part1;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `day10part1`, `day10part2`
[INFO] [stdout]   --> src/main.rs:18:20
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::day10::{day10part1, day10part2};
[INFO] [stdout]    |                    ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `day11part1`, `day11part2`
[INFO] [stdout]   --> src/main.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::day11::{day11part1, day11part2};
[INFO] [stdout]    |                    ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `day12part1`, `day12part2`
[INFO] [stdout]   --> src/main.rs:20:20
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::day12::{day12part1, day12part2};
[INFO] [stdout]    |                    ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::day3::day3part2`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::day3::day3part2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `day4part1`, `day4part2`
[INFO] [stdout]   --> src/main.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::day4::{day4part1, day4part2};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::day5::day5part1`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::day5::day5part1;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `day6part1`, `day6part2`
[INFO] [stdout]   --> src/main.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::day6::{day6part1, day6part2};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `day7part1`, `day7part2`
[INFO] [stdout]   --> src/main.rs:26:19
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::day7::{day7part1, day7part2};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `day8part1`, `day8part2`
[INFO] [stdout]   --> src/main.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::day8::{day8part1, day8part2};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `day9part1`, `day9part2`
[INFO] [stdout]   --> src/main.rs:28:19
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::day9::{day9part1, day9part2};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `completion_stack`
[INFO] [stdout]   --> src/day10.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let completion_stack = Vec::<char>::new();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_completion_stack`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day10.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let mut lines = read_lines("input10.t").unwrap();
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/day10.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut lines = read_lines("input10.t").unwrap();
[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/day11.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let mut lines = read_lines("input11.t").unwrap();
[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/day11.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let mut lines = read_lines("input11.t").unwrap();
[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/day12.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let mut pair = s.split('-').collect::<Vec<&str>>();
[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/day12.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let mut lines = read_lines("input12.t").unwrap();
[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/day12.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let mut lines = read_lines("input12.t").unwrap();
[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/day13.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut pair = s.split(',').collect::<Vec<&str>>();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/day13.rs:78:47
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let max_x = self.dots.iter().map(|(x, y)| x).max().unwrap();
[INFO] [stdout]    |                                               ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/day13.rs:79:44
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let max_y = self.dots.iter().map(|(x, y)| y).max().unwrap();
[INFO] [stdout]    |                                            ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/day4.rs:65:23
[INFO] [stdout]    |
[INFO] [stdout] 65 |             .filter(|(val, mark)| *mark == false)
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mark`
[INFO] [stdout]   --> src/day4.rs:66:25
[INFO] [stdout]    |
[INFO] [stdout] 66 |             .map(|(val, mark)| *val as usize)
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_mark`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day6.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let mut fish = parse_numbers(&lines.next().unwrap().unwrap());
[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/day7.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut locations = parse_numbers(&lines.next().unwrap().unwrap());
[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/day8.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |     let mut lines = read_lines("input8.t").unwrap();
[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/day8.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |     let mut lines = read_lines("input8.t").unwrap();
[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/day8.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |     let mut input: Vec<_> = lines
[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/day9.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let mut lines = read_lines("input9.t").unwrap();
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]   --> src/main.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn read_lines<P>(filename: P) -> io::Result<io::Lines<io::BufReader<File>>>
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day1part1` is never used
[INFO] [stdout]   --> src/main.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn day1part1() -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day1part2` is never used
[INFO] [stdout]   --> src/main.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn day1part2() -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day2part2` is never used
[INFO] [stdout]    --> src/main.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn day2part2() -> Location {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]    --> src/main.rs:118:6
[INFO] [stdout]     |
[INFO] [stdout] 118 | enum Direction {
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Command` is never constructed
[INFO] [stdout]    --> src/main.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | struct Command {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `horizontal`, `depth`, and `aim` are never read
[INFO] [stdout]    --> src/main.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 130 | struct Location {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 131 |     horizontal: i32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 132 |     depth: i32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 133 |     aim: i32,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Location` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `process_command` is never used
[INFO] [stdout]    --> src/main.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl Location {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 137 |     fn process_command(mut self, command: &Command) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_command` is never used
[INFO] [stdout]    --> src/main.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn parse_command(s: String) -> Result<Command, ()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]  --> src/day10.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_open_char` is never used
[INFO] [stdout]   --> src/day10.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn is_open_char(c: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `matching_char` is never used
[INFO] [stdout]   --> src/day10.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn matching_char(c: char) -> char {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_corrupt` is never used
[INFO] [stdout]   --> src/day10.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn is_corrupt(line: &str) -> Option<char> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `completion` is never used
[INFO] [stdout]   --> src/day10.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn completion(line: &str) -> Vec<char> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `completion_score` is never used
[INFO] [stdout]   --> src/day10.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn completion_score(completion_stack: Vec<char>, score_map: &HashMap<char, usize>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day10part1` is never used
[INFO] [stdout]   --> src/day10.rs:79:15
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub(crate) fn day10part1() -> i32 {
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day10part2` is never used
[INFO] [stdout]   --> src/day10.rs:99:15
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub(crate) fn day10part2() -> usize {
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_numbers` is never used
[INFO] [stdout]  --> src/day11.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn parse_numbers(s: &str) -> Vec<i32> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]   --> src/day11.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLASH_LEVEL` is never used
[INFO] [stdout]   --> src/day11.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const FLASH_LEVEL: i32 = 9;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `num_flashes` and `flashed_this_step` are never read
[INFO] [stdout]   --> src/day11.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct Octopus {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 25 |     energy_level: i32,
[INFO] [stdout] 26 |     num_flashes: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 27 |     flashed_this_step: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Octopus` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `increase_energy` and `step` are never used
[INFO] [stdout]   --> src/day11.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Octopus {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 31 |     fn increase_energy(&mut self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn step(&mut self) -> bool {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `step` and `get_neighbors` are never used
[INFO] [stdout]   --> src/day11.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl OctopusGarden {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 73 |     fn step(&mut self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     fn get_neighbors(&self, idx: usize) -> Vec<usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day11part1` is never used
[INFO] [stdout]    --> src/day11.rs:142:15
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub(crate) fn day11part1() -> usize {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day11part2` is never used
[INFO] [stdout]    --> src/day11.rs:166:15
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub(crate) fn day11part2() -> usize {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_line` is never used
[INFO] [stdout]   --> src/day12.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn parse_line(s: &str) -> (String, String) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]   --> src/day12.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nodes` and `edges` are never read
[INFO] [stdout]   --> src/day12.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct Graph {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 25 |     nodes: HashSet<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 26 |     edges: HashMap<String, Vec<String>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Graph` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_lines` and `all_paths` are never used
[INFO] [stdout]   --> src/day12.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Graph {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 30 |     fn from_lines(lines: Lines<BufReader<File>>) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     fn all_paths(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day12part1` is never used
[INFO] [stdout]    --> src/day12.rs:126:15
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub(crate) fn day12part1() -> usize {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day12part2` is never used
[INFO] [stdout]    --> src/day12.rs:137:15
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub(crate) fn day12part2() -> usize {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]  --> src/day3.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn read_lines<P>(filename: P) -> io::Result<io::Lines<io::BufReader<File>>>
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BitCriteria` is never used
[INFO] [stdout]   --> src/day3.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum BitCriteria {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiagnosticReport` is never constructed
[INFO] [stdout]   --> src/day3.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct DiagnosticReport {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/day3.rs:25:8
[INFO] [stdout]     |
[INFO] [stdout] 24  | impl DiagnosticReport {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] 25  |     fn num_bits(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28  |     fn bit_values(&self, bit_index: usize) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35  |     fn most_common_bit(&self, bit_index: usize) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48  |     fn least_common_bit(&self, bit_index: usize) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57  |     fn gamma(&self) -> usize {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64  |     fn epsilon(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94  |     fn filter_bit_criteria(&self, bit_index: usize, criteria: BitCriteria) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn co2_scrubber_rating(&self) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     fn oxygen_generator_rating(&self) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day3part2` is never used
[INFO] [stdout]    --> src/day3.rs:140:15
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub(crate) fn day3part2() -> (usize, usize) {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `filter_by_bit` is never used
[INFO] [stdout]    --> src/day3.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn filter_by_bit(report: &DiagnosticReport, bit_index: usize, bit_value: u8) -> DiagnosticReport {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day3part1` is never used
[INFO] [stdout]    --> src/day3.rs:164:15
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub(crate) fn day3part1() -> (usize, usize) {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_status_bits` is never used
[INFO] [stdout]    --> src/day3.rs:171:4
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn parse_status_bits(s: String) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_vector_to_number` is never used
[INFO] [stdout]    --> src/day3.rs:175:4
[INFO] [stdout]     |
[INFO] [stdout] 175 | fn bit_vector_to_number(bit_vector: &Vec<u8>) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]  --> src/day4.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day4part1` is never used
[INFO] [stdout]   --> src/day4.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) fn day4part1() -> (usize, usize) {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day4part2` is never used
[INFO] [stdout]   --> src/day4.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) fn day4part2() -> (usize, usize) {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOARD_SIZE` is never used
[INFO] [stdout]   --> src/day4.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const BOARD_SIZE: usize = 5;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BingoCard` is never constructed
[INFO] [stdout]   --> src/day4.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct BingoCard {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BingoGame` is never constructed
[INFO] [stdout]   --> src/day4.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct BingoGame {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_lines`, `mark`, `score`, and `has_won` are never used
[INFO] [stdout]   --> src/day4.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl BingoCard {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 39 |     fn from_lines(lines: &mut Lines<BufReader<File>>) -> Option<Self> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn mark(&mut self, number: u8) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     fn score(&self) -> usize {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     fn has_won(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_lines`, `play`, and `play_to_lose` are never used
[INFO] [stdout]    --> src/day4.rs:99:8
[INFO] [stdout]     |
[INFO] [stdout] 98  | impl BingoGame {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 99  |     fn from_lines(lines: &mut Lines<BufReader<File>>) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     fn play(&mut self) -> (usize, usize) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     fn play_to_lose(&mut self) -> (usize, usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_numbers` is never used
[INFO] [stdout]    --> src/day4.rs:141:4
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn parse_numbers(s: String) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]  --> src/day5.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_string` is never used
[INFO] [stdout]   --> src/day5.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl VentLine {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 22 |     fn from_string(s: &str) -> Option<Self> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AllVents` is never constructed
[INFO] [stdout]   --> src/day5.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct AllVents {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse_vent_lines` and `all_points_count` are never used
[INFO] [stdout]   --> src/day5.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl AllVents {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 84 |     fn parse_vent_lines(mut lines: Lines<BufReader<File>>) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     fn all_points_count(&self) -> HashMap<(isize, isize), i32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day5part1` is never used
[INFO] [stdout]    --> src/day5.rs:107:15
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub(crate) fn day5part1() -> usize {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_numbers` is never used
[INFO] [stdout]    --> src/day5.rs:115:4
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn parse_numbers(s: &str) -> Vec<isize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_numbers` is never used
[INFO] [stdout]  --> src/day6.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn parse_numbers(s: &str) -> Vec<i32> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]   --> src/day6.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LanternFish` is never constructed
[INFO] [stdout]   --> src/day6.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct LanternFish {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `next_state` is never used
[INFO] [stdout]   --> src/day6.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl LanternFish {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 29 |     fn next_state(&self) -> Vec<LanternFish> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_day` is never used
[INFO] [stdout]   --> src/day6.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn next_day(school: Vec<LanternFish>) -> Vec<LanternFish> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `by_day` is never used
[INFO] [stdout]   --> src/day6.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn by_day(count: i32) -> HashMap<i32, usize> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day6part1` is never used
[INFO] [stdout]   --> src/day6.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub(crate) fn day6part1() -> usize {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day6part2` is never used
[INFO] [stdout]   --> src/day6.rs:80:15
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub(crate) fn day6part2() -> usize {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_numbers` is never used
[INFO] [stdout]  --> src/day7.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn parse_numbers(s: &str) -> Vec<isize> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]   --> src/day7.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day7part1` is never used
[INFO] [stdout]   --> src/day7.rs:24:15
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) fn day7part1() -> isize {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cost_day_2` is never used
[INFO] [stdout]   --> src/day7.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn cost_day_2(location: isize, dest: isize) -> isize {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day7part2` is never used
[INFO] [stdout]   --> src/day7.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub(crate) fn day7part2() -> isize {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_digits` is never used
[INFO] [stdout]  --> src/day8.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn parse_digits(s: String) -> Vec<String> {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]   --> src/day8.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Entry` is never constructed
[INFO] [stdout]   --> src/day8.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct Entry {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sorted_pattern` is never used
[INFO] [stdout]   --> src/day8.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn sorted_pattern(pattern: &String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `found_pattern`, `from_strings`, and `get_output_number` are never used
[INFO] [stdout]    --> src/day8.rs:38:8
[INFO] [stdout]     |
[INFO] [stdout] 37  | impl Entry {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 38  |     fn found_pattern(&mut self, pattern: &String, num: i32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43  |     fn from_strings(line: Vec<String>) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     fn get_output_number(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_pattern` is never used
[INFO] [stdout]    --> src/day8.rs:134:4
[INFO] [stdout]     |
[INFO] [stdout] 134 | fn match_pattern(pattern: &String) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day8part1` is never used
[INFO] [stdout]    --> src/day8.rs:176:15
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub(crate) fn day8part1() -> usize {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day8part2` is never used
[INFO] [stdout]    --> src/day8.rs:187:15
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub(crate) fn day8part2() -> i32 {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_numbers` is never used
[INFO] [stdout]  --> src/day9.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn parse_numbers(s: &str) -> Vec<i32> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]   --> src/day9.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIZE` is never used
[INFO] [stdout]   --> src/day9.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const SIZE: usize = 100;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HeightMap` is never constructed
[INFO] [stdout]   --> src/day9.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct HeightMap {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `idx` and `height` are never read
[INFO] [stdout]   --> src/day9.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct Location {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 27 |     idx: usize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 28 |     height: i32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Location` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_low_point` is never used
[INFO] [stdout]   --> src/day9.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Location {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 32 |     fn is_low_point(&self, others: Vec<Location>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_lines`, `get_neighbors`, `mark_basins`, and `mark_neighbors_in_basin` are never used
[INFO] [stdout]    --> src/day9.rs:38:8
[INFO] [stdout]     |
[INFO] [stdout] 37  | impl HeightMap {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 38  |     fn from_lines(lines: Lines<BufReader<File>>) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46  |     fn get_neighbors(&self, idx: usize) -> Vec<Location> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82  |     fn mark_basins(&mut self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn mark_neighbors_in_basin(&mut self, idx: usize, basin_num: i32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day9part1` is never used
[INFO] [stdout]    --> src/day9.rs:123:15
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub(crate) fn day9part1() -> usize {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day9part2` is never used
[INFO] [stdout]    --> src/day9.rs:140:15
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub(crate) fn day9part2() -> usize {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 121 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.88s
[INFO] running `Command { std: "docker" "inspect" "3251047e47bdc660a2e3a93d694b8a2ee3fdb28d93ceae4693d869f09bc64004", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3251047e47bdc660a2e3a93d694b8a2ee3fdb28d93ceae4693d869f09bc64004", kill_on_drop: false }`
[INFO] [stdout] 3251047e47bdc660a2e3a93d694b8a2ee3fdb28d93ceae4693d869f09bc64004
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] a38fc287a271d881b3c780e214cc6e7f0d1706d394403f64cdfaaaaf5be32af4
[INFO] running `Command { std: "docker" "start" "-a" "a38fc287a271d881b3c780e214cc6e7f0d1706d394403f64cdfaaaaf5be32af4", kill_on_drop: false }`
[INFO] [stderr]    Compiling aoc2021 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/day10.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, VecDeque},
[INFO] [stdout]   |                            ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `HashSet`
[INFO] [stdout]  --> src/day11.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet, VecDeque},
[INFO] [stdout]   |                   ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `VecDeque`, `fmt::Display`, `thread::current`
[INFO] [stdout]  --> src/day12.rs:2:37
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet, VecDeque},
[INFO] [stdout]   |                                     ^^^^^^^^
[INFO] [stdout] 3 |     fmt::Display,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 |     thread::current,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `Lines`, `ops::Add`, `thread::current`
[INFO] [stdout]  --> src/day13.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet, VecDeque},
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5 |     io::{self, BufRead, BufReader, Lines, Read},
[INFO] [stdout]   |                                    ^^^^^
[INFO] [stdout] 6 |     num::ParseIntError,
[INFO] [stdout] 7 |     ops::Add,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 8 |     path::Path,
[INFO] [stdout] 9 |     thread::current,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/day7.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::HashMap,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/day9.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, VecDeque},
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `day3::day3part1`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use day3::day3part1;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `day10part1`, `day10part2`
[INFO] [stdout]   --> src/main.rs:18:20
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::day10::{day10part1, day10part2};
[INFO] [stdout]    |                    ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `day11part1`, `day11part2`
[INFO] [stdout]   --> src/main.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::day11::{day11part1, day11part2};
[INFO] [stdout]    |                    ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `day12part1`, `day12part2`
[INFO] [stdout]   --> src/main.rs:20:20
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::day12::{day12part1, day12part2};
[INFO] [stdout]    |                    ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::day3::day3part2`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::day3::day3part2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `day4part1`, `day4part2`
[INFO] [stdout]   --> src/main.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::day4::{day4part1, day4part2};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::day5::day5part1`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::day5::day5part1;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `day6part1`, `day6part2`
[INFO] [stdout]   --> src/main.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::day6::{day6part1, day6part2};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `day7part1`, `day7part2`
[INFO] [stdout]   --> src/main.rs:26:19
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::day7::{day7part1, day7part2};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `day8part1`, `day8part2`
[INFO] [stdout]   --> src/main.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::day8::{day8part1, day8part2};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `day9part1`, `day9part2`
[INFO] [stdout]   --> src/main.rs:28:19
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::day9::{day9part1, day9part2};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `completion_stack`
[INFO] [stdout]   --> src/day10.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let completion_stack = Vec::<char>::new();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_completion_stack`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day10.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let mut lines = read_lines("input10.t").unwrap();
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/day10.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut lines = read_lines("input10.t").unwrap();
[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/day11.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let mut lines = read_lines("input11.t").unwrap();
[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/day11.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let mut lines = read_lines("input11.t").unwrap();
[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/day12.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let mut pair = s.split('-').collect::<Vec<&str>>();
[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/day12.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let mut lines = read_lines("input12.t").unwrap();
[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/day12.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let mut lines = read_lines("input12.t").unwrap();
[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/day13.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut pair = s.split(',').collect::<Vec<&str>>();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/day13.rs:78:47
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let max_x = self.dots.iter().map(|(x, y)| x).max().unwrap();
[INFO] [stdout]    |                                               ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/day13.rs:79:44
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let max_y = self.dots.iter().map(|(x, y)| y).max().unwrap();
[INFO] [stdout]    |                                            ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/day4.rs:65:23
[INFO] [stdout]    |
[INFO] [stdout] 65 |             .filter(|(val, mark)| *mark == false)
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mark`
[INFO] [stdout]   --> src/day4.rs:66:25
[INFO] [stdout]    |
[INFO] [stdout] 66 |             .map(|(val, mark)| *val as usize)
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_mark`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day6.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let mut fish = parse_numbers(&lines.next().unwrap().unwrap());
[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/day7.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut locations = parse_numbers(&lines.next().unwrap().unwrap());
[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/day8.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |     let mut lines = read_lines("input8.t").unwrap();
[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/day8.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |     let mut lines = read_lines("input8.t").unwrap();
[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/day8.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |     let mut input: Vec<_> = lines
[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/day9.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let mut lines = read_lines("input9.t").unwrap();
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]   --> src/main.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn read_lines<P>(filename: P) -> io::Result<io::Lines<io::BufReader<File>>>
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day1part1` is never used
[INFO] [stdout]   --> src/main.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn day1part1() -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day1part2` is never used
[INFO] [stdout]   --> src/main.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn day1part2() -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day2part2` is never used
[INFO] [stdout]    --> src/main.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn day2part2() -> Location {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]    --> src/main.rs:118:6
[INFO] [stdout]     |
[INFO] [stdout] 118 | enum Direction {
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Command` is never constructed
[INFO] [stdout]    --> src/main.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | struct Command {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `horizontal`, `depth`, and `aim` are never read
[INFO] [stdout]    --> src/main.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 130 | struct Location {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 131 |     horizontal: i32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 132 |     depth: i32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 133 |     aim: i32,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Location` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `process_command` is never used
[INFO] [stdout]    --> src/main.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl Location {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 137 |     fn process_command(mut self, command: &Command) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_command` is never used
[INFO] [stdout]    --> src/main.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn parse_command(s: String) -> Result<Command, ()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]  --> src/day10.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_open_char` is never used
[INFO] [stdout]   --> src/day10.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn is_open_char(c: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `matching_char` is never used
[INFO] [stdout]   --> src/day10.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn matching_char(c: char) -> char {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_corrupt` is never used
[INFO] [stdout]   --> src/day10.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn is_corrupt(line: &str) -> Option<char> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `completion` is never used
[INFO] [stdout]   --> src/day10.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn completion(line: &str) -> Vec<char> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `completion_score` is never used
[INFO] [stdout]   --> src/day10.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn completion_score(completion_stack: Vec<char>, score_map: &HashMap<char, usize>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day10part1` is never used
[INFO] [stdout]   --> src/day10.rs:79:15
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub(crate) fn day10part1() -> i32 {
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day10part2` is never used
[INFO] [stdout]   --> src/day10.rs:99:15
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub(crate) fn day10part2() -> usize {
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_numbers` is never used
[INFO] [stdout]  --> src/day11.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn parse_numbers(s: &str) -> Vec<i32> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]   --> src/day11.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLASH_LEVEL` is never used
[INFO] [stdout]   --> src/day11.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const FLASH_LEVEL: i32 = 9;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `num_flashes` and `flashed_this_step` are never read
[INFO] [stdout]   --> src/day11.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct Octopus {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 25 |     energy_level: i32,
[INFO] [stdout] 26 |     num_flashes: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 27 |     flashed_this_step: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Octopus` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `increase_energy` and `step` are never used
[INFO] [stdout]   --> src/day11.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Octopus {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 31 |     fn increase_energy(&mut self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn step(&mut self) -> bool {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `step` and `get_neighbors` are never used
[INFO] [stdout]   --> src/day11.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl OctopusGarden {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 73 |     fn step(&mut self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     fn get_neighbors(&self, idx: usize) -> Vec<usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day11part1` is never used
[INFO] [stdout]    --> src/day11.rs:142:15
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub(crate) fn day11part1() -> usize {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day11part2` is never used
[INFO] [stdout]    --> src/day11.rs:166:15
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub(crate) fn day11part2() -> usize {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_line` is never used
[INFO] [stdout]   --> src/day12.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn parse_line(s: &str) -> (String, String) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]   --> src/day12.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nodes` and `edges` are never read
[INFO] [stdout]   --> src/day12.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct Graph {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 25 |     nodes: HashSet<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 26 |     edges: HashMap<String, Vec<String>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Graph` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_lines` and `all_paths` are never used
[INFO] [stdout]   --> src/day12.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Graph {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 30 |     fn from_lines(lines: Lines<BufReader<File>>) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     fn all_paths(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day12part1` is never used
[INFO] [stdout]    --> src/day12.rs:126:15
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub(crate) fn day12part1() -> usize {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day12part2` is never used
[INFO] [stdout]    --> src/day12.rs:137:15
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub(crate) fn day12part2() -> usize {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]  --> src/day3.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn read_lines<P>(filename: P) -> io::Result<io::Lines<io::BufReader<File>>>
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BitCriteria` is never used
[INFO] [stdout]   --> src/day3.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum BitCriteria {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiagnosticReport` is never constructed
[INFO] [stdout]   --> src/day3.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct DiagnosticReport {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/day3.rs:25:8
[INFO] [stdout]     |
[INFO] [stdout] 24  | impl DiagnosticReport {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] 25  |     fn num_bits(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28  |     fn bit_values(&self, bit_index: usize) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35  |     fn most_common_bit(&self, bit_index: usize) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48  |     fn least_common_bit(&self, bit_index: usize) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57  |     fn gamma(&self) -> usize {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64  |     fn epsilon(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94  |     fn filter_bit_criteria(&self, bit_index: usize, criteria: BitCriteria) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn co2_scrubber_rating(&self) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     fn oxygen_generator_rating(&self) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day3part2` is never used
[INFO] [stdout]    --> src/day3.rs:140:15
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub(crate) fn day3part2() -> (usize, usize) {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `filter_by_bit` is never used
[INFO] [stdout]    --> src/day3.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn filter_by_bit(report: &DiagnosticReport, bit_index: usize, bit_value: u8) -> DiagnosticReport {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day3part1` is never used
[INFO] [stdout]    --> src/day3.rs:164:15
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub(crate) fn day3part1() -> (usize, usize) {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_status_bits` is never used
[INFO] [stdout]    --> src/day3.rs:171:4
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn parse_status_bits(s: String) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_vector_to_number` is never used
[INFO] [stdout]    --> src/day3.rs:175:4
[INFO] [stdout]     |
[INFO] [stdout] 175 | fn bit_vector_to_number(bit_vector: &Vec<u8>) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]  --> src/day4.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day4part1` is never used
[INFO] [stdout]   --> src/day4.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) fn day4part1() -> (usize, usize) {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day4part2` is never used
[INFO] [stdout]   --> src/day4.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) fn day4part2() -> (usize, usize) {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOARD_SIZE` is never used
[INFO] [stdout]   --> src/day4.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const BOARD_SIZE: usize = 5;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BingoCard` is never constructed
[INFO] [stdout]   --> src/day4.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct BingoCard {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BingoGame` is never constructed
[INFO] [stdout]   --> src/day4.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct BingoGame {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_lines`, `mark`, `score`, and `has_won` are never used
[INFO] [stdout]   --> src/day4.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl BingoCard {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 39 |     fn from_lines(lines: &mut Lines<BufReader<File>>) -> Option<Self> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn mark(&mut self, number: u8) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     fn score(&self) -> usize {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     fn has_won(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_lines`, `play`, and `play_to_lose` are never used
[INFO] [stdout]    --> src/day4.rs:99:8
[INFO] [stdout]     |
[INFO] [stdout] 98  | impl BingoGame {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 99  |     fn from_lines(lines: &mut Lines<BufReader<File>>) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     fn play(&mut self) -> (usize, usize) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     fn play_to_lose(&mut self) -> (usize, usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_numbers` is never used
[INFO] [stdout]    --> src/day4.rs:141:4
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn parse_numbers(s: String) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]  --> src/day5.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_string` is never used
[INFO] [stdout]   --> src/day5.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl VentLine {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 22 |     fn from_string(s: &str) -> Option<Self> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AllVents` is never constructed
[INFO] [stdout]   --> src/day5.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct AllVents {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse_vent_lines` and `all_points_count` are never used
[INFO] [stdout]   --> src/day5.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl AllVents {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 84 |     fn parse_vent_lines(mut lines: Lines<BufReader<File>>) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     fn all_points_count(&self) -> HashMap<(isize, isize), i32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day5part1` is never used
[INFO] [stdout]    --> src/day5.rs:107:15
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub(crate) fn day5part1() -> usize {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_numbers` is never used
[INFO] [stdout]    --> src/day5.rs:115:4
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn parse_numbers(s: &str) -> Vec<isize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_numbers` is never used
[INFO] [stdout]  --> src/day6.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn parse_numbers(s: &str) -> Vec<i32> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]   --> src/day6.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LanternFish` is never constructed
[INFO] [stdout]   --> src/day6.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct LanternFish {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `next_state` is never used
[INFO] [stdout]   --> src/day6.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl LanternFish {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 29 |     fn next_state(&self) -> Vec<LanternFish> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_day` is never used
[INFO] [stdout]   --> src/day6.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn next_day(school: Vec<LanternFish>) -> Vec<LanternFish> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `by_day` is never used
[INFO] [stdout]   --> src/day6.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn by_day(count: i32) -> HashMap<i32, usize> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day6part1` is never used
[INFO] [stdout]   --> src/day6.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub(crate) fn day6part1() -> usize {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day6part2` is never used
[INFO] [stdout]   --> src/day6.rs:80:15
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub(crate) fn day6part2() -> usize {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_numbers` is never used
[INFO] [stdout]  --> src/day7.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn parse_numbers(s: &str) -> Vec<isize> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]   --> src/day7.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day7part1` is never used
[INFO] [stdout]   --> src/day7.rs:24:15
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) fn day7part1() -> isize {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cost_day_2` is never used
[INFO] [stdout]   --> src/day7.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn cost_day_2(location: isize, dest: isize) -> isize {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day7part2` is never used
[INFO] [stdout]   --> src/day7.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub(crate) fn day7part2() -> isize {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_digits` is never used
[INFO] [stdout]  --> src/day8.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn parse_digits(s: String) -> Vec<String> {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]   --> src/day8.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Entry` is never constructed
[INFO] [stdout]   --> src/day8.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct Entry {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sorted_pattern` is never used
[INFO] [stdout]   --> src/day8.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn sorted_pattern(pattern: &String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `found_pattern`, `from_strings`, and `get_output_number` are never used
[INFO] [stdout]    --> src/day8.rs:38:8
[INFO] [stdout]     |
[INFO] [stdout] 37  | impl Entry {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 38  |     fn found_pattern(&mut self, pattern: &String, num: i32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43  |     fn from_strings(line: Vec<String>) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     fn get_output_number(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_pattern` is never used
[INFO] [stdout]    --> src/day8.rs:134:4
[INFO] [stdout]     |
[INFO] [stdout] 134 | fn match_pattern(pattern: &String) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day8part1` is never used
[INFO] [stdout]    --> src/day8.rs:176:15
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub(crate) fn day8part1() -> usize {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day8part2` is never used
[INFO] [stdout]    --> src/day8.rs:187:15
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub(crate) fn day8part2() -> i32 {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_numbers` is never used
[INFO] [stdout]  --> src/day9.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn parse_numbers(s: &str) -> Vec<i32> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]   --> src/day9.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIZE` is never used
[INFO] [stdout]   --> src/day9.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const SIZE: usize = 100;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HeightMap` is never constructed
[INFO] [stdout]   --> src/day9.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct HeightMap {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `idx` and `height` are never read
[INFO] [stdout]   --> src/day9.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct Location {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 27 |     idx: usize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 28 |     height: i32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Location` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_low_point` is never used
[INFO] [stdout]   --> src/day9.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Location {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 32 |     fn is_low_point(&self, others: Vec<Location>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_lines`, `get_neighbors`, `mark_basins`, and `mark_neighbors_in_basin` are never used
[INFO] [stdout]    --> src/day9.rs:38:8
[INFO] [stdout]     |
[INFO] [stdout] 37  | impl HeightMap {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 38  |     fn from_lines(lines: Lines<BufReader<File>>) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46  |     fn get_neighbors(&self, idx: usize) -> Vec<Location> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82  |     fn mark_basins(&mut self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn mark_neighbors_in_basin(&mut self, idx: usize, basin_num: i32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day9part1` is never used
[INFO] [stdout]    --> src/day9.rs:123:15
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub(crate) fn day9part1() -> usize {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day9part2` is never used
[INFO] [stdout]    --> src/day9.rs:140:15
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub(crate) fn day9part2() -> usize {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 121 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.62s
[INFO] running `Command { std: "docker" "inspect" "a38fc287a271d881b3c780e214cc6e7f0d1706d394403f64cdfaaaaf5be32af4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a38fc287a271d881b3c780e214cc6e7f0d1706d394403f64cdfaaaaf5be32af4", kill_on_drop: false }`
[INFO] [stdout] a38fc287a271d881b3c780e214cc6e7f0d1706d394403f64cdfaaaaf5be32af4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 33d1fb121f6e9069183b2287c4d8ad6e9da67498e0b05a3fe6acbf025c8c1d20
[INFO] running `Command { std: "docker" "start" "-a" "33d1fb121f6e9069183b2287c4d8ad6e9da67498e0b05a3fe6acbf025c8c1d20", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `VecDeque`
[INFO] [stderr]  --> src/day10.rs:2:28
[INFO] [stderr]   |
[INFO] [stderr] 2 |     collections::{HashMap, VecDeque},
[INFO] [stderr]   |                            ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap`, `HashSet`
[INFO] [stderr]  --> src/day11.rs:2:19
[INFO] [stderr]   |
[INFO] [stderr] 2 |     collections::{HashMap, HashSet, VecDeque},
[INFO] [stderr]   |                   ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `VecDeque`, `fmt::Display`, `thread::current`
[INFO] [stderr]  --> src/day12.rs:2:37
[INFO] [stderr]   |
[INFO] [stderr] 2 |     collections::{HashMap, HashSet, VecDeque},
[INFO] [stderr]   |                                     ^^^^^^^^
[INFO] [stderr] 3 |     fmt::Display,
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 7 |     thread::current,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap`, `Lines`, `ops::Add`, `thread::current`
[INFO] [stderr]  --> src/day13.rs:2:19
[INFO] [stderr]   |
[INFO] [stderr] 2 |     collections::{HashMap, HashSet, VecDeque},
[INFO] [stderr]   |                   ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 5 |     io::{self, BufRead, BufReader, Lines, Read},
[INFO] [stderr]   |                                    ^^^^^
[INFO] [stderr] 6 |     num::ParseIntError,
[INFO] [stderr] 7 |     ops::Add,
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 8 |     path::Path,
[INFO] [stderr] 9 |     thread::current,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `collections::HashMap`
[INFO] [stderr]  --> src/day7.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 |     collections::HashMap,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashMap`
[INFO] [stderr]  --> src/day9.rs:2:19
[INFO] [stderr]   |
[INFO] [stderr] 2 |     collections::{HashMap, VecDeque},
[INFO] [stderr]   |                   ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `day3::day3part1`
[INFO] [stderr]   --> src/main.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use day3::day3part1;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `day10part1`, `day10part2`
[INFO] [stderr]   --> src/main.rs:18:20
[INFO] [stderr]    |
[INFO] [stderr] 18 | use crate::day10::{day10part1, day10part2};
[INFO] [stderr]    |                    ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `day11part1`, `day11part2`
[INFO] [stderr]   --> src/main.rs:19:20
[INFO] [stderr]    |
[INFO] [stderr] 19 | use crate::day11::{day11part1, day11part2};
[INFO] [stderr]    |                    ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `day12part1`, `day12part2`
[INFO] [stderr]   --> src/main.rs:20:20
[INFO] [stderr]    |
[INFO] [stderr] 20 | use crate::day12::{day12part1, day12part2};
[INFO] [stderr]    |                    ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::day3::day3part2`
[INFO] [stderr]   --> src/main.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | use crate::day3::day3part2;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `day4part1`, `day4part2`
[INFO] [stderr]   --> src/main.rs:23:19
[INFO] [stderr]    |
[INFO] [stderr] 23 | use crate::day4::{day4part1, day4part2};
[INFO] [stderr]    |                   ^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::day5::day5part1`
[INFO] [stderr]   --> src/main.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 | use crate::day5::day5part1;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `day6part1`, `day6part2`
[INFO] [stderr]   --> src/main.rs:25:19
[INFO] [stderr]    |
[INFO] [stderr] 25 | use crate::day6::{day6part1, day6part2};
[INFO] [stderr]    |                   ^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `day7part1`, `day7part2`
[INFO] [stderr]   --> src/main.rs:26:19
[INFO] [stderr]    |
[INFO] [stderr] 26 | use crate::day7::{day7part1, day7part2};
[INFO] [stderr]    |                   ^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `day8part1`, `day8part2`
[INFO] [stderr]   --> src/main.rs:27:19
[INFO] [stderr]    |
[INFO] [stderr] 27 | use crate::day8::{day8part1, day8part2};
[INFO] [stderr]    |                   ^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `day9part1`, `day9part2`
[INFO] [stderr]   --> src/main.rs:28:19
[INFO] [stderr]    |
[INFO] [stderr] 28 | use crate::day9::{day9part1, day9part2};
[INFO] [stderr]    |                   ^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `completion_stack`
[INFO] [stderr]   --> src/day10.rs:65:9
[INFO] [stderr]    |
[INFO] [stderr] 65 |     let completion_stack = Vec::<char>::new();
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_completion_stack`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/day10.rs:80:9
[INFO] [stderr]    |
[INFO] [stderr] 80 |     let mut lines = read_lines("input10.t").unwrap();
[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: variable does not need to be mutable
[INFO] [stderr]    --> src/day10.rs:100:9
[INFO] [stderr]     |
[INFO] [stderr] 100 |     let mut lines = read_lines("input10.t").unwrap();
[INFO] [stderr]     |         ----^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/day11.rs:143:9
[INFO] [stderr]     |
[INFO] [stderr] 143 |     let mut lines = read_lines("input11.t").unwrap();
[INFO] [stderr]     |         ----^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/day11.rs:167:9
[INFO] [stderr]     |
[INFO] [stderr] 167 |     let mut lines = read_lines("input11.t").unwrap();
[INFO] [stderr]     |         ----^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/day12.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr] 11 |     let mut pair = s.split('-').collect::<Vec<&str>>();
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/day12.rs:127:9
[INFO] [stderr]     |
[INFO] [stderr] 127 |     let mut lines = read_lines("input12.t").unwrap();
[INFO] [stderr]     |         ----^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/day12.rs:138:9
[INFO] [stderr]     |
[INFO] [stderr] 138 |     let mut lines = read_lines("input12.t").unwrap();
[INFO] [stderr]     |         ----^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/day13.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |     let mut pair = s.split(',').collect::<Vec<&str>>();
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `y`
[INFO] [stderr]   --> src/day13.rs:78:47
[INFO] [stderr]    |
[INFO] [stderr] 78 |         let max_x = self.dots.iter().map(|(x, y)| x).max().unwrap();
[INFO] [stderr]    |                                               ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/day13.rs:79:44
[INFO] [stderr]    |
[INFO] [stderr] 79 |         let max_y = self.dots.iter().map(|(x, y)| y).max().unwrap();
[INFO] [stderr]    |                                            ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `val`
[INFO] [stderr]   --> src/day4.rs:65:23
[INFO] [stderr]    |
[INFO] [stderr] 65 |             .filter(|(val, mark)| *mark == false)
[INFO] [stderr]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `mark`
[INFO] [stderr]   --> src/day4.rs:66:25
[INFO] [stderr]    |
[INFO] [stderr] 66 |             .map(|(val, mark)| *val as usize)
[INFO] [stderr]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_mark`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/day6.rs:82:9
[INFO] [stderr]    |
[INFO] [stderr] 82 |     let mut fish = parse_numbers(&lines.next().unwrap().unwrap());
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/day7.rs:45:9
[INFO] [stderr]    |
[INFO] [stderr] 45 |     let mut locations = parse_numbers(&lines.next().unwrap().unwrap());
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/day8.rs:177:9
[INFO] [stderr]     |
[INFO] [stderr] 177 |     let mut lines = read_lines("input8.t").unwrap();
[INFO] [stderr]     |         ----^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/day8.rs:188:9
[INFO] [stderr]     |
[INFO] [stderr] 188 |     let mut lines = read_lines("input8.t").unwrap();
[INFO] [stderr]     |         ----^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/day8.rs:189:9
[INFO] [stderr]     |
[INFO] [stderr] 189 |     let mut input: Vec<_> = lines
[INFO] [stderr]     |         ----^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/day9.rs:124:9
[INFO] [stderr]     |
[INFO] [stderr] 124 |     let mut lines = read_lines("input9.t").unwrap();
[INFO] [stderr]     |         ----^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_lines` is never used
[INFO] [stderr]   --> src/main.rs:57:4
[INFO] [stderr]    |
[INFO] [stderr] 57 | fn read_lines<P>(filename: P) -> io::Result<io::Lines<io::BufReader<File>>>
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `day1part1` is never used
[INFO] [stderr]   --> src/main.rs:65:4
[INFO] [stderr]    |
[INFO] [stderr] 65 | fn day1part1() -> i32 {
[INFO] [stderr]    |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day1part2` is never used
[INFO] [stderr]   --> src/main.rs:75:4
[INFO] [stderr]    |
[INFO] [stderr] 75 | fn day1part2() -> i32 {
[INFO] [stderr]    |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day2part2` is never used
[INFO] [stderr]    --> src/main.rs:104:4
[INFO] [stderr]     |
[INFO] [stderr] 104 | fn day2part2() -> Location {
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Direction` is never used
[INFO] [stderr]    --> src/main.rs:118:6
[INFO] [stderr]     |
[INFO] [stderr] 118 | enum Direction {
[INFO] [stderr]     |      ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Command` is never constructed
[INFO] [stderr]    --> src/main.rs:124:8
[INFO] [stderr]     |
[INFO] [stderr] 124 | struct Command {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `horizontal`, `depth`, and `aim` are never read
[INFO] [stderr]    --> src/main.rs:131:5
[INFO] [stderr]     |
[INFO] [stderr] 130 | struct Location {
[INFO] [stderr]     |        -------- fields in this struct
[INFO] [stderr] 131 |     horizontal: i32,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 132 |     depth: i32,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 133 |     aim: i32,
[INFO] [stderr]     |     ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Location` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `process_command` is never used
[INFO] [stderr]    --> src/main.rs:137:8
[INFO] [stderr]     |
[INFO] [stderr] 136 | impl Location {
[INFO] [stderr]     | ------------- method in this implementation
[INFO] [stderr] 137 |     fn process_command(mut self, command: &Command) -> Self {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_command` is never used
[INFO] [stderr]    --> src/main.rs:150:4
[INFO] [stderr]     |
[INFO] [stderr] 150 | fn parse_command(s: String) -> Result<Command, ()> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_lines` is never used
[INFO] [stderr]  --> src/day10.rs:8:4
[INFO] [stderr]   |
[INFO] [stderr] 8 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stderr]   |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_open_char` is never used
[INFO] [stderr]   --> src/day10.rs:16:4
[INFO] [stderr]    |
[INFO] [stderr] 16 | fn is_open_char(c: char) -> bool {
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `matching_char` is never used
[INFO] [stderr]   --> src/day10.rs:23:4
[INFO] [stderr]    |
[INFO] [stderr] 23 | fn matching_char(c: char) -> char {
[INFO] [stderr]    |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_corrupt` is never used
[INFO] [stderr]   --> src/day10.rs:37:4
[INFO] [stderr]    |
[INFO] [stderr] 37 | fn is_corrupt(line: &str) -> Option<char> {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `completion` is never used
[INFO] [stderr]   --> src/day10.rs:53:4
[INFO] [stderr]    |
[INFO] [stderr] 53 | fn completion(line: &str) -> Vec<char> {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `completion_score` is never used
[INFO] [stderr]   --> src/day10.rs:69:4
[INFO] [stderr]    |
[INFO] [stderr] 69 | fn completion_score(completion_stack: Vec<char>, score_map: &HashMap<char, usize>) -> usize {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day10part1` is never used
[INFO] [stderr]   --> src/day10.rs:79:15
[INFO] [stderr]    |
[INFO] [stderr] 79 | pub(crate) fn day10part1() -> i32 {
[INFO] [stderr]    |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day10part2` is never used
[INFO] [stderr]   --> src/day10.rs:99:15
[INFO] [stderr]    |
[INFO] [stderr] 99 | pub(crate) fn day10part2() -> usize {
[INFO] [stderr]    |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_numbers` is never used
[INFO] [stderr]  --> src/day11.rs:9:4
[INFO] [stderr]   |
[INFO] [stderr] 9 | fn parse_numbers(s: &str) -> Vec<i32> {
[INFO] [stderr]   |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_lines` is never used
[INFO] [stderr]   --> src/day11.rs:13:4
[INFO] [stderr]    |
[INFO] [stderr] 13 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FLASH_LEVEL` is never used
[INFO] [stderr]   --> src/day11.rs:21:7
[INFO] [stderr]    |
[INFO] [stderr] 21 | const FLASH_LEVEL: i32 = 9;
[INFO] [stderr]    |       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `num_flashes` and `flashed_this_step` are never read
[INFO] [stderr]   --> src/day11.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 24 | struct Octopus {
[INFO] [stderr]    |        ------- fields in this struct
[INFO] [stderr] 25 |     energy_level: i32,
[INFO] [stderr] 26 |     num_flashes: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 27 |     flashed_this_step: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Octopus` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `increase_energy` and `step` are never used
[INFO] [stderr]   --> src/day11.rs:31:8
[INFO] [stderr]    |
[INFO] [stderr] 30 | impl Octopus {
[INFO] [stderr]    | ------------ methods in this implementation
[INFO] [stderr] 31 |     fn increase_energy(&mut self) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 48 |     fn step(&mut self) -> bool {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `step` and `get_neighbors` are never used
[INFO] [stderr]   --> src/day11.rs:73:8
[INFO] [stderr]    |
[INFO] [stderr] 72 | impl OctopusGarden {
[INFO] [stderr]    | ------------------ methods in this implementation
[INFO] [stderr] 73 |     fn step(&mut self) {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 94 |     fn get_neighbors(&self, idx: usize) -> Vec<usize> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day11part1` is never used
[INFO] [stderr]    --> src/day11.rs:142:15
[INFO] [stderr]     |
[INFO] [stderr] 142 | pub(crate) fn day11part1() -> usize {
[INFO] [stderr]     |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day11part2` is never used
[INFO] [stderr]    --> src/day11.rs:166:15
[INFO] [stderr]     |
[INFO] [stderr] 166 | pub(crate) fn day11part2() -> usize {
[INFO] [stderr]     |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_line` is never used
[INFO] [stderr]   --> src/day12.rs:10:4
[INFO] [stderr]    |
[INFO] [stderr] 10 | fn parse_line(s: &str) -> (String, String) {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_lines` is never used
[INFO] [stderr]   --> src/day12.rs:15:4
[INFO] [stderr]    |
[INFO] [stderr] 15 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `nodes` and `edges` are never read
[INFO] [stderr]   --> src/day12.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 24 | struct Graph {
[INFO] [stderr]    |        ----- fields in this struct
[INFO] [stderr] 25 |     nodes: HashSet<String>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 26 |     edges: HashMap<String, Vec<String>>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Graph` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `from_lines` and `all_paths` are never used
[INFO] [stderr]   --> src/day12.rs:30:8
[INFO] [stderr]    |
[INFO] [stderr] 29 | impl Graph {
[INFO] [stderr]    | ---------- associated items in this implementation
[INFO] [stderr] 30 |     fn from_lines(lines: Lines<BufReader<File>>) -> Self {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 72 |     fn all_paths(
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day12part1` is never used
[INFO] [stderr]    --> src/day12.rs:126:15
[INFO] [stderr]     |
[INFO] [stderr] 126 | pub(crate) fn day12part1() -> usize {
[INFO] [stderr]     |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day12part2` is never used
[INFO] [stderr]    --> src/day12.rs:137:15
[INFO] [stderr]     |
[INFO] [stderr] 137 | pub(crate) fn day12part2() -> usize {
[INFO] [stderr]     |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_lines` is never used
[INFO] [stderr]  --> src/day3.rs:7:4
[INFO] [stderr]   |
[INFO] [stderr] 7 | fn read_lines<P>(filename: P) -> io::Result<io::Lines<io::BufReader<File>>>
[INFO] [stderr]   |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `BitCriteria` is never used
[INFO] [stderr]   --> src/day3.rs:15:6
[INFO] [stderr]    |
[INFO] [stderr] 15 | enum BitCriteria {
[INFO] [stderr]    |      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DiagnosticReport` is never constructed
[INFO] [stderr]   --> src/day3.rs:20:8
[INFO] [stderr]    |
[INFO] [stderr] 20 | struct DiagnosticReport {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/day3.rs:25:8
[INFO] [stderr]     |
[INFO] [stderr] 24  | impl DiagnosticReport {
[INFO] [stderr]     | --------------------- methods in this implementation
[INFO] [stderr] 25  |     fn num_bits(&self) -> usize {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 28  |     fn bit_values(&self, bit_index: usize) -> Vec<u8> {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 35  |     fn most_common_bit(&self, bit_index: usize) -> u8 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 48  |     fn least_common_bit(&self, bit_index: usize) -> u8 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 57  |     fn gamma(&self) -> usize {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 64  |     fn epsilon(&self) -> usize {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 94  |     fn filter_bit_criteria(&self, bit_index: usize, criteria: BitCriteria) -> Self {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 108 |     fn co2_scrubber_rating(&self) -> Vec<u8> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 123 |     fn oxygen_generator_rating(&self) -> Vec<u8> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day3part2` is never used
[INFO] [stderr]    --> src/day3.rs:140:15
[INFO] [stderr]     |
[INFO] [stderr] 140 | pub(crate) fn day3part2() -> (usize, usize) {
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `filter_by_bit` is never used
[INFO] [stderr]    --> src/day3.rs:150:4
[INFO] [stderr]     |
[INFO] [stderr] 150 | fn filter_by_bit(report: &DiagnosticReport, bit_index: usize, bit_value: u8) -> DiagnosticReport {
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day3part1` is never used
[INFO] [stderr]    --> src/day3.rs:164:15
[INFO] [stderr]     |
[INFO] [stderr] 164 | pub(crate) fn day3part1() -> (usize, usize) {
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_status_bits` is never used
[INFO] [stderr]    --> src/day3.rs:171:4
[INFO] [stderr]     |
[INFO] [stderr] 171 | fn parse_status_bits(s: String) -> Vec<u8> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `bit_vector_to_number` is never used
[INFO] [stderr]    --> src/day3.rs:175:4
[INFO] [stderr]     |
[INFO] [stderr] 175 | fn bit_vector_to_number(bit_vector: &Vec<u8>) -> usize {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_lines` is never used
[INFO] [stderr]  --> src/day4.rs:7:4
[INFO] [stderr]   |
[INFO] [stderr] 7 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stderr]   |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day4part1` is never used
[INFO] [stderr]   --> src/day4.rs:15:15
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub(crate) fn day4part1() -> (usize, usize) {
[INFO] [stderr]    |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day4part2` is never used
[INFO] [stderr]   --> src/day4.rs:21:15
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub(crate) fn day4part2() -> (usize, usize) {
[INFO] [stderr]    |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BOARD_SIZE` is never used
[INFO] [stderr]   --> src/day4.rs:27:7
[INFO] [stderr]    |
[INFO] [stderr] 27 | const BOARD_SIZE: usize = 5;
[INFO] [stderr]    |       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BingoCard` is never constructed
[INFO] [stderr]   --> src/day4.rs:29:8
[INFO] [stderr]    |
[INFO] [stderr] 29 | struct BingoCard {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BingoGame` is never constructed
[INFO] [stderr]   --> src/day4.rs:33:8
[INFO] [stderr]    |
[INFO] [stderr] 33 | struct BingoGame {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `from_lines`, `mark`, `score`, and `has_won` are never used
[INFO] [stderr]   --> src/day4.rs:39:8
[INFO] [stderr]    |
[INFO] [stderr] 38 | impl BingoCard {
[INFO] [stderr]    | -------------- associated items in this implementation
[INFO] [stderr] 39 |     fn from_lines(lines: &mut Lines<BufReader<File>>) -> Option<Self> {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 55 |     fn mark(&mut self, number: u8) {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 61 |     fn score(&self) -> usize {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 70 |     fn has_won(&self) -> bool {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `from_lines`, `play`, and `play_to_lose` are never used
[INFO] [stderr]    --> src/day4.rs:99:8
[INFO] [stderr]     |
[INFO] [stderr] 98  | impl BingoGame {
[INFO] [stderr]     | -------------- associated items in this implementation
[INFO] [stderr] 99  |     fn from_lines(lines: &mut Lines<BufReader<File>>) -> Self {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 113 |     fn play(&mut self) -> (usize, usize) {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 126 |     fn play_to_lose(&mut self) -> (usize, usize) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_numbers` is never used
[INFO] [stderr]    --> src/day4.rs:141:4
[INFO] [stderr]     |
[INFO] [stderr] 141 | fn parse_numbers(s: String) -> Vec<u8> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_lines` is never used
[INFO] [stderr]  --> src/day5.rs:8:4
[INFO] [stderr]   |
[INFO] [stderr] 8 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stderr]   |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `from_string` is never used
[INFO] [stderr]   --> src/day5.rs:22:8
[INFO] [stderr]    |
[INFO] [stderr] 21 | impl VentLine {
[INFO] [stderr]    | ------------- associated function in this implementation
[INFO] [stderr] 22 |     fn from_string(s: &str) -> Option<Self> {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AllVents` is never constructed
[INFO] [stderr]   --> src/day5.rs:79:8
[INFO] [stderr]    |
[INFO] [stderr] 79 | struct AllVents {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `parse_vent_lines` and `all_points_count` are never used
[INFO] [stderr]   --> src/day5.rs:84:8
[INFO] [stderr]    |
[INFO] [stderr] 83 | impl AllVents {
[INFO] [stderr]    | ------------- associated items in this implementation
[INFO] [stderr] 84 |     fn parse_vent_lines(mut lines: Lines<BufReader<File>>) -> Self {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 94 |     fn all_points_count(&self) -> HashMap<(isize, isize), i32> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day5part1` is never used
[INFO] [stderr]    --> src/day5.rs:107:15
[INFO] [stderr]     |
[INFO] [stderr] 107 | pub(crate) fn day5part1() -> usize {
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_numbers` is never used
[INFO] [stderr]    --> src/day5.rs:115:4
[INFO] [stderr]     |
[INFO] [stderr] 115 | fn parse_numbers(s: &str) -> Vec<isize> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_numbers` is never used
[INFO] [stderr]  --> src/day6.rs:8:4
[INFO] [stderr]   |
[INFO] [stderr] 8 | fn parse_numbers(s: &str) -> Vec<i32> {
[INFO] [stderr]   |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_lines` is never used
[INFO] [stderr]   --> src/day6.rs:16:4
[INFO] [stderr]    |
[INFO] [stderr] 16 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LanternFish` is never constructed
[INFO] [stderr]   --> src/day6.rs:24:8
[INFO] [stderr]    |
[INFO] [stderr] 24 | struct LanternFish {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `next_state` is never used
[INFO] [stderr]   --> src/day6.rs:29:8
[INFO] [stderr]    |
[INFO] [stderr] 28 | impl LanternFish {
[INFO] [stderr]    | ---------------- method in this implementation
[INFO] [stderr] 29 |     fn next_state(&self) -> Vec<LanternFish> {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `next_day` is never used
[INFO] [stderr]   --> src/day6.rs:39:4
[INFO] [stderr]    |
[INFO] [stderr] 39 | fn next_day(school: Vec<LanternFish>) -> Vec<LanternFish> {
[INFO] [stderr]    |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `by_day` is never used
[INFO] [stderr]   --> src/day6.rs:47:4
[INFO] [stderr]    |
[INFO] [stderr] 47 | fn by_day(count: i32) -> HashMap<i32, usize> {
[INFO] [stderr]    |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day6part1` is never used
[INFO] [stderr]   --> src/day6.rs:68:15
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub(crate) fn day6part1() -> usize {
[INFO] [stderr]    |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day6part2` is never used
[INFO] [stderr]   --> src/day6.rs:80:15
[INFO] [stderr]    |
[INFO] [stderr] 80 | pub(crate) fn day6part2() -> usize {
[INFO] [stderr]    |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_numbers` is never used
[INFO] [stderr]  --> src/day7.rs:8:4
[INFO] [stderr]   |
[INFO] [stderr] 8 | fn parse_numbers(s: &str) -> Vec<isize> {
[INFO] [stderr]   |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_lines` is never used
[INFO] [stderr]   --> src/day7.rs:16:4
[INFO] [stderr]    |
[INFO] [stderr] 16 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day7part1` is never used
[INFO] [stderr]   --> src/day7.rs:24:15
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub(crate) fn day7part1() -> isize {
[INFO] [stderr]    |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `cost_day_2` is never used
[INFO] [stderr]   --> src/day7.rs:38:4
[INFO] [stderr]    |
[INFO] [stderr] 38 | fn cost_day_2(location: isize, dest: isize) -> isize {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day7part2` is never used
[INFO] [stderr]   --> src/day7.rs:43:15
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub(crate) fn day7part2() -> isize {
[INFO] [stderr]    |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_digits` is never used
[INFO] [stderr]  --> src/day8.rs:8:4
[INFO] [stderr]   |
[INFO] [stderr] 8 | fn parse_digits(s: String) -> Vec<String> {
[INFO] [stderr]   |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_lines` is never used
[INFO] [stderr]   --> src/day8.rs:16:4
[INFO] [stderr]    |
[INFO] [stderr] 16 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Entry` is never constructed
[INFO] [stderr]   --> src/day8.rs:24:8
[INFO] [stderr]    |
[INFO] [stderr] 24 | struct Entry {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sorted_pattern` is never used
[INFO] [stderr]   --> src/day8.rs:31:4
[INFO] [stderr]    |
[INFO] [stderr] 31 | fn sorted_pattern(pattern: &String) -> String {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `found_pattern`, `from_strings`, and `get_output_number` are never used
[INFO] [stderr]    --> src/day8.rs:38:8
[INFO] [stderr]     |
[INFO] [stderr] 37  | impl Entry {
[INFO] [stderr]     | ---------- associated items in this implementation
[INFO] [stderr] 38  |     fn found_pattern(&mut self, pattern: &String, num: i32) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 43  |     fn from_strings(line: Vec<String>) -> Self {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 126 |     fn get_output_number(&self) -> i32 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `match_pattern` is never used
[INFO] [stderr]    --> src/day8.rs:134:4
[INFO] [stderr]     |
[INFO] [stderr] 134 | fn match_pattern(pattern: &String) -> String {
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day8part1` is never used
[INFO] [stderr]    --> src/day8.rs:176:15
[INFO] [stderr]     |
[INFO] [stderr] 176 | pub(crate) fn day8part1() -> usize {
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day8part2` is never used
[INFO] [stderr]    --> src/day8.rs:187:15
[INFO] [stderr]     |
[INFO] [stderr] 187 | pub(crate) fn day8part2() -> i32 {
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_numbers` is never used
[INFO] [stderr]  --> src/day9.rs:8:4
[INFO] [stderr]   |
[INFO] [stderr] 8 | fn parse_numbers(s: &str) -> Vec<i32> {
[INFO] [stderr]   |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_lines` is never used
[INFO] [stderr]   --> src/day9.rs:12:4
[INFO] [stderr]    |
[INFO] [stderr] 12 | fn read_lines<P>(filename: P) -> Result<Lines<BufReader<File>>>
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SIZE` is never used
[INFO] [stderr]   --> src/day9.rs:20:7
[INFO] [stderr]    |
[INFO] [stderr] 20 | const SIZE: usize = 100;
[INFO] [stderr]    |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `HeightMap` is never constructed
[INFO] [stderr]   --> src/day9.rs:21:8
[INFO] [stderr]    |
[INFO] [stderr] 21 | struct HeightMap {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `idx` and `height` are never read
[INFO] [stderr]   --> src/day9.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | struct Location {
[INFO] [stderr]    |        -------- fields in this struct
[INFO] [stderr] 27 |     idx: usize,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 28 |     height: i32,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Location` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_low_point` is never used
[INFO] [stderr]   --> src/day9.rs:32:8
[INFO] [stderr]    |
[INFO] [stderr] 31 | impl Location {
[INFO] [stderr]    | ------------- method in this implementation
[INFO] [stderr] 32 |     fn is_low_point(&self, others: Vec<Location>) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `from_lines`, `get_neighbors`, `mark_basins`, and `mark_neighbors_in_basin` are never used
[INFO] [stderr]    --> src/day9.rs:38:8
[INFO] [stderr]     |
[INFO] [stderr] 37  | impl HeightMap {
[INFO] [stderr]     | -------------- associated items in this implementation
[INFO] [stderr] 38  |     fn from_lines(lines: Lines<BufReader<File>>) -> Self {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 46  |     fn get_neighbors(&self, idx: usize) -> Vec<Location> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 82  |     fn mark_basins(&mut self) -> i32 {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 104 |     fn mark_neighbors_in_basin(&mut self, idx: usize, basin_num: i32) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day9part1` is never used
[INFO] [stderr]    --> src/day9.rs:123:15
[INFO] [stderr]     |
[INFO] [stderr] 123 | pub(crate) fn day9part1() -> usize {
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day9part2` is never used
[INFO] [stderr]    --> src/day9.rs:140:15
[INFO] [stderr]     |
[INFO] [stderr] 140 | pub(crate) fn day9part2() -> usize {
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `aoc2021` (bin "aoc2021" test) generated 121 warnings (run `cargo fix --bin "aoc2021" --tests` to apply 36 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/aoc2021-f36b714b61064c74)
[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" "33d1fb121f6e9069183b2287c4d8ad6e9da67498e0b05a3fe6acbf025c8c1d20", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "33d1fb121f6e9069183b2287c4d8ad6e9da67498e0b05a3fe6acbf025c8c1d20", kill_on_drop: false }`
[INFO] [stdout] 33d1fb121f6e9069183b2287c4d8ad6e9da67498e0b05a3fe6acbf025c8c1d20
