[INFO] cloning repository https://github.com/asifZaman0362/Advent-Of-Code
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/asifZaman0362/Advent-Of-Code" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FasifZaman0362%2FAdvent-Of-Code", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FasifZaman0362%2FAdvent-Of-Code'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bf335a59e0152515deddd608330738a1ee6f40d6
[INFO] building asifZaman0362/Advent-Of-Code against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FasifZaman0362%2FAdvent-Of-Code" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/asifZaman0362/Advent-Of-Code
[INFO] finished tweaking git repo https://github.com/asifZaman0362/Advent-Of-Code
[INFO] tweaked toml for git repo https://github.com/asifZaman0362/Advent-Of-Code written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/asifZaman0362/Advent-Of-Code on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/asifZaman0362/Advent-Of-Code 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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cached v0.54.0
[INFO] [stderr]   Downloaded cached_proc_macro v0.23.0
[INFO] [stderr]   Downloaded cached_proc_macro_types v0.1.1
[INFO] [stderr]   Downloaded schannel v0.1.26
[INFO] [stderr]   Downloaded cc v1.2.0
[INFO] [stderr]   Downloaded h2 v0.4.6
[INFO] [stderr]   Downloaded rustls v0.23.16
[INFO] [stderr]   Downloaded rustix v0.38.40
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 913b5bb019554fd45c2db442732812dbca826527f84e682f641ff26401caed51
[INFO] running `Command { std: "docker" "start" "-a" "913b5bb019554fd45c2db442732812dbca826527f84e682f641ff26401caed51", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "913b5bb019554fd45c2db442732812dbca826527f84e682f641ff26401caed51", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "913b5bb019554fd45c2db442732812dbca826527f84e682f641ff26401caed51", kill_on_drop: false }`
[INFO] [stdout] 913b5bb019554fd45c2db442732812dbca826527f84e682f641ff26401caed51
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0d374460ae97bdb62a074c05b812c42e2bea47a0d55113382a12f62087f3f528
[INFO] running `Command { std: "docker" "start" "-a" "0d374460ae97bdb62a074c05b812c42e2bea47a0d55113382a12f62087f3f528", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling libc v0.2.162
[INFO] [stderr]    Compiling cc v1.2.0
[INFO] [stderr]    Compiling http v1.1.0
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling rustls-pki-types v1.10.0
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling anyhow v1.0.93
[INFO] [stderr]    Compiling serde_json v1.0.132
[INFO] [stderr]    Compiling sync_wrapper v1.0.1
[INFO] [stderr]    Compiling web-time v1.1.0
[INFO] [stderr]    Compiling cached_proc_macro_types v0.1.1
[INFO] [stderr]    Compiling md5 v0.7.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]    Compiling socket2 v0.5.7
[INFO] [stderr]    Compiling mio v1.0.2
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.2
[INFO] [stderr]    Compiling openssl-sys v0.9.104
[INFO] [stderr]    Compiling tokio v1.41.1
[INFO] [stderr]    Compiling openssl v0.10.68
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling darling_core v0.20.10
[INFO] [stderr]    Compiling zerofrom-derive v0.1.4
[INFO] [stderr]    Compiling yoke-derive v0.7.4
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.215
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling zerofrom v0.1.4
[INFO] [stderr]    Compiling tokio-util v0.7.12
[INFO] [stderr]    Compiling yoke v0.7.4
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling darling_macro v0.20.10
[INFO] [stderr]    Compiling h2 v0.4.6
[INFO] [stderr]    Compiling darling v0.20.10
[INFO] [stderr]    Compiling cached_proc_macro v0.23.0
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]    Compiling cached v0.54.0
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]    Compiling serde v1.0.215
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling icu_properties v1.5.1
[INFO] [stderr]    Compiling hyper v1.5.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling hyper-util v0.1.10
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.3
[INFO] [stderr]    Compiling reqwest v0.12.9
[INFO] [stderr]    Compiling aoc2020 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `LitStr`
[INFO] [stdout]  --> src/macro.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 |     parse_macro_input, Expr, LitInt, LitStr, Token,
[INFO] [stdout]   |                                      ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::solutions::*`
[INFO] [stdout]  --> src/solutions/_2020/day2.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::solutions::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `test_sol`
[INFO] [stdout]  --> src/solutions/_2024/day11.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use r#macro::{solution, test_sol};
[INFO] [stdout]   |                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> src/solutions/_2024/day4.rs:67:38
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 .filter(|(_, &char)| (char == b'X'))
[INFO] [stdout]    |                                      ^            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 67 -                 .filter(|(_, &char)| (char == b'X'))
[INFO] [stdout] 67 +                 .filter(|(_, &char)| char == b'X')
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `points`
[INFO] [stdout]   --> src/solutions/_2015/day14.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let mut points = info.iter().map(|_| 0).collect::<Vec<u32>>();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_points`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/solutions/_2015/day14.rs:30:45
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let part1 = info.iter().fold(0, |prev, (name, speed, fly, rest)| {
[INFO] [stdout]    |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/solutions/_2015/day14.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let mut points = info.iter().map(|_| 0).collect::<Vec<u32>>();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/solutions/_2022/day10.rs:49:24
[INFO] [stdout]    |
[INFO] [stdout] 49 |         .filter(|(idx, val)| {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Grid` is never used
[INFO] [stdout]  --> src/solutions/mod.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type Grid<'a> = &'a [&'a [u8]];
[INFO] [stdout]   |          ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Pos` is never used
[INFO] [stdout]  --> src/solutions/mod.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type Pos = (isize, isize);
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `u64_p` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn u64_p(x: &str) -> u64 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `usize_p` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:209:8
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub fn usize_p(x: &str) -> usize {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `i64_p` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:213:8
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub fn i64_p(x: &str) -> i64 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f64_p` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:217:8
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub fn f64_p(x: &str) -> f64 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `u32_p` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:221:8
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub fn u32_p(x: &str) -> u32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `i32_p` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn i32_p(x: &str) -> i32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f32_p` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub fn f32_p(x: &str) -> f32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sorted` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:233:8
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub fn sorted<T: std::cmp::Ord>(vec: &mut Vec<T>) -> impl std::iter::Iterator<Item = &mut T> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:238:8
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub fn next(x: usize, dx: isize, i: usize) -> Option<usize> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_mut` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub fn next_mut(x: &mut usize, dx: isize) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Sorted` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:261:11
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub trait Sorted<T: std::cmp::Ord> {
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `asst` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:287:8
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub fn asst<T: PartialEq + std::fmt::Debug>(a: T, b: T) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]   --> src/solutions/_2015/day14.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn solve(input: &str, time: f32) -> (u32, u32) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `meets_req` is never used
[INFO] [stdout]  --> src/solutions/_2015/day16.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn meets_req(req: &HashMap<&str, u64>, item: &str, count: u64) -> bool {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tuple` is never constructed
[INFO] [stdout]  --> src/solutions/_2015/day2.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Tuple(i64, i64);
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mov` is never used
[INFO] [stdout]  --> src/solutions/_2015/day3.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn mov(pos: &(i64, i64), diff: &(i64, i64)) -> (i64, i64) {
[INFO] [stdout]   |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_nice` is never used
[INFO] [stdout]  --> src/solutions/_2015/day5.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn is_nice(string: &str) -> bool {
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_even_nicer` is never used
[INFO] [stdout]   --> src/solutions/_2015/day5.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn is_even_nicer(string: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Op` is never used
[INFO] [stdout]  --> src/solutions/_2015/day6.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum Op {
[INFO] [stdout]   |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_lights` is never used
[INFO] [stdout]   --> src/solutions/_2015/day6.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn update_lights(
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_on` is never used
[INFO] [stdout]   --> src/solutions/_2015/day6.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn count_on(lights: &[[u8; 1000]], lights2: &[[u8; 1000]]) -> (usize, usize) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Num` is never used
[INFO] [stdout]  --> src/solutions/_2015/day7.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | type Num = u16;
[INFO] [stdout]   |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Sym` is never used
[INFO] [stdout]  --> src/solutions/_2015/day7.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | type Sym<'a> = HashMap<&'a str, Num>;
[INFO] [stdout]   |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Def` is never used
[INFO] [stdout]  --> src/solutions/_2015/day7.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | type Def<'a> = HashMap<&'a str, &'a str>;
[INFO] [stdout]   |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bin_operate` is never used
[INFO] [stdout]   --> src/solutions/_2015/day7.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn bin_operate<'a>(l: &'a str, op: &str, r: &'a str, sym: &mut Sym<'a>, def: &Def<'a>) -> Num {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval` is never used
[INFO] [stdout]   --> src/solutions/_2015/day7.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn eval<'a>(id: &'a str, sym: &mut Sym<'a>, def: &Def<'a>) -> Num {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]  --> src/solutions/_2016/day2.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn solve(input: &str) -> (String, String) {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve2` is never used
[INFO] [stdout]   --> src/solutions/_2016/day2.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn solve2(input: &str) -> String {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_0` is never used
[INFO] [stdout]  --> src/solutions/_2021/day3.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn solve_0<'b>(numbers: &Vec<&'b str>, idx: usize, keep_less: bool) -> &'b str {
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw` is never used
[INFO] [stdout]  --> src/solutions/_2022/day10.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn draw(s: i32, xpos: i32) {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inc` is never used
[INFO] [stdout]   --> src/solutions/_2022/day10.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn inc(x: i32) -> i32 {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve0` is never used
[INFO] [stdout]   --> src/solutions/_2022/day10.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn solve0(input: Input) -> i32 {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/solutions/_2022/day11.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum Token {
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Operation` is never used
[INFO] [stdout]   --> src/solutions/_2022/day11.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | enum Operation {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Monkey` is never constructed
[INFO] [stdout]   --> src/solutions/_2022/day11.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct Monkey {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate` is never used
[INFO] [stdout]   --> src/solutions/_2022/day11.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn evaluate(token: &Token, stress: u128) -> u128 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `inspect`, and `test` are never used
[INFO] [stdout]    --> src/solutions/_2022/day11.rs:37:8
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl Monkey {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout]  37 |     fn new(block: &[&str]) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     fn inspect(&mut self, _mod: u128, div: u128) -> Option<(u128, u128)> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     fn test(&self, stress: u128, _mod: u128, div: u128) -> (u128, u128) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simulate_round` is never used
[INFO] [stdout]    --> src/solutions/_2022/day11.rs:115:4
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn simulate_round(monkeys: &mut [Monkey], _mod: u128, div: u128) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve0` is never used
[INFO] [stdout]    --> src/solutions/_2022/day11.rs:127:4
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn solve0(input: &Vec<&str>) -> (u128, u128) {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve0` is never used
[INFO] [stdout]  --> src/solutions/_2022/day7.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn solve0(input: &crate::solutions::Input) -> HashMap<String, u32> {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve1` is never used
[INFO] [stdout]  --> src/solutions/_2022/day8.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn solve1(input: &[&str]) -> usize {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve0` is never used
[INFO] [stdout]   --> src/solutions/_2022/day8.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn solve0(input: &[&str]) -> usize {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Pos` is never used
[INFO] [stdout]  --> src/solutions/_2022/day9.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | type Pos = (i32, i32);
[INFO] [stdout]   |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `keep_up` is never used
[INFO] [stdout]  --> src/solutions/_2022/day9.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn keep_up(tail: &Pos, head: &Pos) -> Pos {
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_motion` is never used
[INFO] [stdout]   --> src/solutions/_2022/day9.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn make_motion(
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve0` is never used
[INFO] [stdout]   --> src/solutions/_2022/day9.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn solve0(input: Input) -> usize {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve1` is never used
[INFO] [stdout]   --> src/solutions/_2022/day9.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn solve1(input: Input) -> usize {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve0` is never used
[INFO] [stdout]  --> src/solutions/_2024/day1.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn solve0(input: &crate::solutions::Input) -> i32 {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve1` is never used
[INFO] [stdout]   --> src/solutions/_2024/day1.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn solve1(input: crate::solutions::Input) -> i32 {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_scores` is never used
[INFO] [stdout]  --> src/solutions/_2024/day10.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn get_scores(
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split` is never used
[INFO] [stdout]  --> src/solutions/_2024/day11.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn split(stone: u64) -> Option<(u64, u64)> {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blink_stone` is never used
[INFO] [stdout]   --> src/solutions/_2024/day11.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn blink_stone(stone: u64, count: u8, cache: &mut HashMap<(u64, u8), usize>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blink` is never used
[INFO] [stdout]   --> src/solutions/_2024/day11.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn blink(stones: &[u64]) -> (usize, usize) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_area` is never used
[INFO] [stdout]  --> src/solutions/_2024/day12.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn find_area(
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_sides` is never used
[INFO] [stdout]   --> src/solutions/_2024/day12.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn calc_sides(
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `help` is never used
[INFO] [stdout]   --> src/solutions/_2024/day12.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn help(
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]    --> src/solutions/_2024/day12.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn solve(input: &str) -> (usize, usize) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LinearEquation` is never constructed
[INFO] [stdout]  --> src/solutions/_2024/day13.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct LinearEquation {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_machine` is never used
[INFO] [stdout]   --> src/solutions/_2024/day13.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn parse_machine(info: &str) -> Vec<(LinearEquation, LinearEquation)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_line_intersection` is never used
[INFO] [stdout]   --> src/solutions/_2024/day13.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn find_line_intersection(line1: &LinearEquation, line2: &LinearEquation) -> Option<(f64, f64)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_prize_cost` is never used
[INFO] [stdout]   --> src/solutions/_2024/day13.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn get_prize_cost((l1, l2): &(LinearEquation, LinearEquation)) -> Option<u64> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]   --> src/solutions/_2024/day13.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn solve(input: &str) -> (u64, u64) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]  --> src/solutions/_2024/day14.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn solve(input: &str, t: i32, xmax: i32, ymax: i32) -> i32 {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]  --> src/solutions/_2024/day2.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn check(vec: &[i32]) -> bool {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate` is never used
[INFO] [stdout]  --> src/solutions/_2024/day3.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn calculate(input: &str) -> i64 {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/solutions/_2024/day3.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn part2(input: &str) -> i64 {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_directional` is never used
[INFO] [stdout]  --> src/solutions/_2024/day4.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn find_directional(x: usize, y: usize, input: &[&[u8]], (dx, dy): (isize, isize)) -> bool {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_xmas` is never used
[INFO] [stdout]   --> src/solutions/_2024/day4.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn find_xmas(x: usize, y: usize, input: &[&[u8]]) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_x_mas` is never used
[INFO] [stdout]   --> src/solutions/_2024/day4.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn find_x_mas(x: isize, y: isize, input: &[&[u8]]) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve1` is never used
[INFO] [stdout]   --> src/solutions/_2024/day4.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn solve1(input: &[&[u8]]) -> usize {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve0` is never used
[INFO] [stdout]   --> src/solutions/_2024/day4.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn solve0(input: &[&[u8]]) -> usize {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_char` is never used
[INFO] [stdout]  --> src/solutions/_2024/day6.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn next_char(input: Grid, (x, y): Pos, (dx, dy): (isize, isize)) -> Option<(char, Pos)> {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rot` is never used
[INFO] [stdout]   --> src/solutions/_2024/day6.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn rot((x, y): (isize, isize)) -> (isize, isize) {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_path` is never used
[INFO] [stdout]   --> src/solutions/_2024/day6.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn calculate_path(input: Grid, start: Pos) -> (Set, usize) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Pos` is never used
[INFO] [stdout]   --> src/solutions/_2024/day6.rs:47:6
[INFO] [stdout]    |
[INFO] [stdout] 47 | type Pos = (usize, usize);
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Set` is never used
[INFO] [stdout]   --> src/solutions/_2024/day6.rs:48:6
[INFO] [stdout]    |
[INFO] [stdout] 48 | type Set = HashSet<Pos>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Dir` is never used
[INFO] [stdout]   --> src/solutions/_2024/day6.rs:49:6
[INFO] [stdout]    |
[INFO] [stdout] 49 | type Dir = (isize, isize);
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_loop` is never used
[INFO] [stdout]   --> src/solutions/_2024/day6.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn check_loop(input: Grid, start: Pos, obstacle: Pos, dir: Dir) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve0` is never used
[INFO] [stdout]   --> src/solutions/_2024/day6.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn solve0(input: Grid) -> (usize, usize) {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POWERS` is never used
[INFO] [stdout]  --> src/solutions/_2024/day7.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const POWERS: &[i64] = &[
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIGITS` is never used
[INFO] [stdout]   --> src/solutions/_2024/day7.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const DIGITS: &[i64] = &[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Num` is never constructed
[INFO] [stdout]   --> src/solutions/_2024/day7.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct Num {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_comb_2` is never used
[INFO] [stdout]   --> src/solutions/_2024/day7.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn get_comb_2(items: &[Num]) -> HashSet<Num> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_comb` is never used
[INFO] [stdout]    --> src/solutions/_2024/day7.rs:107:4
[INFO] [stdout]     |
[INFO] [stdout] 107 | fn get_comb(items: &[Num]) -> HashSet<Num> {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_solution` is never used
[INFO] [stdout]    --> src/solutions/_2024/day7.rs:120:4
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn check_solution(result: Num, ops: &[Num]) -> (bool, bool) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve0` is never used
[INFO] [stdout]    --> src/solutions/_2024/day7.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn solve0(input: Input) -> (i64, i64) {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next` is never used
[INFO] [stdout]  --> src/solutions/_2024/day8.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn next(a: &mut Pos, diff: &Pos, max: Pos) -> Option<Pos> {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_antinode_pos` is never used
[INFO] [stdout]   --> src/solutions/_2024/day8.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn compute_antinode_pos(a: &Pos, b: &Pos, xmax: isize, ymax: isize) -> [Option<Pos>; 2] {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_antinodes2` is never used
[INFO] [stdout]   --> src/solutions/_2024/day8.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn compute_antinodes2(a: &Pos, b: &Pos, xmax: isize, ymax: isize) -> HashSet<Pos> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Region` is never constructed
[INFO] [stdout]  --> src/solutions/_2024/day9.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Region {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `frag` is never used
[INFO] [stdout]   --> src/solutions/_2024/day9.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn frag(mut block_data: Vec<u32>) -> usize {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rearr_blocks` is never used
[INFO] [stdout]   --> src/solutions/_2024/day9.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn rearr_blocks(mut block_data: Vec<u32>, file_sizes: Vec<u8>, mut spaces: Vec<Region>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]   --> src/solutions/_2022/day10.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut X = 1;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `array::<impl [T; N]>::map` that must be used
[INFO] [stdout]   --> src/solutions/_2024/day8.rs:51:25
[INFO] [stdout]    |
[INFO] [stdout] 51 | /                         compute_antinode_pos(&(x, y), other, xmax, ymax).map(|x| {
[INFO] [stdout] 52 | |                             if let Some(x) = x {
[INFO] [stdout] 53 | |                                 antinodes.insert(x);
[INFO] [stdout] 54 | |                             }
[INFO] [stdout] 55 | |                         });
[INFO] [stdout]    | |__________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |                         let _ = compute_antinode_pos(&(x, y), other, xmax, ymax).map(|x| {
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.69s
[INFO] running `Command { std: "docker" "inspect" "0d374460ae97bdb62a074c05b812c42e2bea47a0d55113382a12f62087f3f528", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0d374460ae97bdb62a074c05b812c42e2bea47a0d55113382a12f62087f3f528", kill_on_drop: false }`
[INFO] [stdout] 0d374460ae97bdb62a074c05b812c42e2bea47a0d55113382a12f62087f3f528
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] edcf40fdf822b1324477f3df53a4be415c9dd6303fd1732a3cb1b0d1d009f6ea
[INFO] running `Command { std: "docker" "start" "-a" "edcf40fdf822b1324477f3df53a4be415c9dd6303fd1732a3cb1b0d1d009f6ea", kill_on_drop: false }`
[INFO] [stderr]    Compiling aoc2020 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `LitStr`
[INFO] [stdout]  --> src/macro.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 |     parse_macro_input, Expr, LitInt, LitStr, Token,
[INFO] [stdout]   |                                      ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LitStr`
[INFO] [stdout]  --> src/macro.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 |     parse_macro_input, Expr, LitInt, LitStr, Token,
[INFO] [stdout]   |                                      ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::solutions::*`
[INFO] [stdout]  --> src/solutions/_2020/day2.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::solutions::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> src/solutions/_2024/day4.rs:67:38
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 .filter(|(_, &char)| (char == b'X'))
[INFO] [stdout]    |                                      ^            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 67 -                 .filter(|(_, &char)| (char == b'X'))
[INFO] [stdout] 67 +                 .filter(|(_, &char)| char == b'X')
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `points`
[INFO] [stdout]   --> src/solutions/_2015/day14.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let mut points = info.iter().map(|_| 0).collect::<Vec<u32>>();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_points`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/solutions/_2015/day14.rs:30:45
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let part1 = info.iter().fold(0, |prev, (name, speed, fly, rest)| {
[INFO] [stdout]    |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/solutions/_2015/day14.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let mut points = info.iter().map(|_| 0).collect::<Vec<u32>>();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/solutions/_2022/day10.rs:49:24
[INFO] [stdout]    |
[INFO] [stdout] 49 |         .filter(|(idx, val)| {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Grid` is never used
[INFO] [stdout]  --> src/solutions/mod.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type Grid<'a> = &'a [&'a [u8]];
[INFO] [stdout]   |          ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Pos` is never used
[INFO] [stdout]  --> src/solutions/mod.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type Pos = (isize, isize);
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `usize_p` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:209:8
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub fn usize_p(x: &str) -> usize {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `i64_p` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:213:8
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub fn i64_p(x: &str) -> i64 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f64_p` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:217:8
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub fn f64_p(x: &str) -> f64 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f32_p` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub fn f32_p(x: &str) -> f32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sorted` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:233:8
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub fn sorted<T: std::cmp::Ord>(vec: &mut Vec<T>) -> impl std::iter::Iterator<Item = &mut T> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:238:8
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub fn next(x: usize, dx: isize, i: usize) -> Option<usize> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_mut` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub fn next_mut(x: &mut usize, dx: isize) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Sorted` is never used
[INFO] [stdout]    --> src/solutions/mod.rs:261:11
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub trait Sorted<T: std::cmp::Ord> {
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `meets_req` is never used
[INFO] [stdout]  --> src/solutions/_2015/day16.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn meets_req(req: &HashMap<&str, u64>, item: &str, count: u64) -> bool {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tuple` is never constructed
[INFO] [stdout]  --> src/solutions/_2015/day2.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Tuple(i64, i64);
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mov` is never used
[INFO] [stdout]  --> src/solutions/_2015/day3.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn mov(pos: &(i64, i64), diff: &(i64, i64)) -> (i64, i64) {
[INFO] [stdout]   |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Op` is never used
[INFO] [stdout]  --> src/solutions/_2015/day6.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum Op {
[INFO] [stdout]   |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_lights` is never used
[INFO] [stdout]   --> src/solutions/_2015/day6.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn update_lights(
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_on` is never used
[INFO] [stdout]   --> src/solutions/_2015/day6.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn count_on(lights: &[[u8; 1000]], lights2: &[[u8; 1000]]) -> (usize, usize) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Num` is never used
[INFO] [stdout]  --> src/solutions/_2015/day7.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | type Num = u16;
[INFO] [stdout]   |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Sym` is never used
[INFO] [stdout]  --> src/solutions/_2015/day7.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | type Sym<'a> = HashMap<&'a str, Num>;
[INFO] [stdout]   |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Def` is never used
[INFO] [stdout]  --> src/solutions/_2015/day7.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | type Def<'a> = HashMap<&'a str, &'a str>;
[INFO] [stdout]   |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bin_operate` is never used
[INFO] [stdout]   --> src/solutions/_2015/day7.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn bin_operate<'a>(l: &'a str, op: &str, r: &'a str, sym: &mut Sym<'a>, def: &Def<'a>) -> Num {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval` is never used
[INFO] [stdout]   --> src/solutions/_2015/day7.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn eval<'a>(id: &'a str, sym: &mut Sym<'a>, def: &Def<'a>) -> Num {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_0` is never used
[INFO] [stdout]  --> src/solutions/_2021/day3.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn solve_0<'b>(numbers: &Vec<&'b str>, idx: usize, keep_less: bool) -> &'b str {
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw` is never used
[INFO] [stdout]  --> src/solutions/_2022/day10.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn draw(s: i32, xpos: i32) {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inc` is never used
[INFO] [stdout]   --> src/solutions/_2022/day10.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn inc(x: i32) -> i32 {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve0` is never used
[INFO] [stdout]   --> src/solutions/_2022/day10.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn solve0(input: Input) -> i32 {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/solutions/_2022/day11.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum Token {
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Operation` is never used
[INFO] [stdout]   --> src/solutions/_2022/day11.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | enum Operation {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Monkey` is never constructed
[INFO] [stdout]   --> src/solutions/_2022/day11.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct Monkey {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate` is never used
[INFO] [stdout]   --> src/solutions/_2022/day11.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn evaluate(token: &Token, stress: u128) -> u128 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `inspect`, and `test` are never used
[INFO] [stdout]    --> src/solutions/_2022/day11.rs:37:8
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl Monkey {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout]  37 |     fn new(block: &[&str]) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     fn inspect(&mut self, _mod: u128, div: u128) -> Option<(u128, u128)> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     fn test(&self, stress: u128, _mod: u128, div: u128) -> (u128, u128) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simulate_round` is never used
[INFO] [stdout]    --> src/solutions/_2022/day11.rs:115:4
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn simulate_round(monkeys: &mut [Monkey], _mod: u128, div: u128) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve0` is never used
[INFO] [stdout]    --> src/solutions/_2022/day11.rs:127:4
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn solve0(input: &Vec<&str>) -> (u128, u128) {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve0` is never used
[INFO] [stdout]  --> src/solutions/_2022/day7.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn solve0(input: &crate::solutions::Input) -> HashMap<String, u32> {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve1` is never used
[INFO] [stdout]  --> src/solutions/_2022/day8.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn solve1(input: &[&str]) -> usize {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve0` is never used
[INFO] [stdout]   --> src/solutions/_2022/day8.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn solve0(input: &[&str]) -> usize {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Pos` is never used
[INFO] [stdout]  --> src/solutions/_2022/day9.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | type Pos = (i32, i32);
[INFO] [stdout]   |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `keep_up` is never used
[INFO] [stdout]  --> src/solutions/_2022/day9.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn keep_up(tail: &Pos, head: &Pos) -> Pos {
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_motion` is never used
[INFO] [stdout]   --> src/solutions/_2022/day9.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn make_motion(
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve0` is never used
[INFO] [stdout]   --> src/solutions/_2022/day9.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn solve0(input: Input) -> usize {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve1` is never used
[INFO] [stdout]   --> src/solutions/_2022/day9.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn solve1(input: Input) -> usize {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve0` is never used
[INFO] [stdout]  --> src/solutions/_2024/day1.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn solve0(input: &crate::solutions::Input) -> i32 {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve1` is never used
[INFO] [stdout]   --> src/solutions/_2024/day1.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn solve1(input: crate::solutions::Input) -> i32 {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_scores` is never used
[INFO] [stdout]  --> src/solutions/_2024/day10.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn get_scores(
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]  --> src/solutions/_2024/day2.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn check(vec: &[i32]) -> bool {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate` is never used
[INFO] [stdout]  --> src/solutions/_2024/day3.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn calculate(input: &str) -> i64 {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/solutions/_2024/day3.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn part2(input: &str) -> i64 {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_directional` is never used
[INFO] [stdout]  --> src/solutions/_2024/day4.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn find_directional(x: usize, y: usize, input: &[&[u8]], (dx, dy): (isize, isize)) -> bool {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_xmas` is never used
[INFO] [stdout]   --> src/solutions/_2024/day4.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn find_xmas(x: usize, y: usize, input: &[&[u8]]) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_x_mas` is never used
[INFO] [stdout]   --> src/solutions/_2024/day4.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn find_x_mas(x: isize, y: isize, input: &[&[u8]]) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve1` is never used
[INFO] [stdout]   --> src/solutions/_2024/day4.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn solve1(input: &[&[u8]]) -> usize {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve0` is never used
[INFO] [stdout]   --> src/solutions/_2024/day4.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn solve0(input: &[&[u8]]) -> usize {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_char` is never used
[INFO] [stdout]  --> src/solutions/_2024/day6.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn next_char(input: Grid, (x, y): Pos, (dx, dy): (isize, isize)) -> Option<(char, Pos)> {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rot` is never used
[INFO] [stdout]   --> src/solutions/_2024/day6.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn rot((x, y): (isize, isize)) -> (isize, isize) {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_path` is never used
[INFO] [stdout]   --> src/solutions/_2024/day6.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn calculate_path(input: Grid, start: Pos) -> (Set, usize) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Pos` is never used
[INFO] [stdout]   --> src/solutions/_2024/day6.rs:47:6
[INFO] [stdout]    |
[INFO] [stdout] 47 | type Pos = (usize, usize);
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Set` is never used
[INFO] [stdout]   --> src/solutions/_2024/day6.rs:48:6
[INFO] [stdout]    |
[INFO] [stdout] 48 | type Set = HashSet<Pos>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Dir` is never used
[INFO] [stdout]   --> src/solutions/_2024/day6.rs:49:6
[INFO] [stdout]    |
[INFO] [stdout] 49 | type Dir = (isize, isize);
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_loop` is never used
[INFO] [stdout]   --> src/solutions/_2024/day6.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn check_loop(input: Grid, start: Pos, obstacle: Pos, dir: Dir) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve0` is never used
[INFO] [stdout]   --> src/solutions/_2024/day6.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn solve0(input: Grid) -> (usize, usize) {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POWERS` is never used
[INFO] [stdout]  --> src/solutions/_2024/day7.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const POWERS: &[i64] = &[
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIGITS` is never used
[INFO] [stdout]   --> src/solutions/_2024/day7.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const DIGITS: &[i64] = &[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Num` is never constructed
[INFO] [stdout]   --> src/solutions/_2024/day7.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct Num {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_comb_2` is never used
[INFO] [stdout]   --> src/solutions/_2024/day7.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn get_comb_2(items: &[Num]) -> HashSet<Num> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_comb` is never used
[INFO] [stdout]    --> src/solutions/_2024/day7.rs:107:4
[INFO] [stdout]     |
[INFO] [stdout] 107 | fn get_comb(items: &[Num]) -> HashSet<Num> {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_solution` is never used
[INFO] [stdout]    --> src/solutions/_2024/day7.rs:120:4
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn check_solution(result: Num, ops: &[Num]) -> (bool, bool) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve0` is never used
[INFO] [stdout]    --> src/solutions/_2024/day7.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn solve0(input: Input) -> (i64, i64) {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next` is never used
[INFO] [stdout]  --> src/solutions/_2024/day8.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn next(a: &mut Pos, diff: &Pos, max: Pos) -> Option<Pos> {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_antinode_pos` is never used
[INFO] [stdout]   --> src/solutions/_2024/day8.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn compute_antinode_pos(a: &Pos, b: &Pos, xmax: isize, ymax: isize) -> [Option<Pos>; 2] {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_antinodes2` is never used
[INFO] [stdout]   --> src/solutions/_2024/day8.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn compute_antinodes2(a: &Pos, b: &Pos, xmax: isize, ymax: isize) -> HashSet<Pos> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Region` is never constructed
[INFO] [stdout]  --> src/solutions/_2024/day9.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Region {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `frag` is never used
[INFO] [stdout]   --> src/solutions/_2024/day9.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn frag(mut block_data: Vec<u32>) -> usize {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rearr_blocks` is never used
[INFO] [stdout]   --> src/solutions/_2024/day9.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn rearr_blocks(mut block_data: Vec<u32>, file_sizes: Vec<u8>, mut spaces: Vec<Region>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]   --> src/solutions/_2022/day10.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut X = 1;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `array::<impl [T; N]>::map` that must be used
[INFO] [stdout]   --> src/solutions/_2024/day8.rs:51:25
[INFO] [stdout]    |
[INFO] [stdout] 51 | /                         compute_antinode_pos(&(x, y), other, xmax, ymax).map(|x| {
[INFO] [stdout] 52 | |                             if let Some(x) = x {
[INFO] [stdout] 53 | |                                 antinodes.insert(x);
[INFO] [stdout] 54 | |                             }
[INFO] [stdout] 55 | |                         });
[INFO] [stdout]    | |__________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |                         let _ = compute_antinode_pos(&(x, y), other, xmax, ymax).map(|x| {
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.65s
[INFO] running `Command { std: "docker" "inspect" "edcf40fdf822b1324477f3df53a4be415c9dd6303fd1732a3cb1b0d1d009f6ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "edcf40fdf822b1324477f3df53a4be415c9dd6303fd1732a3cb1b0d1d009f6ea", kill_on_drop: false }`
[INFO] [stdout] edcf40fdf822b1324477f3df53a4be415c9dd6303fd1732a3cb1b0d1d009f6ea
