[INFO] cloning repository https://github.com/ArcticZeroo/advent-2022 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ArcticZeroo/advent-2022" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArcticZeroo%2Fadvent-2022", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArcticZeroo%2Fadvent-2022'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7ffe81ea49475874e581ad6e89998c4db5066c97 [INFO] checking ArcticZeroo/advent-2022/7ffe81ea49475874e581ad6e89998c4db5066c97 against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArcticZeroo%2Fadvent-2022" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ArcticZeroo/advent-2022 on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/ArcticZeroo/advent-2022 [INFO] finished tweaking git repo https://github.com/ArcticZeroo/advent-2022 [INFO] tweaked toml for git repo https://github.com/ArcticZeroo/advent-2022 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/ArcticZeroo/advent-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" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded priority-queue v1.3.0 [INFO] [stderr] Downloaded eval v0.4.3 [INFO] [stderr] Downloaded serde v1.0.149 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a9f922a2f14227143b7e14c51b440fe145fd69dea271a8fb5e89a62b4d0d9b96 [INFO] running `Command { std: "docker" "start" "-a" "a9f922a2f14227143b7e14c51b440fe145fd69dea271a8fb5e89a62b4d0d9b96", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a9f922a2f14227143b7e14c51b440fe145fd69dea271a8fb5e89a62b4d0d9b96", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a9f922a2f14227143b7e14c51b440fe145fd69dea271a8fb5e89a62b4d0d9b96", kill_on_drop: false }` [INFO] [stdout] a9f922a2f14227143b7e14c51b440fe145fd69dea271a8fb5e89a62b4d0d9b96 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 614022d5a0647461b4040f894e4ddddd46ff5d89fc93acb4b3e799d86609515d [INFO] running `Command { std: "docker" "start" "-a" "614022d5a0647461b4040f894e4ddddd46ff5d89fc93acb4b3e799d86609515d", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling serde v1.0.149 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling indexmap v1.9.2 [INFO] [stderr] Compiling serde_json v1.0.89 [INFO] [stderr] Compiling num-bigint v0.4.3 [INFO] [stderr] Compiling priority-queue v1.3.0 [INFO] [stderr] Checking ryu v1.0.11 [INFO] [stderr] Checking itoa v1.0.4 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking regex-syntax v0.6.28 [INFO] [stderr] Checking either v1.8.0 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking aho-corasick v0.7.20 [INFO] [stderr] Checking regex v1.7.0 [INFO] [stderr] Checking eval v0.4.3 [INFO] [stderr] Checking advent-2022 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Instruction` [INFO] [stdout] --> src/days/day10.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::vm::{VirtualMachine, Instruction}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/days/day11.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashSet` and `VecDeque` [INFO] [stdout] --> src/days/day12.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::hash::Hash` [INFO] [stdout] --> src/days/day12.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::hash::Hash; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/days/day12.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `min` [INFO] [stdout] --> src/days/day13.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | use itertools::{Itertools, min}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Instruction` and `VirtualMachine` [INFO] [stdout] --> src/days/day13.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::vm::{VirtualMachine, Instruction}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `all` [INFO] [stdout] --> src/days/day14.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use itertools::{all, Itertools}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_traits::abs` [INFO] [stdout] --> src/days/day14.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use num_traits::abs; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::common` [INFO] [stdout] --> src/days/day14.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::common; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/days/day14.rs:101:35 [INFO] [stdout] | [INFO] [stdout] 101 | Some(element) => match(element) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 101 - Some(element) => match(element) { [INFO] [stdout] 101 + Some(element) => match element { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::max` [INFO] [stdout] --> src/days/day15.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use itertools::max; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BinaryHeap` and `VecDeque` [INFO] [stdout] --> src/days/day16.rs:2:24 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::{BinaryHeap, HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `all` [INFO] [stdout] --> src/days/day16.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use itertools::{all, Itertools}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Bounds` and `Point` [INFO] [stdout] --> src/days/day16.rs:6:31 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::common::movement::{Bounds, Point}; [INFO] [stdout] | ^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/days/day17.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Bounds` and `Grid` [INFO] [stdout] --> src/days/day17.rs:6:31 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::common::movement::{Bounds, Grid, GridDirection, Point}; [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/days/day18.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use itertools::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/days/day18.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VecDeque` [INFO] [stdout] --> src/days/day19.rs:1:42 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::RangeInclusive` [INFO] [stdout] --> src/days/day19.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::RangeInclusive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max`, `merge`, and `min` [INFO] [stdout] --> src/days/day19.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | use itertools::{Itertools, max, merge, min}; [INFO] [stdout] | ^^^ ^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::common::movement::Bounds` [INFO] [stdout] --> src/days/day19.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::common::movement::Bounds; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/days/day20.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/days/day20.rs:21:33 [INFO] [stdout] | [INFO] [stdout] 21 | items.insert(wrap_value((current_items_index as i128 + node.value as i128), items.len() as i128) as usize, node); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 21 - items.insert(wrap_value((current_items_index as i128 + node.value as i128), items.len() as i128) as usize, node); [INFO] [stdout] 21 + items.insert(wrap_value(current_items_index as i128 + node.value as i128, items.len() as i128) as usize, node); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::max` [INFO] [stdout] --> src/days/day21.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::max; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::Map` [INFO] [stdout] --> src/days/day22.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::iter::Map; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `read_input` [INFO] [stdout] --> src/days/day22.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::common::{read_input, read_input_no_trim, wrap_value, wrap_value_around_bounds}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Add`, `Div`, `Mul`, `Rem`, and `Sub` [INFO] [stdout] --> src/common.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ops::{Add, Div, Mul, Rem, Sub}; [INFO] [stdout] | ^^^ ^^^ ^^^ ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/common/movement.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/days/day2.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/days/day3.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/days/day5.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/days/day6.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/days/day8.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/days/day9.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instruction` [INFO] [stdout] --> src/days/day10.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::vm::{VirtualMachine, Instruction}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/days/day10.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/days/day11.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashSet` and `VecDeque` [INFO] [stdout] --> src/days/day12.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::hash::Hash` [INFO] [stdout] --> src/days/day12.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::hash::Hash; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/days/day12.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `min` [INFO] [stdout] --> src/days/day13.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | use itertools::{Itertools, min}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Instruction` and `VirtualMachine` [INFO] [stdout] --> src/days/day13.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::vm::{VirtualMachine, Instruction}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `all` [INFO] [stdout] --> src/days/day14.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use itertools::{all, Itertools}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_traits::abs` [INFO] [stdout] --> src/days/day14.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use num_traits::abs; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::common` [INFO] [stdout] --> src/days/day14.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::common; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/days/day14.rs:101:35 [INFO] [stdout] | [INFO] [stdout] 101 | Some(element) => match(element) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 101 - Some(element) => match(element) { [INFO] [stdout] 101 + Some(element) => match element { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::max` [INFO] [stdout] --> src/days/day15.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use itertools::max; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BinaryHeap` and `VecDeque` [INFO] [stdout] --> src/days/day16.rs:2:24 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::{BinaryHeap, HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `all` [INFO] [stdout] --> src/days/day16.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use itertools::{all, Itertools}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Bounds` and `Point` [INFO] [stdout] --> src/days/day16.rs:6:31 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::common::movement::{Bounds, Point}; [INFO] [stdout] | ^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/days/day17.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Bounds` and `Grid` [INFO] [stdout] --> src/days/day17.rs:6:31 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::common::movement::{Bounds, Grid, GridDirection, Point}; [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/days/day18.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use itertools::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/days/day18.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VecDeque` [INFO] [stdout] --> src/days/day19.rs:1:42 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::RangeInclusive` [INFO] [stdout] --> src/days/day19.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::RangeInclusive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max`, `merge`, and `min` [INFO] [stdout] --> src/days/day19.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | use itertools::{Itertools, max, merge, min}; [INFO] [stdout] | ^^^ ^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::common::movement::Bounds` [INFO] [stdout] --> src/days/day19.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::common::movement::Bounds; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/days/day20.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/days/day20.rs:21:33 [INFO] [stdout] | [INFO] [stdout] 21 | items.insert(wrap_value((current_items_index as i128 + node.value as i128), items.len() as i128) as usize, node); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 21 - items.insert(wrap_value((current_items_index as i128 + node.value as i128), items.len() as i128) as usize, node); [INFO] [stdout] 21 + items.insert(wrap_value(current_items_index as i128 + node.value as i128, items.len() as i128) as usize, node); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::max` [INFO] [stdout] --> src/days/day21.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::max; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::Map` [INFO] [stdout] --> src/days/day22.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::iter::Map; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `read_input` [INFO] [stdout] --> src/days/day22.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::common::{read_input, read_input_no_trim, wrap_value, wrap_value_around_bounds}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Add`, `Div`, `Mul`, `Rem`, and `Sub` [INFO] [stdout] --> src/common.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ops::{Add, Div, Mul, Rem, Sub}; [INFO] [stdout] | ^^^ ^^^ ^^^ ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/common/movement.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Itertools` [INFO] [stdout] --> src/days/day16.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use itertools::{all, Itertools}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/days/day5.rs:64:22 [INFO] [stdout] | [INFO] [stdout] 64 | let (mut crates, mut instructions) = parse_input(input); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/days/day5.rs:77:22 [INFO] [stdout] | [INFO] [stdout] 77 | let (mut crates, mut instructions) = parse_input(input); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Itertools` [INFO] [stdout] --> src/days/day16.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use itertools::{all, Itertools}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/days/day1.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | let mut day = Day1::new(input); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/days/day5.rs:64:22 [INFO] [stdout] | [INFO] [stdout] 64 | let (mut crates, mut instructions) = parse_input(input); [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/days/day5.rs:77:22 [INFO] [stdout] | [INFO] [stdout] 77 | let (mut crates, mut instructions) = parse_input(input); [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/days/day12.rs:114:17 [INFO] [stdout] | [INFO] [stdout] 114 | let mut current_distance_to_neighbor = distances.get_mut(&neighbor_point).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `valve_data` [INFO] [stdout] --> src/days/day16.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 38 | for (&valve_name, &valve_data) in valves { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_valve_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/days/day12.rs:114:17 [INFO] [stdout] | [INFO] [stdout] 114 | let mut current_distance_to_neighbor = distances.get_mut(&neighbor_point).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/days/day16.rs:133:10 [INFO] [stdout] | [INFO] [stdout] 133 | fn part2(input: &str) -> u128 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `valve_data` [INFO] [stdout] --> src/days/day16.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 38 | for (&valve_name, &valve_data) in valves { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_valve_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `recipe_type` [INFO] [stdout] --> src/days/day19.rs:121:36 [INFO] [stdout] | [INFO] [stdout] 121 | blueprint.recipes.iter().any(|(recipe_type, recipe_requirements)| { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_recipe_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/days/day16.rs:133:10 [INFO] [stdout] | [INFO] [stdout] 133 | fn part2(input: &str) -> u128 { [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/days/day19.rs:193:10 [INFO] [stdout] | [INFO] [stdout] 193 | fn part2(input: &str) -> u128 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/days/day21.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | _ => panic!() [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/days/day21.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 25 | MonkeyJob::Yell(value) => *value, [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] 26 | MonkeyJob::Math(left_monkey_name, operation, right_monkey_name) => { [INFO] [stdout] | --------------------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 35 | _ => panic!() [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/days/day21.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | let mut monkeys = parse_input(input); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/days/day22.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | for i in 0..instruction.move_amount { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/days/day22.rs:195:24 [INFO] [stdout] | [INFO] [stdout] 195 | let ProgramInput { mut map, instructions } = parse_input(input); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/days/day22.rs:213:10 [INFO] [stdout] | [INFO] [stdout] 213 | fn part2(input: &str) -> u128 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `recipe_type` [INFO] [stdout] --> src/days/day19.rs:121:36 [INFO] [stdout] | [INFO] [stdout] 121 | blueprint.recipes.iter().any(|(recipe_type, recipe_requirements)| { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_recipe_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/days/day19.rs:193:10 [INFO] [stdout] | [INFO] [stdout] 193 | fn part2(input: &str) -> u128 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_grid` is never used [INFO] [stdout] --> src/days/day9.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn render_grid(visited_positions: &HashSet, rope: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Operation` is never used [INFO] [stdout] --> src/days/day11.rs:6:6 [INFO] [stdout] | [INFO] [stdout] 6 | enum Operation { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Identifier` is never used [INFO] [stdout] --> src/days/day11.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | enum Identifier { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/days/day11.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Identifier { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 17 | pub fn value(&self, old: &u128) -> u128 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MonkeyEquation` is never used [INFO] [stdout] --> src/days/day11.rs:25:6 [INFO] [stdout] | [INFO] [stdout] 25 | type MonkeyEquation = (Identifier, Operation, Identifier); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_identifier` is never used [INFO] [stdout] --> src/days/day11.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn parse_identifier(value: &str) -> Identifier { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_equation` is never used [INFO] [stdout] --> src/days/day11.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn parse_equation(equation: &str) -> MonkeyEquation { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Monkey` is never constructed [INFO] [stdout] --> src/days/day11.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | struct Monkey { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `parse` is never used [INFO] [stdout] --> src/days/day11.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 56 | impl Monkey { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 57 | pub fn parse(lines: Vec<&str>, is_bored: bool) -> Monkey { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `do_operation` is never used [INFO] [stdout] --> src/days/day11.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn do_operation((left, operation, right): &MonkeyEquation, value: &u128) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `do_monkey_diff` is never used [INFO] [stdout] --> src/days/day11.rs:88:4 [INFO] [stdout] | [INFO] [stdout] 88 | fn do_monkey_diff(monkey: &mut Monkey, mod_amount: u128) -> HashMap> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `do_round` is never used [INFO] [stdout] --> src/days/day11.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn do_round(monkeys: &mut Vec, mod_amount: u128) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `do_rounds` is never used [INFO] [stdout] --> src/days/day11.rs:118:4 [INFO] [stdout] | [INFO] [stdout] 118 | fn do_rounds(input: &str, is_bored: bool, rounds: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/days/day11.rs:129:4 [INFO] [stdout] | [INFO] [stdout] 129 | fn part1(input: &str) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/days/day11.rs:133:4 [INFO] [stdout] | [INFO] [stdout] 133 | fn part2(input: &str) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day11.rs:137:8 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HillMap` is never constructed [INFO] [stdout] --> src/days/day12.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | struct HillMap { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_accessible_neighbors`, `get_neighbors_that_could_access`, and `get_all_points` are never used [INFO] [stdout] --> src/days/day12.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 16 | impl HillMap { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 17 | fn get_accessible_neighbors(&self, point: &Point) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | fn get_neighbors_that_could_access(&self, point: &Point) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn get_all_points(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/days/day12.rs:54:4 [INFO] [stdout] | [INFO] [stdout] 54 | fn parse_input(input: &str) -> HillMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `map_djikstra` is never used [INFO] [stdout] --> src/days/day12.rs:91:4 [INFO] [stdout] | [INFO] [stdout] 91 | fn map_djikstra(map: &HillMap, source: Point, get_neighbors: F) -> (HashMap, HashMap) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `path_to_exit` is never used [INFO] [stdout] --> src/days/day12.rs:126:4 [INFO] [stdout] | [INFO] [stdout] 126 | fn path_to_exit(map: &HillMap) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `path_from_exit` is never used [INFO] [stdout] --> src/days/day12.rs:131:4 [INFO] [stdout] | [INFO] [stdout] 131 | fn path_from_exit(map: &HillMap) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/days/day12.rs:141:4 [INFO] [stdout] | [INFO] [stdout] 141 | fn part1(input: &str) -> u128 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/days/day12.rs:146:4 [INFO] [stdout] | [INFO] [stdout] 146 | fn part2(input: &str) -> u128 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day12.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ListItem` is never used [INFO] [stdout] --> src/days/day13.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | enum ListItem { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ListPair` is never used [INFO] [stdout] --> src/days/day13.rs:24:6 [INFO] [stdout] | [INFO] [stdout] 24 | type ListPair = (ListItem, ListItem); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_list` is never used [INFO] [stdout] --> src/days/day13.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn parse_list(input: &str) -> ListItem { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_pairs` is never used [INFO] [stdout] --> src/days/day13.rs:56:4 [INFO] [stdout] | [INFO] [stdout] 56 | fn parse_pairs(input: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `value_as_list` is never used [INFO] [stdout] --> src/days/day13.rs:63:4 [INFO] [stdout] | [INFO] [stdout] 63 | fn value_as_list(value: &u128) -> ListItem { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_left_ordering` is never used [INFO] [stdout] --> src/days/day13.rs:67:4 [INFO] [stdout] | [INFO] [stdout] 67 | fn get_left_ordering(left: &ListItem, right: &ListItem) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/days/day13.rs:95:4 [INFO] [stdout] | [INFO] [stdout] 95 | fn part1(input: &Vec) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/days/day13.rs:106:4 [INFO] [stdout] | [INFO] [stdout] 106 | fn part2(input: &Vec) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day13.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `GridElement` is never used [INFO] [stdout] --> src/days/day14.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | enum GridElement { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SandGrid` is never used [INFO] [stdout] --> src/days/day14.rs:13:6 [INFO] [stdout] | [INFO] [stdout] 13 | type SandGrid = Grid; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SAND_FILL_SOURCE` is never used [INFO] [stdout] --> src/days/day14.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const SAND_FILL_SOURCE: Point = Point { x: 500, y: 0 }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_visited` is never used [INFO] [stdout] --> src/days/day14.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn has_visited(grid: &SandGrid, point: &Point, floor_y_opt: Option) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_sand_resting_point` is never used [INFO] [stdout] --> src/days/day14.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn get_sand_resting_point(grid: &SandGrid, floor_y_opt: Option) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `range_between` is never used [INFO] [stdout] --> src/days/day14.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn range_between(a: i128, b: i128) -> RangeInclusive { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `straight_line_between` is never used [INFO] [stdout] --> src/days/day14.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn straight_line_between(a: &Point, b: &Point) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/days/day14.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | fn parse_input(input: &str) -> SandGrid { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_grid` is never used [INFO] [stdout] --> src/days/day14.rs:97:4 [INFO] [stdout] | [INFO] [stdout] 97 | fn render_grid(grid: &SandGrid) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/days/day14.rs:110:4 [INFO] [stdout] | [INFO] [stdout] 110 | fn part1(input: &str) -> u128 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/days/day14.rs:123:4 [INFO] [stdout] | [INFO] [stdout] 123 | fn part2(input: &str) -> u128 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day14.rs:140:8 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/days/day15.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn parse_input(input: &str) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/days/day15.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn part1(input: &str, y: i128) -> u128 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `points_n_away` is never used [INFO] [stdout] --> src/days/day15.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn points_n_away(source_point: &Point, n: u128) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/days/day15.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn part2(input: &str, max_coordinate: u128) -> u128 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day15.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValveData` is never constructed [INFO] [stdout] --> src/days/day16.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | struct ValveData<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/days/day16.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn parse_input(input: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dijkstra_step_count` is never used [INFO] [stdout] --> src/days/day16.rs:33:4 [INFO] [stdout] | [INFO] [stdout] 33 | fn dijkstra_step_count<'a>(valves: &'a HashMap<&'a str, &'a ValveData<'a>>, start_valve_name: &'a str) -> HashMap<&'a str, u128> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PressureSearchData` is never constructed [INFO] [stdout] --> src/days/day16.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | struct PressureSearchData<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `open_next_valve` is never used [INFO] [stdout] --> src/days/day16.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn open_next_valve(data: PressureSearchData) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/days/day16.rs:115:4 [INFO] [stdout] | [INFO] [stdout] 115 | fn part1(input: &str) -> u128 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/days/day16.rs:133:4 [INFO] [stdout] | [INFO] [stdout] 133 | fn part2(input: &str) -> u128 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day16.rs:137:8 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHAMBER_WIDTH` is never used [INFO] [stdout] --> src/days/day17.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const CHAMBER_WIDTH: usize = 7; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHAMBER_RANGE_X` is never used [INFO] [stdout] --> src/days/day17.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const CHAMBER_RANGE_X: Range = 0..CHAMBER_WIDTH; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEFT_OFFSET_X` is never used [INFO] [stdout] --> src/days/day17.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const LEFT_OFFSET_X: usize = 2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BOTTOM_OFFSET_Y` is never used [INFO] [stdout] --> src/days/day17.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const BOTTOM_OFFSET_Y: usize = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_ROCK_OFFSET` is never used [INFO] [stdout] --> src/days/day17.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const DEFAULT_ROCK_OFFSET: Point = Point { x: LEFT_OFFSET_X as i128, y: BOTTOM_OFFSET_Y as i128 }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PATTERNS` is never used [INFO] [stdout] --> src/days/day17.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const PATTERNS: &str = "#### [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RockChamber` is never constructed [INFO] [stdout] --> src/days/day17.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | struct RockChamber { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/days/day17.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl RockChamber { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 40 | pub fn new(jet_pattern: Vec) -> RockChamber { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/days/day17.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn parse_input(input: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_patterns` is never used [INFO] [stdout] --> src/days/day17.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn parse_patterns() -> VecDeque> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_legal_position` is never used [INFO] [stdout] --> src/days/day17.rs:78:4 [INFO] [stdout] | [INFO] [stdout] 78 | fn is_legal_position(chamber: &RockChamber, rock_positions: &Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_possible_grid` is never used [INFO] [stdout] --> src/days/day17.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn render_possible_grid(chamber: &RockChamber, positions: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `place_rock` is never used [INFO] [stdout] --> src/days/day17.rs:103:4 [INFO] [stdout] | [INFO] [stdout] 103 | fn place_rock(chamber: &mut RockChamber, pattern: &Vec) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_grid` is never used [INFO] [stdout] --> src/days/day17.rs:130:4 [INFO] [stdout] | [INFO] [stdout] 130 | fn render_grid(chamber: &RockChamber) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/days/day17.rs:138:4 [INFO] [stdout] | [INFO] [stdout] 138 | fn part1(input: &str) -> u128 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LoopData` is never constructed [INFO] [stdout] --> src/days/day17.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | struct LoopData { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ChamberConfiguration` is never constructed [INFO] [stdout] --> src/days/day17.rs:158:8 [INFO] [stdout] | [INFO] [stdout] 158 | struct ChamberConfiguration { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROW_CHECK_HEIGHT` is never used [INFO] [stdout] --> src/days/day17.rs:163:7 [INFO] [stdout] | [INFO] [stdout] 163 | const ROW_CHECK_HEIGHT: u128 = 50; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serialize_chamber` is never used [INFO] [stdout] --> src/days/day17.rs:165:4 [INFO] [stdout] | [INFO] [stdout] 165 | fn serialize_chamber(chamber: &mut RockChamber, pattern_index: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_loop` is never used [INFO] [stdout] --> src/days/day17.rs:173:4 [INFO] [stdout] | [INFO] [stdout] 173 | fn find_loop(patterns: &VecDeque>, chamber: &mut RockChamber) -> LoopData { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TARGET_LOOP` is never used [INFO] [stdout] --> src/days/day17.rs:202:7 [INFO] [stdout] | [INFO] [stdout] 202 | const TARGET_LOOP: u128 = 1_000_000_000_000; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/days/day17.rs:204:4 [INFO] [stdout] | [INFO] [stdout] 204 | fn part2(input: &str) -> u128 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day17.rs:219:8 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Axis3D` is never used [INFO] [stdout] --> src/days/day18.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | enum Axis3D { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `all` is never used [INFO] [stdout] --> src/days/day18.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Axis3D { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 17 | pub fn all() -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Point3D` is never constructed [INFO] [stdout] --> src/days/day18.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | struct Point3D { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `zero`, `get_axis_value`, `set_axis_value`, `get_moved_in_axis`, `get_with_axis_value`, and `neighbors` are never used [INFO] [stdout] --> src/days/day18.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Point3D { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 30 | pub fn zero() -> Point3D { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn get_axis_value(&self, axis: Axis3D) -> &i128 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn set_axis_value(&mut self, axis: Axis3D, value: i128) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn get_moved_in_axis(&self, axis: Axis3D, amount: i128) -> Point3D { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn get_with_axis_value(&self, axis: Axis3D, value: i128) -> Point3D { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn neighbors(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/days/day18.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn parse_input(input: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/days/day18.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn part1(input: &str) -> u128 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_in_bounds` is never used [INFO] [stdout] --> src/days/day18.rs:97:4 [INFO] [stdout] | [INFO] [stdout] 97 | fn is_in_bounds(point: &Point3D, ranges_by_axis: &HashMap<&Axis3D, RangeInclusive>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_open_faces` is never used [INFO] [stdout] --> src/days/day18.rs:103:4 [INFO] [stdout] | [INFO] [stdout] 103 | fn count_open_faces(points: &HashSet) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/days/day18.rs:145:4 [INFO] [stdout] | [INFO] [stdout] 145 | fn part2(input: &str) -> u128 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day18.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ResourceType` is never used [INFO] [stdout] --> src/days/day19.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | enum ResourceType { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `all` and `from_str` are never used [INFO] [stdout] --> src/days/day19.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl ResourceType { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 18 | pub fn all() -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn from_str(value: &str) -> ResourceType { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `RecipeCost` is never used [INFO] [stdout] --> src/days/day19.rs:38:6 [INFO] [stdout] | [INFO] [stdout] 38 | type RecipeCost = HashMap; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `BlueprintRecipes` is never used [INFO] [stdout] --> src/days/day19.rs:39:6 [INFO] [stdout] | [INFO] [stdout] 39 | type BlueprintRecipes = HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Blueprint` is never constructed [INFO] [stdout] --> src/days/day19.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | struct Blueprint { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/days/day19.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn parse_input(input: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SearchData` is never constructed [INFO] [stdout] --> src/days/day19.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | struct SearchData<'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `merge_resources` is never used [INFO] [stdout] --> src/days/day19.rs:83:4 [INFO] [stdout] | [INFO] [stdout] 83 | fn merge_resources(a: &HashMap, b: &HashMap) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `purchase_resources` is never used [INFO] [stdout] --> src/days/day19.rs:93:4 [INFO] [stdout] | [INFO] [stdout] 93 | fn purchase_resources(owned: &HashMap, requirements: &RecipeCost) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_resource_inventory` is never used [INFO] [stdout] --> src/days/day19.rs:101:4 [INFO] [stdout] | [INFO] [stdout] 101 | fn empty_resource_inventory() -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `purchase_and_find_next` is never used [INFO] [stdout] --> src/days/day19.rs:105:4 [INFO] [stdout] | [INFO] [stdout] 105 | fn purchase_and_find_next(data: &SearchData, resources_after_minute: &RecipeCost, possible_robot_type: ResourceType) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_robot_needed` is never used [INFO] [stdout] --> src/days/day19.rs:118:4 [INFO] [stdout] | [INFO] [stdout] 118 | fn is_robot_needed(blueprint: &Blueprint, robots_owned: &HashMap, robot_type: ResourceType) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_max_geodes` is never used [INFO] [stdout] --> src/days/day19.rs:126:4 [INFO] [stdout] | [INFO] [stdout] 126 | fn find_max_geodes(data: SearchData) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MINUTES_PART_1` is never used [INFO] [stdout] --> src/days/day19.rs:172:7 [INFO] [stdout] | [INFO] [stdout] 172 | const MINUTES_PART_1: u128 = 24; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/days/day19.rs:174:4 [INFO] [stdout] | [INFO] [stdout] 174 | fn part1(input: &str) -> u128 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/days/day19.rs:193:4 [INFO] [stdout] | [INFO] [stdout] 193 | fn part2(input: &str) -> u128 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day19.rs:197:8 [INFO] [stdout] | [INFO] [stdout] 197 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/days/day20.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn parse_input(input: &str) -> VecDeque { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> src/days/day20.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mix_list` is never used [INFO] [stdout] --> src/days/day20.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn mix_list(items: &mut VecDeque) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_grove_coordinates` is never used [INFO] [stdout] --> src/days/day20.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn find_grove_coordinates(items: &VecDeque) -> i128 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/days/day20.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn part1(input: &str) -> i128 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DECRYPTION_KEY` is never used [INFO] [stdout] --> src/days/day20.rs:39:7 [INFO] [stdout] | [INFO] [stdout] 39 | const DECRYPTION_KEY: i128 = 811589153; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/days/day20.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn part2(input: &str) -> i128 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/days/day21.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | _ => panic!() [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/days/day21.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 25 | MonkeyJob::Yell(value) => *value, [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] 26 | MonkeyJob::Math(left_monkey_name, operation, right_monkey_name) => { [INFO] [stdout] | --------------------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 35 | _ => panic!() [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day20.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_grid` is never used [INFO] [stdout] --> src/days/day22.rs:164:4 [INFO] [stdout] | [INFO] [stdout] 164 | fn render_grid(map: &WrapGrid, last_dir_by_point: &HashMap) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_neighbors` is never used [INFO] [stdout] --> src/days/day23.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn get_neighbors(point: &Point) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_map` is never used [INFO] [stdout] --> src/days/day23.rs:199:4 [INFO] [stdout] | [INFO] [stdout] 199 | fn render_map(map: &HashSet) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `char_alphabet_position` is never used [INFO] [stdout] --> src/common.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn char_alphabet_position(value: char, is_lowercase: bool) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `move_along_axis`, `get_coord_by_axis`, `add`, and `manhattan_dist` are never used [INFO] [stdout] --> src/common/movement.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 47 | impl Point { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn move_along_axis(&mut self, axis: Axis, count: i128) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn get_coord_by_axis(&self, axis: Axis) -> i128 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn add(&self, other: &Point) -> Point { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn manhattan_dist(&self, other: &Point) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `all` is never used [INFO] [stdout] --> src/common/movement.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 115 | impl GridDirection { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 116 | pub fn all() -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Horizontal` and `Vertical` are never constructed [INFO] [stdout] --> src/common/movement.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub enum Axis { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 123 | Horizontal, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 124 | Vertical, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Axis` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_dir` and `opposite` are never used [INFO] [stdout] --> src/common/movement.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 127 | impl Axis { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 128 | pub fn from_dir(dir: GridDirection) -> Axis { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn opposite(&self) -> Axis { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Grid` is never constructed [INFO] [stdout] --> src/common/movement.rs:143:12 [INFO] [stdout] | [INFO] [stdout] 143 | pub struct Grid { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/common/movement.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 149 | impl Grid { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 150 | pub fn new() -> Grid { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn visit(&mut self, point: Point, value: T) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn remove(&mut self, point: Point) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn has_visited(&self, point: &Point) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn get_value(&self, point: &Point) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn get_x_bounds(&self) -> Bounds { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn get_y_bounds(&self) -> Bounds { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/days/day21.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | let mut monkeys = parse_input(input); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/days/day22.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | for i in 0..instruction.move_amount { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 170 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/days/day22.rs:195:24 [INFO] [stdout] | [INFO] [stdout] 195 | let ProgramInput { mut map, instructions } = parse_input(input); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/days/day22.rs:213:10 [INFO] [stdout] | [INFO] [stdout] 213 | fn part2(input: &str) -> u128 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_grid` is never used [INFO] [stdout] --> src/days/day9.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn render_grid(visited_positions: &HashSet, rope: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day11.rs:137:8 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day12.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day13.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_grid` is never used [INFO] [stdout] --> src/days/day14.rs:97:4 [INFO] [stdout] | [INFO] [stdout] 97 | fn render_grid(grid: &SandGrid) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day14.rs:140:8 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day15.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day16.rs:137:8 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_possible_grid` is never used [INFO] [stdout] --> src/days/day17.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn render_possible_grid(chamber: &RockChamber, positions: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_grid` is never used [INFO] [stdout] --> src/days/day17.rs:130:4 [INFO] [stdout] | [INFO] [stdout] 130 | fn render_grid(chamber: &RockChamber) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day17.rs:219:8 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day18.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day19.rs:197:8 [INFO] [stdout] | [INFO] [stdout] 197 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/days/day20.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_grid` is never used [INFO] [stdout] --> src/days/day22.rs:164:4 [INFO] [stdout] | [INFO] [stdout] 164 | fn render_grid(map: &WrapGrid, last_dir_by_point: &HashMap) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_neighbors` is never used [INFO] [stdout] --> src/days/day23.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn get_neighbors(point: &Point) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_map` is never used [INFO] [stdout] --> src/days/day23.rs:199:4 [INFO] [stdout] | [INFO] [stdout] 199 | fn render_map(map: &HashSet) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `move_along_axis` and `get_coord_by_axis` are never used [INFO] [stdout] --> src/common/movement.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 47 | impl Point { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn move_along_axis(&mut self, axis: Axis, count: i128) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn get_coord_by_axis(&self, axis: Axis) -> i128 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Horizontal` and `Vertical` are never constructed [INFO] [stdout] --> src/common/movement.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub enum Axis { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 123 | Horizontal, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 124 | Vertical, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Axis` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_dir` and `opposite` are never used [INFO] [stdout] --> src/common/movement.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 127 | impl Axis { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 128 | pub fn from_dir(dir: GridDirection) -> Axis { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn opposite(&self) -> Axis { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `remove` is never used [INFO] [stdout] --> src/common/movement.rs:164:12 [INFO] [stdout] | [INFO] [stdout] 149 | impl Grid { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn remove(&mut self, point: Point) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 72 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.11s [INFO] running `Command { std: "docker" "inspect" "614022d5a0647461b4040f894e4ddddd46ff5d89fc93acb4b3e799d86609515d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "614022d5a0647461b4040f894e4ddddd46ff5d89fc93acb4b3e799d86609515d", kill_on_drop: false }` [INFO] [stdout] 614022d5a0647461b4040f894e4ddddd46ff5d89fc93acb4b3e799d86609515d