[INFO] cloning repository https://github.com/CodingMentalModels/advent-of-code-2022 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CodingMentalModels/advent-of-code-2022" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCodingMentalModels%2Fadvent-of-code-2022", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCodingMentalModels%2Fadvent-of-code-2022'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2fd2e383879d4339073fa81ec566f2026238dcee [INFO] building CodingMentalModels/advent-of-code-2022 against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCodingMentalModels%2Fadvent-of-code-2022" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/CodingMentalModels/advent-of-code-2022 on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/CodingMentalModels/advent-of-code-2022 [INFO] finished tweaking git repo https://github.com/CodingMentalModels/advent-of-code-2022 [INFO] tweaked toml for git repo https://github.com/CodingMentalModels/advent-of-code-2022 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/CodingMentalModels/advent-of-code-2022 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1fd104dc954bcd4472b84aae56097db3b5a1be1969bbcc5d36a582515865886c [INFO] running `Command { std: "docker" "start" "-a" "1fd104dc954bcd4472b84aae56097db3b5a1be1969bbcc5d36a582515865886c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1fd104dc954bcd4472b84aae56097db3b5a1be1969bbcc5d36a582515865886c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1fd104dc954bcd4472b84aae56097db3b5a1be1969bbcc5d36a582515865886c", kill_on_drop: false }` [INFO] [stdout] 1fd104dc954bcd4472b84aae56097db3b5a1be1969bbcc5d36a582515865886c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e39ebb289d195e0fde6f368df61ba7832340a9fa611dc64f8920538f34554988 [INFO] running `Command { std: "docker" "start" "-a" "e39ebb289d195e0fde6f368df61ba7832340a9fa611dc64f8920538f34554988", kill_on_drop: false }` [INFO] [stderr] Compiling either v1.8.0 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling advent-of-code-2022 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_01.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_02.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_04.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_05.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_06.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/problems/problem_06.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | if (n > self.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 46 - if (n > self.len()) { [INFO] [stdout] 46 + if n > self.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_07.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/problems/problem_07.rs:131:41 [INFO] [stdout] | [INFO] [stdout] 131 | Self::File(_, size) => { if (*size >= limit) { *size } else { usize::MAX } }, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 131 - Self::File(_, size) => { if (*size >= limit) { *size } else { usize::MAX } }, [INFO] [stdout] 131 + Self::File(_, size) => { if *size >= limit { *size } else { usize::MAX } }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_08.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `input::input::InputParser` [INFO] [stdout] --> src/problems/problem_09.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{input::input::InputParser, utility::{vector::Vec2, direction::Direction}}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/problems/problem_09.rs:47:18 [INFO] [stdout] | [INFO] [stdout] 47 | for i in (1..self.links.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 47 - for i in (1..self.links.len()) { [INFO] [stdout] 47 + for i in 1..self.links.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_10.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_11.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/problems/problem_11.rs:138:18 [INFO] [stdout] | [INFO] [stdout] 138 | for i in (0..self.n_monkeys()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 138 - for i in (0..self.n_monkeys()) { [INFO] [stdout] 138 + for i in 0..self.n_monkeys() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `input::input::InputParser` [INFO] [stdout] --> src/problems/problem_12.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{input::input::InputParser, utility::vector::Vec2}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_14.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `input::input::InputParser` [INFO] [stdout] --> src/problems/problem_15.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{input::input::InputParser, utility::{vector::Vec2, parser::Parser}}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thread::current` [INFO] [stdout] --> src/problems/problem_16.rs:1:44 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::{HashMap, HashSet}, thread::current}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_16.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::Repeat` [INFO] [stdout] --> src/problems/problem_17.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::iter::Repeat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_17.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/problems/problem_17.rs:136:19 [INFO] [stdout] | [INFO] [stdout] 136 | for _i in (0..(n - 1)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 136 - for _i in (0..(n - 1)) { [INFO] [stdout] 136 + for _i in 0..(n - 1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_18.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_19.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_20.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_21.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_22.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_23.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_24.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::input::input::InputParser` [INFO] [stdout] --> src/problems/problem_25.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::input::input::InputParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `maybe_right_bracket` [INFO] [stdout] --> src/problems/problem_05.rs:74:17 [INFO] [stdout] | [INFO] [stdout] 74 | let maybe_right_bracket = chars.pop_front(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_maybe_right_bracket` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `maybe_space` [INFO] [stdout] --> src/problems/problem_05.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | let maybe_space = chars.pop_front(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_maybe_space` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/problems/problem_07.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let mut stream = CommandStream::from_string(input).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/problems/problem_07.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let mut stream = CommandStream::from_string(input).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/problems/problem_07.rs:29:32 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn from_command_stream(mut stream: CommandStream) -> Self { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/problems/problem_07.rs:110:28 [INFO] [stdout] | [INFO] [stdout] 110 | self.sum_sizes_if(|n| true) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ls` [INFO] [stdout] --> src/problems/problem_07.rs:211:21 [INFO] [stdout] | [INFO] [stdout] 211 | let ls = self.expect("ls"); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cd` [INFO] [stdout] --> src/problems/problem_07.rs:217:21 [INFO] [stdout] | [INFO] [stdout] 217 | let cd = self.expect("cd "); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m` [INFO] [stdout] --> src/problems/problem_11.rs:303:26 [INFO] [stdout] | [INFO] [stdout] 303 | Self::Moduli(m) => { panic!("Already modulized!") }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/problems/problem_11.rs:331:25 [INFO] [stdout] | [INFO] [stdout] 331 | Err(e) => panic!("Divisor wasn't found in moduli: {}", divisor) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/problems/problem_13.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | let mut parser = Parser::new(s); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/problems/problem_13.rs:142:37 [INFO] [stdout] | [INFO] [stdout] 142 | (Self::N(l), Self::List(r)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `l` [INFO] [stdout] --> src/problems/problem_13.rs:145:25 [INFO] [stdout] | [INFO] [stdout] 145 | (Self::List(l), Self::N(r)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `below_left` [INFO] [stdout] --> src/problems/problem_14.rs:115:13 [INFO] [stdout] | [INFO] [stdout] 115 | let below_left = below - Vec2::i(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_below_left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `below_right` [INFO] [stdout] --> src/problems/problem_14.rs:116:13 [INFO] [stdout] | [INFO] [stdout] 116 | let below_right = below + Vec2::i(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_below_right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_18.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_18a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_18.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_18b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_19.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_19a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_19.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_19b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_20.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_20a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_20.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_20b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_21.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_21a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_21.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_21b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_22.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_22a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_22.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_22b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_23.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_23a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_23.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_23b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_24.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_24a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_24.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_24b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_25.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_25a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_25.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_25b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INPUT_PATH_HEAD` is never used [INFO] [stdout] --> src/input/input.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | const INPUT_PATH_HEAD: &str = "C:/Users/cmsdu/repos/advent-of-code-2022/input/"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InputParser` is never constructed [INFO] [stdout] --> src/input/input.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct InputParser; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/input/input.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl InputParser { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub fn new() -> InputParser { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | pub fn parse_as_i32(&self, filepath: &str) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn parse_as_binary(&self, filepath: &str) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn parse_as_string(&self, filepath: &str) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn parse_as_string_chunks(&self, filepath: &str, delimiter: &str) -> Result>, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn parse_to_single_string(&self, filepath: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn chunk(input: Vec, chunk_size: usize) -> Result>, String> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_01a` is never used [INFO] [stdout] --> src/problems/problem_01.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_01a(input: Vec>) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_01b` is never used [INFO] [stdout] --> src/problems/problem_01.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn solve_problem_01b(input: Vec>) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_02a` is never used [INFO] [stdout] --> src/problems/problem_02.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn solve_problem_02a(input: Vec<(String, String)>) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_02b` is never used [INFO] [stdout] --> src/problems/problem_02.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn solve_problem_02b(input: Vec<(String, String)>) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `HandShape` is never used [INFO] [stdout] --> src/problems/problem_02.rs:18:6 [INFO] [stdout] | [INFO] [stdout] 18 | enum HandShape { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_string`, `from_string_problem_02a`, `to_score`, `evaluate`, and `score_round` are never used [INFO] [stdout] --> src/problems/problem_02.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl HandShape { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 25 | [INFO] [stdout] 26 | pub fn from_string(s: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn from_string_problem_02a(s: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn to_score(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn evaluate(lhs: &HandShape, rhs: &HandShape) -> Outcome { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn score_round(lhs: &HandShape, rhs: &HandShape) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Outcome` is never used [INFO] [stdout] --> src/problems/problem_02.rs:73:6 [INFO] [stdout] | [INFO] [stdout] 73 | enum Outcome { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `score`, `from_string`, and `get_hand_shape_to_achieve` are never used [INFO] [stdout] --> src/problems/problem_02.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl Outcome { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 80 | [INFO] [stdout] 81 | pub fn score(&self) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn from_string(s: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn get_hand_shape_to_achieve(&self, opponent_shape: &HandShape) -> HandShape { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AMOUNT_TO_SUBTRACT_FROM_LOWERCASE` is never used [INFO] [stdout] --> src/problems/problem_03.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const AMOUNT_TO_SUBTRACT_FROM_LOWERCASE: u32 = 96; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AMOUNT_TO_SUBTRACT_FROM_UPPERCASE` is never used [INFO] [stdout] --> src/problems/problem_03.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const AMOUNT_TO_SUBTRACT_FROM_UPPERCASE: u32 = 38; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_03a` is never used [INFO] [stdout] --> src/problems/problem_03.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn solve_problem_03a(input: Vec) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_03b` is never used [INFO] [stdout] --> src/problems/problem_03.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn solve_problem_03b(input: Vec) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_priority` is never used [INFO] [stdout] --> src/problems/problem_03.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn get_priority(c: char) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_common_element` is never used [INFO] [stdout] --> src/problems/problem_03.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn get_common_element(rucksack: String) -> char { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_common_element_from_vec` is never used [INFO] [stdout] --> src/problems/problem_03.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn get_common_element_from_vec(strings: Vec) -> char { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Range` is never used [INFO] [stdout] --> src/problems/problem_04.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | type Range = (u32, u32); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Pair` is never used [INFO] [stdout] --> src/problems/problem_04.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type Pair = (Range, Range); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_04a` is never used [INFO] [stdout] --> src/problems/problem_04.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn solve_problem_04a(input: Vec) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_04b` is never used [INFO] [stdout] --> src/problems/problem_04.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn solve_problem_04b(input: Vec) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_cleaning_pair` is never used [INFO] [stdout] --> src/problems/problem_04.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn parse_cleaning_pair(s: String) -> Pair { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_range` is never used [INFO] [stdout] --> src/problems/problem_04.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn parse_range(s: &str) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `overlaps` is never used [INFO] [stdout] --> src/problems/problem_04.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn overlaps(pair: Pair) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `are_sequential` is never used [INFO] [stdout] --> src/problems/problem_04.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn are_sequential(pair: Pair) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `are_sequential_in_order` is never used [INFO] [stdout] --> src/problems/problem_04.rs:44:4 [INFO] [stdout] | [INFO] [stdout] 44 | fn are_sequential_in_order(pair: Pair) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `are_sequential_in_inverse_order` is never used [INFO] [stdout] --> src/problems/problem_04.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn are_sequential_in_inverse_order(pair: Pair) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_completely_overlapping` is never used [INFO] [stdout] --> src/problems/problem_04.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn has_completely_overlapping(pair: Pair) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_left_subset_of_right` is never used [INFO] [stdout] --> src/problems/problem_04.rs:57:4 [INFO] [stdout] | [INFO] [stdout] 57 | fn is_left_subset_of_right(pair: Pair) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_right_subset_of_left` is never used [INFO] [stdout] --> src/problems/problem_04.rs:63:4 [INFO] [stdout] | [INFO] [stdout] 63 | fn is_right_subset_of_left(pair: Pair) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_05a` is never used [INFO] [stdout] --> src/problems/problem_05.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn solve_problem_05a(input: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_05b` is never used [INFO] [stdout] --> src/problems/problem_05.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn solve_problem_05b(input: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/problems/problem_05.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn parse_input(input: String) -> (Stacks, Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Stacks` is never constructed [INFO] [stdout] --> src/problems/problem_05.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | struct Stacks { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/problem_05.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl Stacks { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 44 | [INFO] [stdout] 45 | pub fn new(stacks: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn from_string(s: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | fn parse_row(s: String) -> Result>, String> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn get_stack(&self, n: usize) -> &Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn get_n_boxes(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn get_top_boxes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn get_top_boxes_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn handle_instructions(&mut self, instructions: Vec, model: Model) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn handle_instruction(&mut self, instruction: Instruction, model: Model) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn move_box(&mut self, from_stack: usize, to_stack: usize) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn move_boxes_at_once(&mut self, number_to_move: usize, from_stack: usize, to_stack: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Instruction` is never constructed [INFO] [stdout] --> src/problems/problem_05.rs:141:8 [INFO] [stdout] | [INFO] [stdout] 141 | struct Instruction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `from_string`, and `unpack` are never used [INFO] [stdout] --> src/problems/problem_05.rs:149:12 [INFO] [stdout] | [INFO] [stdout] 147 | impl Instruction { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 148 | [INFO] [stdout] 149 | pub fn new(number_to_move: usize, from_stack: usize, to_stack: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn from_string(s: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn unpack(&self) -> (usize, usize, usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Model` is never used [INFO] [stdout] --> src/problems/problem_05.rs:174:6 [INFO] [stdout] | [INFO] [stdout] 174 | enum Model { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_06a` is never used [INFO] [stdout] --> src/problems/problem_06.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn solve_problem_06a(input: String) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_06b` is never used [INFO] [stdout] --> src/problems/problem_06.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn solve_problem_06b(input: String) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Subroutine` is never constructed [INFO] [stdout] --> src/problems/problem_06.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | struct Subroutine { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `consume`, `len`, and `last_n_were_different` are never used [INFO] [stdout] --> src/problems/problem_06.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Subroutine { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 32 | [INFO] [stdout] 33 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn consume(&mut self, c: char) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn last_n_were_different(&self, n: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_07a` is never used [INFO] [stdout] --> src/problems/problem_07.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn solve_problem_07a(input: String) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_07b` is never used [INFO] [stdout] --> src/problems/problem_07.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn solve_problem_07b(input: String) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FileTreeNode` is never used [INFO] [stdout] --> src/problems/problem_07.rs:22:6 [INFO] [stdout] | [INFO] [stdout] 22 | enum FileTreeNode { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/problem_07.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl FileTreeNode { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 28 | [INFO] [stdout] 29 | pub fn from_command_stream(mut stream: CommandStream) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | fn from_command_stream_recursive(mut stream: CommandStream) -> (Self, CommandStream) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn file(name: String, size: usize) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn directory(name: String, children: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn depth(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn sum_sizes_if(&self, f: fn(usize) -> bool) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn sum_sizes(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn redundant_sum_directory_sizes_if(&self, f: fn(usize) -> bool) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn redundant_sum_sizes_if(&self, f: fn(usize) -> bool) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn smallest_directory_bigger_than(&self, limit: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommandStream` is never constructed [INFO] [stdout] --> src/problems/problem_07.rs:146:8 [INFO] [stdout] | [INFO] [stdout] 146 | struct CommandStream { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `from_string`, `peek`, and `pop` are never used [INFO] [stdout] --> src/problems/problem_07.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 150 | impl CommandStream { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 151 | [INFO] [stdout] 152 | pub fn new(commands: VecDeque) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn from_string(commands: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn peek(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommandParser` is never constructed [INFO] [stdout] --> src/problems/problem_07.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | struct CommandParser { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/problem_07.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 180 | impl CommandParser { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 181 | [INFO] [stdout] 182 | pub fn new(commands: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn n_remaining_to_parse(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn increment_pointer(&mut self, n: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn parse(&mut self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | fn parse_command(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | fn parse_command_result(s: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn peek_char(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | fn consume_line(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | fn consume_until_next_command(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | fn consume_until_whitespace(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 285 | fn consume_remaining(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | fn consume_n(&mut self, n: usize) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 299 | fn expect_end_of_line_or_file(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 306 | fn expect_end_of_line(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 310 | fn expect(&mut self, s: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Command` is never used [INFO] [stdout] --> src/problems/problem_07.rs:323:6 [INFO] [stdout] | [INFO] [stdout] 323 | enum Command { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CommandResult` is never used [INFO] [stdout] --> src/problems/problem_07.rs:333:6 [INFO] [stdout] | [INFO] [stdout] 333 | enum CommandResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_08a` is never used [INFO] [stdout] --> src/problems/problem_08.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn solve_problem_08a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_08b` is never used [INFO] [stdout] --> src/problems/problem_08.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn solve_problem_08b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Forest` is never constructed [INFO] [stdout] --> src/problems/problem_08.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct Forest { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/problem_08.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Forest { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 22 | [INFO] [stdout] 23 | pub fn new(trees: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn from_strings(strings: Vec) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn n_rows(&self) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn n_columns(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn get(&self, i: usize, j: usize) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn get_row(&self, i: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn get_column(&self, j: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn get_max_scenic_score(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn get_scenic_score(&self, i: usize, j: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn get_viewing_distance(&self, direction: Direction, i: usize, j: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn get_view_line(&self, direction: Direction, i: usize, j: usize) -> Vec<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn count_visible(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn get_visible(&self) -> HashSet<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn get_boundary_coordinates(&self) -> HashSet<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn get_visible_in_row(&self, i: usize) -> HashSet<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn get_visible_in_column(&self, j: usize) -> HashSet<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn get_visible_from_list(trees: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | fn get_visible_from_front(trees: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_09a` is never used [INFO] [stdout] --> src/problems/problem_09.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn solve_problem_09a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_09b` is never used [INFO] [stdout] --> src/problems/problem_09.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn solve_problem_09b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rope` is never constructed [INFO] [stdout] --> src/problems/problem_09.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | struct Rope { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `default`, `make_moves_and_get_tails`, `make_move_and_get_tails`, and `step_and_get_tail` are never used [INFO] [stdout] --> src/problems/problem_09.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl Rope { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 25 | [INFO] [stdout] 26 | pub fn new(links: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn default(n_links: usize) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn make_moves_and_get_tails(&mut self, moves: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn make_move_and_get_tails(&mut self, m: Move) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | fn step_and_get_tail(&mut self, direction: Direction) -> Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RopeLink` is never constructed [INFO] [stdout] --> src/problems/problem_09.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | struct RopeLink { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RopeLink` has a derived impl for the trait `Default`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/problem_09.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 61 | impl RopeLink { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 62 | [INFO] [stdout] 63 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn make_moves_and_get_tails(&mut self, moves: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn make_move_and_get_tails(&mut self, m: Move) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | fn move_in_direction_and_get_tail(&mut self, direction: Direction) -> Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn update_head_and_follow(&mut self, new_head: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | fn update_tail(&mut self) -> Vec2 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn get_l1_length(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn get_direction_vector(&self) -> Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn is_colinear(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Move` is never constructed [INFO] [stdout] --> src/problems/problem_09.rs:125:8 [INFO] [stdout] | [INFO] [stdout] 125 | struct Move { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `from_string`, and `unpack` are never used [INFO] [stdout] --> src/problems/problem_09.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl Move { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 131 | [INFO] [stdout] 132 | pub fn new(direction: Direction, repetitions: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn from_string(s: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn unpack(&self) -> (Direction, usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_10a` is never used [INFO] [stdout] --> src/problems/problem_10.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_10a(input: Vec) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_10b` is never used [INFO] [stdout] --> src/problems/problem_10.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn solve_problem_10b(input: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Crt` is never constructed [INFO] [stdout] --> src/problems/problem_10.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | struct Crt { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `render`, `push`, `get_next_to_add`, and `get_symbol` are never used [INFO] [stdout] --> src/problems/problem_10.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl Crt { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 26 | [INFO] [stdout] 27 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn render(&mut self, cpu: Cpu) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | fn push(&mut self, is_lit: bool) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | fn get_next_to_add(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | fn get_symbol(is_lit: bool) -> char { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cpu` is never constructed [INFO] [stdout] --> src/problems/problem_10.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | struct Cpu { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/problem_10.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 80 | impl Cpu { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 81 | [INFO] [stdout] 82 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn get_cycles(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn get_register(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn get_historical_register(&self, i: usize) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_signal_strength(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn consume_all(&mut self, instructions: Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn consume(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Instruction` is never used [INFO] [stdout] --> src/problems/problem_10.rs:131:6 [INFO] [stdout] | [INFO] [stdout] 131 | enum Instruction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_string` is never used [INFO] [stdout] --> src/problems/problem_10.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 136 | impl Instruction { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 137 | [INFO] [stdout] 138 | pub fn from_string(s: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Destination` is never used [INFO] [stdout] --> src/problems/problem_11.rs:6:6 [INFO] [stdout] | [INFO] [stdout] 6 | type Destination = usize; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_11a` is never used [INFO] [stdout] --> src/problems/problem_11.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn solve_problem_11a(input: String) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_11b` is never used [INFO] [stdout] --> src/problems/problem_11.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn solve_problem_11b(input: String) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MonkeyPool` is never constructed [INFO] [stdout] --> src/problems/problem_11.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | struct MonkeyPool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/problem_11.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl MonkeyPool { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 33 | [INFO] [stdout] 34 | pub fn new(monkeys: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn from_string(s: String, use_moduli: bool) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn modulize(self) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn n_monkeys(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn get_monkeys(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | fn consume_starting_items(parser: &mut Parser) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | fn consume_operation(parser: &mut Parser) -> Operation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | fn consume_test(parser: &mut Parser) -> (u32, Destination, Destination) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | fn consume_destination(parser: &mut Parser, condition: bool) -> Destination { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn execute_rounds(&mut self, n: usize, with_relief: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn execute_round(&mut self, with_relief: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn get_inspection_counts(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Monkey` is never constructed [INFO] [stdout] --> src/problems/problem_11.rs:152:8 [INFO] [stdout] | [INFO] [stdout] 152 | struct Monkey { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/problem_11.rs:163:12 [INFO] [stdout] | [INFO] [stdout] 161 | impl Monkey { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 162 | [INFO] [stdout] 163 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn modulize(self, moduli: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn get_items(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn apply_operation(&self, n: ItemWorryLevel) -> ItemWorryLevel { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn get_test_divisor(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn test(&self, n: &ItemWorryLevel) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn get_destination(&self, b: bool) -> Destination { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn get_inspection_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn execute_round(&mut self, with_relief: bool) -> Vec<(ItemWorryLevel, Destination)> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | pub fn apply_relief(n: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn push(&mut self, n: ItemWorryLevel) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `modulize`, `unwrap`, `from_n`, and `is_disible_by` are never used [INFO] [stdout] --> src/problems/problem_11.rs:300:12 [INFO] [stdout] | [INFO] [stdout] 298 | impl ItemWorryLevel { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 299 | [INFO] [stdout] 300 | pub fn modulize(self, moduli: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn unwrap(&self) -> u32 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 314 | pub fn from_n(n: u32, maybe_moduli: Option>) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 321 | pub fn is_disible_by(&self, divisor: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_n` is never used [INFO] [stdout] --> src/problems/problem_11.rs:355:12 [INFO] [stdout] | [INFO] [stdout] 344 | impl ItemWorryLevelModuli { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 355 | pub fn from_n(n: u32, moduli: Vec) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Operation` is never used [INFO] [stdout] --> src/problems/problem_11.rs:363:6 [INFO] [stdout] | [INFO] [stdout] 363 | enum Operation { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `apply` is never used [INFO] [stdout] --> src/problems/problem_11.rs:371:12 [INFO] [stdout] | [INFO] [stdout] 369 | impl Operation { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 370 | [INFO] [stdout] 371 | pub fn apply(&self, n: ItemWorryLevel) -> ItemWorryLevel { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_12a` is never used [INFO] [stdout] --> src/problems/problem_12.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn solve_problem_12a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_12b` is never used [INFO] [stdout] --> src/problems/problem_12.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn solve_problem_12b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_height` is never used [INFO] [stdout] --> src/problems/problem_12.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn to_height(c: char) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Grid` is never constructed [INFO] [stdout] --> src/problems/problem_12.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | struct Grid { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/problem_12.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl Grid { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 39 | [INFO] [stdout] 40 | pub fn new(starting_point: Vec2, ending_point: Vec2, grid: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn from_strings(strings: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | fn parse_starting_and_ending_points(strings: &Vec) -> (Vec2, Vec2) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | fn parse_row(s: String) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn parse_char(c: char) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn get(&self, v: Vec2) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn maybe_get(&self, v: Vec2) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn is_in_bounds(&self, v: Vec2) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn get_dimensions(&self) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn get_starting_point(&self) -> Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn get_ending_point(&self) -> Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn get_coordinates(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn get_neighbors(&self, coordinates: Vec2) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn get_inverse_neighbors(&self, coordinates: Vec2) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn get_adjacent(&self, coordinates: Vec2) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn get_shortest_path_between(&self, use_inverse_neighbors: bool, start: Vec2, end: Vec2) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn get_shortest_path(&self, use_inverse_neighbors: bool, start: Vec2, end_condition: &dyn Fn(Vec2) -> bool) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | fn get_path_from_parent_map(parent_map: HashMap>, node: Vec2) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_13a` is never used [INFO] [stdout] --> src/problems/problem_13.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn solve_problem_13a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_13b` is never used [INFO] [stdout] --> src/problems/problem_13.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn solve_problem_13b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PacketPart` is never used [INFO] [stdout] --> src/problems/problem_13.rs:31:6 [INFO] [stdout] | [INFO] [stdout] 31 | enum PacketPart { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/problems/problem_13.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 52 | impl PacketPart { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 53 | [INFO] [stdout] 54 | pub fn parse_packet_pairs(strings: Vec) -> Vec<(Self, Self)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn from_strings(strings: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn from_string(s: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | fn tokenize(mut parser: Parser) -> VecDeque { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | fn get_next_token(parser: &mut Parser) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | fn tokenize_number(parser: &mut Parser) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | fn from_tokens(mut tokens: VecDeque) -> (Self, VecDeque) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn is_ordered(left: &Self, right: &Self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Token` is never used [INFO] [stdout] --> src/problems/problem_13.rs:166:6 [INFO] [stdout] | [INFO] [stdout] 166 | enum Token { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_14a` is never used [INFO] [stdout] --> src/problems/problem_14.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn solve_problem_14a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_14b` is never used [INFO] [stdout] --> src/problems/problem_14.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn solve_problem_14b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cave` is never constructed [INFO] [stdout] --> src/problems/problem_14.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | struct Cave { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/problem_14.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl Cave { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 35 | [INFO] [stdout] 36 | pub fn new(material_map: HashMap, lowest_points: HashMap, floor_y: Option) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn from_strings(strings: Vec, floor_delta_y: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn lines_to_points(lines: String) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn get(&self, v: &Vec2) -> Material { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn drop_sand_until_abyss(&mut self, starting_position: &Vec2) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn drop_sand(&mut self, starting_position: &Vec2) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | fn get_next_sand_position(&self, v: Vec2) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | fn is_in_abyss(&self, v: &Vec2) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | fn has_sand_in_abyss(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn count_non_abyss_sand(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Material` is never used [INFO] [stdout] --> src/problems/problem_14.rs:164:6 [INFO] [stdout] | [INFO] [stdout] 164 | enum Material { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_15a` is never used [INFO] [stdout] --> src/problems/problem_15.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn solve_problem_15a(input: Vec, row_y: i32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_15b` is never used [INFO] [stdout] --> src/problems/problem_15.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn solve_problem_15b(input: Vec, search_space_size: usize) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sensor` is never constructed [INFO] [stdout] --> src/problems/problem_15.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | struct Sensor { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/problem_15.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 54 | impl Sensor { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 55 | [INFO] [stdout] 56 | pub fn new(position: Vec2, beacon_position: Vec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn from_strings(strings: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn from_string(s: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | fn parse_vec2(parser: &mut Parser) -> Vec2 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn beacon_is_possible(&self, position: Vec2) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn get_x_bounds(&self) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn get_y_bounds(&self) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn get_surface_such_that(&self, constraint: &dyn Fn(Vec2) -> bool) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Time` is never used [INFO] [stdout] --> src/problems/problem_16.rs:6:6 [INFO] [stdout] | [INFO] [stdout] 6 | type Time = usize; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INITIAL_MINUTES_UNTIL_ERUPTION` is never used [INFO] [stdout] --> src/problems/problem_16.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const INITIAL_MINUTES_UNTIL_ERUPTION: Time = 30; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MINUTES_SPENT_TEACHING_ELEPHANT` is never used [INFO] [stdout] --> src/problems/problem_16.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const MINUTES_SPENT_TEACHING_ELEPHANT: Time = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DISTANCE_BIGGER_THAN_MAX` is never used [INFO] [stdout] --> src/problems/problem_16.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const DISTANCE_BIGGER_THAN_MAX: usize = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_16a` is never used [INFO] [stdout] --> src/problems/problem_16.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn solve_problem_16a(input: Vec) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_16b` is never used [INFO] [stdout] --> src/problems/problem_16.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn solve_problem_16b(input: Vec) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_minutes_until_eruption` is never used [INFO] [stdout] --> src/problems/problem_16.rs:38:4 [INFO] [stdout] | [INFO] [stdout] 38 | fn get_minutes_until_eruption(t: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_causal_radius` is never used [INFO] [stdout] --> src/problems/problem_16.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn get_causal_radius(t: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValveGraph` is never constructed [INFO] [stdout] --> src/problems/problem_16.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | struct ValveGraph { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/problem_16.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 57 | impl ValveGraph { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 58 | [INFO] [stdout] 59 | pub fn new(valves: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn get_valve(&self, label: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn get_index(&self, label: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn index_to_label(&self, i: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn get_labels(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn get_neighbors(&self, label: &str) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn get_distance(&self, i_label: &str, j_label: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn compute_distances(valves: Vec) -> HashMap<(usize, usize), usize> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn get_maximum_flow(&self, unvisited: &HashSet, time_remaining: Time, current_position: usize, max_so_far: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn get_maximum_flow_with_elephant(&self, unvisited: &HashSet, time_remaining: Time, player_plan: Plan, elephant_plan: Plan... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | fn visit_with_elephant( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn get_open_indices_within(&self, distance: usize, player_position: &str) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 233 | pub fn get_open_indices(&self) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 237 | pub fn get_indices_within(&self, distance: usize, player_position: &str) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn is_open(&self, label: &str) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn is_closed(&self, label: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn open_all(&mut self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn open_valves(&mut self, labels: Vec<&str>) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | pub fn open(&mut self, label: &str) -> Option<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | pub fn close_all(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | pub fn close(&mut self, label: &str) -> Option<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 299 | pub fn get_flow_rate(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn get_cumulative_pressure_from(&self, t: usize) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Plan` is never used [INFO] [stdout] --> src/problems/problem_16.rs:311:6 [INFO] [stdout] | [INFO] [stdout] 311 | enum Plan { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_target`, `get_ticked`, and `arrived` are never used [INFO] [stdout] --> src/problems/problem_16.rs:318:12 [INFO] [stdout] | [INFO] [stdout] 316 | impl Plan { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 317 | [INFO] [stdout] 318 | pub fn new(target: usize, time_remaining: Time) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn get_target(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 329 | pub fn get_ticked(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 341 | pub fn arrived(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Valve` is never constructed [INFO] [stdout] --> src/problems/problem_16.rs:352:8 [INFO] [stdout] | [INFO] [stdout] 352 | struct Valve { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/problem_16.rs:361:12 [INFO] [stdout] | [INFO] [stdout] 359 | impl Valve { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 360 | [INFO] [stdout] 361 | pub fn new(label: String, flow_rate: u32, neighbors: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 365 | pub fn linear(flows: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 382 | pub fn from_strings(strings: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | pub fn from_string(s: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 410 | pub fn get_label(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 414 | pub fn get_flow_rate(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | pub fn get_neighbors(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 422 | pub fn get_cumulative_pressure_from(&self, t: Time) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 428 | pub fn get_cumulative_pressure_if_opened_over(&self, time_remaining: Time) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | pub fn open(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 436 | pub fn is_open(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 440 | pub fn close(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 444 | pub fn is_closed(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_17a` is never used [INFO] [stdout] --> src/problems/problem_17.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn solve_problem_17a(input: String) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_17b` is never used [INFO] [stdout] --> src/problems/problem_17.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn solve_problem_17b(input: String) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Time` is never used [INFO] [stdout] --> src/problems/problem_17.rs:34:6 [INFO] [stdout] | [INFO] [stdout] 34 | type Time = usize; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WIDTH` is never used [INFO] [stdout] --> src/problems/problem_17.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | const WIDTH: usize = 7; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_PERIOD` is never used [INFO] [stdout] --> src/problems/problem_17.rs:37:7 [INFO] [stdout] | [INFO] [stdout] 37 | const MAX_PERIOD: usize = 50455; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Simulation` is never constructed [INFO] [stdout] --> src/problems/problem_17.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | struct Simulation { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/problem_17.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 50 | impl Simulation { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 51 | [INFO] [stdout] 52 | pub fn new(jet_patterns: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn from_string(jet_patterns: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn get_time_elapsed(&self) -> Time { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn get_n_rocks_fallen(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn get_falling_rock_position(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn get_falling_rock_type(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn get_occupied_squares_on_surface(&self) -> &OccupiedSquares { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_period_start_period_and_height_difference(&mut self) -> Option<(Time, Time, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn is_flat(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn get_height(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn step_until_before_the_nth_rock(&mut self, n: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn step_until_rock_lands(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn step(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn falling_rock_has_landed(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | fn get_movement_effect(&self, direction: Direction) -> Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn get_falling_rock_initial_position(&self) -> Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SimulationPhase` is never used [INFO] [stdout] --> src/problems/problem_17.rs:224:6 [INFO] [stdout] | [INFO] [stdout] 224 | enum SimulationPhase { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_rock_position` is never used [INFO] [stdout] --> src/problems/problem_17.rs:232:12 [INFO] [stdout] | [INFO] [stdout] 230 | impl SimulationPhase { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 231 | [INFO] [stdout] 232 | pub fn get_rock_position(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Rock` is never used [INFO] [stdout] --> src/problems/problem_17.rs:242:6 [INFO] [stdout] | [INFO] [stdout] 242 | enum Rock { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/problem_17.rs:252:12 [INFO] [stdout] | [INFO] [stdout] 250 | impl Rock { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 251 | [INFO] [stdout] 252 | pub fn all() -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | pub fn get_next(&self) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | pub fn get_width(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 282 | pub fn rock_would_collide_with_wall(&self, rock_position: Vec2) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | pub fn get_stone_positions_at_surface(&self, rock_position: Vec2) -> OccupiedSquares { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | pub fn get_stone_positions_unchecked(&self, rock_position: Vec2) -> OccupiedSquares { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 295 | pub fn get_relative_stone_positions(&self) -> OccupiedSquares { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 299 | fn get_relative_stone_positions_as_vecs(&self) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OccupiedSquares` is never constructed [INFO] [stdout] --> src/problems/problem_17.rs:340:8 [INFO] [stdout] | [INFO] [stdout] 340 | struct OccupiedSquares(HashSet); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OccupiedSquares` has a derived impl for the trait `Default`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/problem_17.rs:344:12 [INFO] [stdout] | [INFO] [stdout] 342 | impl OccupiedSquares { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 343 | [INFO] [stdout] 344 | pub fn new_unchecked(vecs: HashSet) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 348 | pub fn new(vecs: HashSet) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 356 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 360 | pub fn is_disjoint(&self, other: &Self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 364 | pub fn intersects(&self, other: &Self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn contains(&self, v: Vec2) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 372 | pub fn intersect(&self, other: &Self) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 376 | pub fn union(&self, other: &Self) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 380 | pub fn get_max_y(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 384 | pub fn shift(&self, delta_v: Vec2) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 388 | fn get_signature(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 397 | fn get_surface(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_18a` is never used [INFO] [stdout] --> src/problems/problem_18.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_18a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_18b` is never used [INFO] [stdout] --> src/problems/problem_18.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_18b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_19a` is never used [INFO] [stdout] --> src/problems/problem_19.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_19a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_19b` is never used [INFO] [stdout] --> src/problems/problem_19.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_19b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_20a` is never used [INFO] [stdout] --> src/problems/problem_20.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_20a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_20b` is never used [INFO] [stdout] --> src/problems/problem_20.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_20b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_21a` is never used [INFO] [stdout] --> src/problems/problem_21.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_21a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_21b` is never used [INFO] [stdout] --> src/problems/problem_21.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_21b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_22a` is never used [INFO] [stdout] --> src/problems/problem_22.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_22a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_22b` is never used [INFO] [stdout] --> src/problems/problem_22.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_22b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_23a` is never used [INFO] [stdout] --> src/problems/problem_23.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_23a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_23b` is never used [INFO] [stdout] --> src/problems/problem_23.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_23b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_24a` is never used [INFO] [stdout] --> src/problems/problem_24.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_24a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_24b` is never used [INFO] [stdout] --> src/problems/problem_24.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_24b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_25a` is never used [INFO] [stdout] --> src/problems/problem_25.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_25a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_problem_25b` is never used [INFO] [stdout] --> src/problems/problem_25.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_25b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Left`, `Right`, `Down`, and `Up` are never constructed [INFO] [stdout] --> src/utility/direction.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum Direction { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 7 | Left, [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | Right, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 9 | Down, [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | Up, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Direction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_string` and `get_delta` are never used [INFO] [stdout] --> src/utility/direction.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Direction { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 14 | [INFO] [stdout] 15 | pub fn from_string(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn get_delta(&self) -> Vec2 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/utility/vector.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 50 | impl Vec2 { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 51 | [INFO] [stdout] 52 | pub fn new(x: i32, y: i32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn x(&self) -> i32 { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn y(&self) -> i32 { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn i() -> Self { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn j() -> Self { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn get_l1_norm(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn signum(&self) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn get_points_between(left: Self, right: Self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parser` is never constructed [INFO] [stdout] --> src/utility/parser.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Parser { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Parser` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/utility/parser.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Parser { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 10 | [INFO] [stdout] 11 | pub fn new(commands: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub fn n_remaining_to_parse(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn increment_pointer(&mut self, n: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn peek_char(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn consume_line(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn consume_until(&mut self, condition: &dyn Fn(char) -> bool) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn consume_whitespace(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn consume_until_whitespace(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn whitespace_chars() -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn consume_remaining(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn consume_n(&mut self, n: usize) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn expect_end_of_line_or_file(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn expect_end_of_line(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn expect(&mut self, s: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.92s [INFO] running `Command { std: "docker" "inspect" "e39ebb289d195e0fde6f368df61ba7832340a9fa611dc64f8920538f34554988", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e39ebb289d195e0fde6f368df61ba7832340a9fa611dc64f8920538f34554988", kill_on_drop: false }` [INFO] [stdout] e39ebb289d195e0fde6f368df61ba7832340a9fa611dc64f8920538f34554988 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 01c25ace3c1f9f8cb161069a0a3e2985d8e3e71c149315a9713bf2ab79be20e2 [INFO] running `Command { std: "docker" "start" "-a" "01c25ace3c1f9f8cb161069a0a3e2985d8e3e71c149315a9713bf2ab79be20e2", kill_on_drop: false }` [INFO] [stderr] Compiling advent-of-code-2022 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/problems/problem_06.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | if (n > self.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 46 - if (n > self.len()) { [INFO] [stdout] 46 + if n > self.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/problems/problem_07.rs:131:41 [INFO] [stdout] | [INFO] [stdout] 131 | Self::File(_, size) => { if (*size >= limit) { *size } else { usize::MAX } }, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 131 - Self::File(_, size) => { if (*size >= limit) { *size } else { usize::MAX } }, [INFO] [stdout] 131 + Self::File(_, size) => { if *size >= limit { *size } else { usize::MAX } }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/problems/problem_09.rs:47:18 [INFO] [stdout] | [INFO] [stdout] 47 | for i in (1..self.links.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 47 - for i in (1..self.links.len()) { [INFO] [stdout] 47 + for i in 1..self.links.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/problems/problem_11.rs:138:18 [INFO] [stdout] | [INFO] [stdout] 138 | for i in (0..self.n_monkeys()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 138 - for i in (0..self.n_monkeys()) { [INFO] [stdout] 138 + for i in 0..self.n_monkeys() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thread::current` [INFO] [stdout] --> src/problems/problem_16.rs:1:44 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::{HashMap, HashSet}, thread::current}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::Repeat` [INFO] [stdout] --> src/problems/problem_17.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::iter::Repeat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/problems/problem_17.rs:136:19 [INFO] [stdout] | [INFO] [stdout] 136 | for _i in (0..(n - 1)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 136 - for _i in (0..(n - 1)) { [INFO] [stdout] 136 + for _i in 0..(n - 1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/utility/direction.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shortened_input` [INFO] [stdout] --> src/input/input.rs:100:13 [INFO] [stdout] | [INFO] [stdout] 100 | let shortened_input = input.iter().take(3).map(|s| *s).collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shortened_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `maybe_right_bracket` [INFO] [stdout] --> src/problems/problem_05.rs:74:17 [INFO] [stdout] | [INFO] [stdout] 74 | let maybe_right_bracket = chars.pop_front(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_maybe_right_bracket` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `maybe_space` [INFO] [stdout] --> src/problems/problem_05.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | let maybe_space = chars.pop_front(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_maybe_space` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/problems/problem_07.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let mut stream = CommandStream::from_string(input).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/problems/problem_07.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let mut stream = CommandStream::from_string(input).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/problems/problem_07.rs:29:32 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn from_command_stream(mut stream: CommandStream) -> Self { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/problems/problem_07.rs:110:28 [INFO] [stdout] | [INFO] [stdout] 110 | self.sum_sizes_if(|n| true) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ls` [INFO] [stdout] --> src/problems/problem_07.rs:211:21 [INFO] [stdout] | [INFO] [stdout] 211 | let ls = self.expect("ls"); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cd` [INFO] [stdout] --> src/problems/problem_07.rs:217:21 [INFO] [stdout] | [INFO] [stdout] 217 | let cd = self.expect("cd "); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/problems/problem_07.rs:397:13 [INFO] [stdout] | [INFO] [stdout] 397 | let mut stream = CommandStream::from_string(input.join("\n")).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/problems/problem_07.rs:431:13 [INFO] [stdout] | [INFO] [stdout] 431 | let mut stream = CommandStream::from_string(input.join("\n")).unwrap(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m` [INFO] [stdout] --> src/problems/problem_11.rs:303:26 [INFO] [stdout] | [INFO] [stdout] 303 | Self::Moduli(m) => { panic!("Already modulized!") }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/problems/problem_11.rs:331:25 [INFO] [stdout] | [INFO] [stdout] 331 | Err(e) => panic!("Divisor wasn't found in moduli: {}", divisor) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/problems/problem_13.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | let mut parser = Parser::new(s); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/problems/problem_13.rs:142:37 [INFO] [stdout] | [INFO] [stdout] 142 | (Self::N(l), Self::List(r)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `l` [INFO] [stdout] --> src/problems/problem_13.rs:145:25 [INFO] [stdout] | [INFO] [stdout] 145 | (Self::List(l), Self::N(r)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `below_left` [INFO] [stdout] --> src/problems/problem_14.rs:115:13 [INFO] [stdout] | [INFO] [stdout] 115 | let below_left = below - Vec2::i(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_below_left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `below_right` [INFO] [stdout] --> src/problems/problem_14.rs:116:13 [INFO] [stdout] | [INFO] [stdout] 116 | let below_right = below + Vec2::i(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_below_right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_18.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_18a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_18.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_18b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_19.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_19a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_19.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_19b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_20.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_20a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_20.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_20b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_21.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_21a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_21.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_21b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_22.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_22a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_22.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_22b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_23.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_23a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_23.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_23b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_24.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_24a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_24.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_24b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_25.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve_problem_25a(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/problems/problem_25.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | fn solve_problem_25b(input: Vec) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/problems/problem_07.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | File(String, usize), [INFO] [stdout] | ---- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 23 | File((), usize), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/problems/problem_07.rs:24:15 [INFO] [stdout] | [INFO] [stdout] 24 | Directory(String, Vec), [INFO] [stdout] | --------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 24 | Directory((), Vec), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_n` is never used [INFO] [stdout] --> src/problems/problem_11.rs:314:12 [INFO] [stdout] | [INFO] [stdout] 298 | impl ItemWorryLevel { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 314 | pub fn from_n(n: u32, maybe_moduli: Option>) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `maybe_get` is never used [INFO] [stdout] --> src/problems/problem_12.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl Grid { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn maybe_get(&self, v: Vec2) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_y_bounds` is never used [INFO] [stdout] --> src/problems/problem_15.rs:100:12 [INFO] [stdout] | [INFO] [stdout] 54 | impl Sensor { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn get_y_bounds(&self) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_minutes_until_eruption` is never used [INFO] [stdout] --> src/problems/problem_16.rs:38:4 [INFO] [stdout] | [INFO] [stdout] 38 | fn get_minutes_until_eruption(t: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_causal_radius` is never used [INFO] [stdout] --> src/problems/problem_16.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn get_causal_radius(t: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/problems/problem_16.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 57 | impl ValveGraph { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn index_to_label(&self, i: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn get_labels(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn get_open_indices_within(&self, distance: usize, player_position: &str) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 233 | pub fn get_open_indices(&self) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 237 | pub fn get_indices_within(&self, distance: usize, player_position: &str) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn open_all(&mut self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | pub fn close_all(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | pub fn close(&mut self, label: &str) -> Option<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 299 | pub fn get_flow_rate(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn get_cumulative_pressure_from(&self, t: usize) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `close` is never used [INFO] [stdout] --> src/problems/problem_16.rs:440:12 [INFO] [stdout] | [INFO] [stdout] 359 | impl Valve { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 440 | pub fn close(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_flat` is never used [INFO] [stdout] --> src/problems/problem_17.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 50 | impl Simulation { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn is_flat(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `all` is never used [INFO] [stdout] --> src/problems/problem_17.rs:252:12 [INFO] [stdout] | [INFO] [stdout] 250 | impl Rock { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 251 | [INFO] [stdout] 252 | pub fn all() -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/problems/problem_16.rs:718:9 [INFO] [stdout] | [INFO] [stdout] 718 | graph.open_valves(vec!["BB", "CC", "DD"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 718 | let _ = graph.open_valves(vec!["BB", "CC", "DD"]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.88s [INFO] running `Command { std: "docker" "inspect" "01c25ace3c1f9f8cb161069a0a3e2985d8e3e71c149315a9713bf2ab79be20e2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "01c25ace3c1f9f8cb161069a0a3e2985d8e3e71c149315a9713bf2ab79be20e2", kill_on_drop: false }` [INFO] [stdout] 01c25ace3c1f9f8cb161069a0a3e2985d8e3e71c149315a9713bf2ab79be20e2