[INFO] cloning repository https://github.com/matthsp/aoc-2024-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/matthsp/aoc-2024-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmatthsp%2Faoc-2024-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmatthsp%2Faoc-2024-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ed234d149fe6ba795eed6c4d341e612498359608 [INFO] checking matthsp/aoc-2024-rust against try#c659ee110de67e82444e4b6c8407c1a9af9c2cf6 for pr-145608-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmatthsp%2Faoc-2024-rust" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-1-tc2/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/matthsp/aoc-2024-rust [INFO] finished tweaking git repo https://github.com/matthsp/aoc-2024-rust [INFO] tweaked toml for git repo https://github.com/matthsp/aoc-2024-rust written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/matthsp/aoc-2024-rust on toolchain c659ee110de67e82444e4b6c8407c1a9af9c2cf6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c659ee110de67e82444e4b6c8407c1a9af9c2cf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/matthsp/aoc-2024-rust 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" "+c659ee110de67e82444e4b6c8407c1a9af9c2cf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+c659ee110de67e82444e4b6c8407c1a9af9c2cf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f1026040dd8fb8b736b2fad21bb8790511e336296c339a0066cc31c37637c907 [INFO] running `Command { std: "docker" "start" "-a" "f1026040dd8fb8b736b2fad21bb8790511e336296c339a0066cc31c37637c907", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f1026040dd8fb8b736b2fad21bb8790511e336296c339a0066cc31c37637c907", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f1026040dd8fb8b736b2fad21bb8790511e336296c339a0066cc31c37637c907", kill_on_drop: false }` [INFO] [stdout] f1026040dd8fb8b736b2fad21bb8790511e336296c339a0066cc31c37637c907 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+c659ee110de67e82444e4b6c8407c1a9af9c2cf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 75864a58b1aa9a8d9876278343897bdc819ceea28e4d59332e2cb6c995f9e1ec [INFO] running `Command { std: "docker" "start" "-a" "75864a58b1aa9a8d9876278343897bdc819ceea28e4d59332e2cb6c995f9e1ec", kill_on_drop: false }` [INFO] [stderr] Checking memchr v2.6.4 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking pico-args v0.5.0 [INFO] [stderr] Checking tinyjson v2.5.1 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking advent_of_code v0.11.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::hash::Hash` [INFO] [stdout] --> src/bin/21.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::hash::Hash; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_keypad` is never used [INFO] [stdout] --> src/bin/21.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn get_keypad() -> Vec> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_control_pad` is never used [INFO] [stdout] --> src/bin/21.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn get_control_pad() -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Display` [INFO] [stdout] --> src/bin/utils/grid_utils.rs:5:23 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt::{Debug, Display}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/bin/22.rs:58:49 [INFO] [stdout] | [INFO] [stdout] 58 | let max_bananas = cache.iter().max_by_key(|(key, &val)| val); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [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/bin/15.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut matrix: Vec>; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VecDeque` [INFO] [stdout] --> src/bin/16.rs:1:54 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{BinaryHeap, HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Position` [INFO] [stdout] --> src/bin/16.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use itertools::Position; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Display` [INFO] [stdout] --> src/bin/utils/grid_utils.rs:5:23 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt::{Debug, Display}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `get_value_from_grid_pos` and `is_in_boundaries` [INFO] [stdout] --> src/bin/16.rs:6:69 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::utils::{parse_grid, Pos, Direction, CARDINAL_DIRECTIONS, is_in_boundaries, get_value_from_grid_pos, Maze}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `NorthEast`, `SouthEast`, `SouthWest`, and `NorthWest` are never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum Direction { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 10 | North, [INFO] [stdout] 11 | NorthEast, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 12 | East, [INFO] [stdout] 13 | SouthEast, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 14 | South, [INFO] [stdout] 15 | SouthWest, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 16 | West, [INFO] [stdout] 17 | NorthWest, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_axis` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Direction { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 21 | pub fn get_axis(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CARDINAL_DIRECTIONS` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const CARDINAL_DIRECTIONS: [Direction; 4] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `neighbor_in_grid` and `neighbors` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 65 | impl Pos { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn neighbor_in_grid(&self, direction: Direction, grid: &Vec>) -> Option<(Pos, char)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn neighbors(&self, directions: &[Direction]) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_in_boundaries` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn is_in_boundaries(grid: &Vec>, pos: Pos) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Edge` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | pub struct Edge { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `contains`, and `length` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Edge { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 114 | // Constructor method to create a new Edge [INFO] [stdout] 115 | pub fn new(start: Pos, end: Pos) -> Self { Edge { start, end } } [INFO] [stdout] | ^^^ [INFO] [stdout] 116 | [INFO] [stdout] 117 | pub fn contains(&self, pos: &Pos) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn length(&self) -> f64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_grid` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:153:8 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn parse_grid(input: &str) -> Vec> [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_value_from_grid` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn get_value_from_grid(grid: &Vec>, x: usize, y: usize) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Graph` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct Graph { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_node`, `has_node`, `add_edge`, `has_edge`, and `neighbors` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 184 | impl Graph { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 185 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn add_node(&mut self, node: N) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn has_node(&self, node: &N) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn add_edge(&mut self, node1: N, node2: N) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn has_edge(&self, node1: &N, node2: &N) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub fn neighbors(&self, node: &N) -> Option<&HashSet> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bron_kerbosch` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | fn bron_kerbosch<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Maze` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:245:12 [INFO] [stdout] | [INFO] [stdout] 245 | pub struct Maze { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `dijkstra` and `dijkstra_with_backtrack` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:290:12 [INFO] [stdout] | [INFO] [stdout] 289 | impl Maze { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 290 | pub fn dijkstra(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | pub fn dijkstra_with_backtrack(&self, min_cost: usize, direction: &Direction) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tile` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:408:8 [INFO] [stdout] | [INFO] [stdout] 408 | struct Tile { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | if x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:88:40 [INFO] [stdout] | [INFO] [stdout] 88 | if x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:104:33 [INFO] [stdout] | [INFO] [stdout] 104 | x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `)`, `,`, `.`, `?`, or an operator, found `r` [INFO] [stdout] --> src/bin/23.rs:124:58 [INFO] [stdout] | [INFO] [stdout] 124 | assert_eq!(result, Some("co,de,ka,ta".to_string()r)); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | expected one of `)`, `,`, `.`, `?`, or an operator [INFO] [stdout] | help: missing `,` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `r` in this scope [INFO] [stdout] --> src/bin/23.rs:124:58 [INFO] [stdout] | [INFO] [stdout] 124 | assert_eq!(result, Some("co,de,ka,ta".to_string()r)); [INFO] [stdout] | ^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Display` [INFO] [stdout] --> src/bin/utils/grid_utils.rs:5:23 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt::{Debug, Display}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/bin/22.rs:58:49 [INFO] [stdout] | [INFO] [stdout] 58 | let max_bananas = cache.iter().max_by_key(|(key, &val)| val); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tile` is never constructed [INFO] [stdout] --> src/bin/16.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 124 | struct Tile { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dijkstra_with_backtrack` is never used [INFO] [stdout] --> src/bin/16.rs:131:4 [INFO] [stdout] | [INFO] [stdout] 131 | fn dijkstra_with_backtrack( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `NorthEast`, `SouthEast`, `SouthWest`, and `NorthWest` are never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum Direction { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 10 | North, [INFO] [stdout] 11 | NorthEast, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 12 | East, [INFO] [stdout] 13 | SouthEast, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 14 | South, [INFO] [stdout] 15 | SouthWest, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 16 | West, [INFO] [stdout] 17 | NorthWest, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `neighbor_in_grid` and `neighbors` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 65 | impl Pos { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn neighbor_in_grid(&self, direction: Direction, grid: &Vec>) -> Option<(Pos, char)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn neighbors(&self, directions: &[Direction]) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_in_boundaries` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn is_in_boundaries(grid: &Vec>, pos: Pos) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Edge` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | pub struct Edge { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `contains`, and `length` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Edge { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 114 | // Constructor method to create a new Edge [INFO] [stdout] 115 | pub fn new(start: Pos, end: Pos) -> Self { Edge { start, end } } [INFO] [stdout] | ^^^ [INFO] [stdout] 116 | [INFO] [stdout] 117 | pub fn contains(&self, pos: &Pos) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn length(&self) -> f64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_value_from_grid` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn get_value_from_grid(grid: &Vec>, x: usize, y: usize) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_value_from_grid_pos` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn get_value_from_grid_pos(grid: &Vec>, pos: Pos) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Graph` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct Graph { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_node`, `has_node`, `add_edge`, `has_edge`, and `neighbors` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 184 | impl Graph { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 185 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn add_node(&mut self, node: N) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn has_node(&self, node: &N) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn add_edge(&mut self, node1: N, node2: N) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn has_edge(&self, node1: &N, node2: &N) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub fn neighbors(&self, node: &N) -> Option<&HashSet> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bron_kerbosch` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | fn bron_kerbosch<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | if x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:88:40 [INFO] [stdout] | [INFO] [stdout] 88 | if x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:104:33 [INFO] [stdout] | [INFO] [stdout] 104 | x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Display` [INFO] [stdout] --> src/bin/utils/grid_utils.rs:5:23 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt::{Debug, Display}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/bin/20.rs:4:45 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::{BinaryHeap, HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Direction` [INFO] [stdout] --> src/bin/20.rs:6:37 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::utils::{parse_grid, Pos, Direction, get_value_from_grid, CARDINAL_DIRECTIONS}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/bin/20.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | for (tuple) in path.iter().tuple_combinations() { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 110 - for (tuple) in path.iter().tuple_combinations() { [INFO] [stdout] 110 + for tuple in path.iter().tuple_combinations() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/bin/20.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | for (tuple) in path.iter().tuple_combinations() { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 136 - for (tuple) in path.iter().tuple_combinations() { [INFO] [stdout] 136 + for tuple in path.iter().tuple_combinations() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Display` [INFO] [stdout] --> src/bin/utils/grid_utils.rs:5:23 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt::{Debug, Display}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BinaryHeap`, `HashMap`, and `HashSet` [INFO] [stdout] --> src/bin/18.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BinaryHeap, HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Vec` instead of cloning the inner type [INFO] [stdout] --> src/bin/25.rs:51:18 [INFO] [stdout] | [INFO] [stdout] 51 | (lock.clone(), keys.iter().filter(|key| { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Vec` instead of cloning the inner type [INFO] [stdout] --> src/bin/25.rs:51:18 [INFO] [stdout] | [INFO] [stdout] 51 | (lock.clone(), keys.iter().filter(|key| { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this enum variant takes 1 argument but 2 arguments were supplied [INFO] [stdout] --> src/bin/23.rs:124:28 [INFO] [stdout] | [INFO] [stdout] 124 | assert_eq!(result, Some("co,de,ka,ta".to_string()r)); [INFO] [stdout] | ^^^^ - unexpected argument #2 [INFO] [stdout] | [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /rustc/c659ee110de67e82444e4b6c8407c1a9af9c2cf6/library/core/src/option.rs:601:5 [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 124 - assert_eq!(result, Some("co,de,ka,ta".to_string()r)); [INFO] [stdout] 124 + assert_eq!(result, Some("co,de,ka,ta".to_string())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/bin/23.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | if let neighbors = graph.neighbors(node).unwrap().iter().collect_vec() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0425. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stdout] warning: unused import: `VecDeque` [INFO] [stdout] --> src/bin/16.rs:1:54 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{BinaryHeap, HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Position` [INFO] [stdout] --> src/bin/16.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use itertools::Position; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Display` [INFO] [stdout] --> src/bin/utils/grid_utils.rs:5:23 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt::{Debug, Display}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `get_value_from_grid_pos` and `is_in_boundaries` [INFO] [stdout] --> src/bin/16.rs:6:69 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::utils::{parse_grid, Pos, Direction, CARDINAL_DIRECTIONS, is_in_boundaries, get_value_from_grid_pos, Maze}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `advent_of_code` (bin "23" test) due to 3 previous errors; 2 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused import: `std::hash::Hash` [INFO] [stdout] --> src/bin/21.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::hash::Hash; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::Ordering::*` [INFO] [stdout] --> src/bin/14.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::cmp::Ordering::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Display` [INFO] [stdout] --> src/bin/utils/grid_utils.rs:5:23 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt::{Debug, Display}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Display` [INFO] [stdout] --> src/bin/utils/grid_utils.rs:5:23 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt::{Debug, Display}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_keypad` is never used [INFO] [stdout] --> src/bin/21.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn get_keypad() -> Vec> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_control_pad` is never used [INFO] [stdout] --> src/bin/21.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn get_control_pad() -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/20.rs:68:17 [INFO] [stdout] | [INFO] [stdout] 68 | let mut activate_hack = hack_activated.clone(); [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/bin/20.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | let mut hack_new_count = hack_count.clone(); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `NorthEast`, `SouthEast`, `SouthWest`, and `NorthWest` are never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum Direction { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 10 | North, [INFO] [stdout] 11 | NorthEast, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 12 | East, [INFO] [stdout] 13 | SouthEast, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 14 | South, [INFO] [stdout] 15 | SouthWest, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 16 | West, [INFO] [stdout] 17 | NorthWest, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_axis` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Direction { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 21 | pub fn get_axis(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `neighbor_in_grid` and `neighbors` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 65 | impl Pos { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn neighbor_in_grid(&self, direction: Direction, grid: &Vec>) -> Option<(Pos, char)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn neighbors(&self, directions: &[Direction]) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_in_boundaries` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn is_in_boundaries(grid: &Vec>, pos: Pos) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Edge` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | pub struct Edge { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `contains`, and `length` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Edge { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 114 | // Constructor method to create a new Edge [INFO] [stdout] 115 | pub fn new(start: Pos, end: Pos) -> Self { Edge { start, end } } [INFO] [stdout] | ^^^ [INFO] [stdout] 116 | [INFO] [stdout] 117 | pub fn contains(&self, pos: &Pos) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn length(&self) -> f64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_value_from_grid_pos` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn get_value_from_grid_pos(grid: &Vec>, pos: Pos) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Graph` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct Graph { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_node`, `has_node`, `add_edge`, `has_edge`, and `neighbors` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 184 | impl Graph { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 185 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn add_node(&mut self, node: N) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn has_node(&self, node: &N) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn add_edge(&mut self, node1: N, node2: N) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn has_edge(&self, node1: &N, node2: &N) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub fn neighbors(&self, node: &N) -> Option<&HashSet> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bron_kerbosch` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | fn bron_kerbosch<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Maze` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:245:12 [INFO] [stdout] | [INFO] [stdout] 245 | pub struct Maze { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `dijkstra` and `dijkstra_with_backtrack` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:290:12 [INFO] [stdout] | [INFO] [stdout] 289 | impl Maze { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 290 | pub fn dijkstra(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | pub fn dijkstra_with_backtrack(&self, min_cost: usize, direction: &Direction) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tile` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:408:8 [INFO] [stdout] | [INFO] [stdout] 408 | struct Tile { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | if x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:88:40 [INFO] [stdout] | [INFO] [stdout] 88 | if x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:104:33 [INFO] [stdout] | [INFO] [stdout] 104 | x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tile` is never constructed [INFO] [stdout] --> src/bin/16.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 124 | struct Tile { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dijkstra_with_backtrack` is never used [INFO] [stdout] --> src/bin/16.rs:131:4 [INFO] [stdout] | [INFO] [stdout] 131 | fn dijkstra_with_backtrack( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `NorthEast`, `SouthEast`, `SouthWest`, and `NorthWest` are never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum Direction { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 10 | North, [INFO] [stdout] 11 | NorthEast, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 12 | East, [INFO] [stdout] 13 | SouthEast, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 14 | South, [INFO] [stdout] 15 | SouthWest, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 16 | West, [INFO] [stdout] 17 | NorthWest, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `neighbor_in_grid` and `neighbors` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 65 | impl Pos { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn neighbor_in_grid(&self, direction: Direction, grid: &Vec>) -> Option<(Pos, char)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn neighbors(&self, directions: &[Direction]) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_in_boundaries` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn is_in_boundaries(grid: &Vec>, pos: Pos) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Edge` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | pub struct Edge { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `contains`, and `length` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Edge { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 114 | // Constructor method to create a new Edge [INFO] [stdout] 115 | pub fn new(start: Pos, end: Pos) -> Self { Edge { start, end } } [INFO] [stdout] | ^^^ [INFO] [stdout] 116 | [INFO] [stdout] 117 | pub fn contains(&self, pos: &Pos) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn length(&self) -> f64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_value_from_grid` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn get_value_from_grid(grid: &Vec>, x: usize, y: usize) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_value_from_grid_pos` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn get_value_from_grid_pos(grid: &Vec>, pos: Pos) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Graph` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct Graph { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/15.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut matrix: Vec>; [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: associated items `new`, `add_node`, `has_node`, `add_edge`, `has_edge`, and `neighbors` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 184 | impl Graph { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 185 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn add_node(&mut self, node: N) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn has_node(&self, node: &N) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn add_edge(&mut self, node1: N, node2: N) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn has_edge(&self, node1: &N, node2: &N) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub fn neighbors(&self, node: &N) -> Option<&HashSet> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bron_kerbosch` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | fn bron_kerbosch<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | if x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:88:40 [INFO] [stdout] | [INFO] [stdout] 88 | if x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:104:33 [INFO] [stdout] | [INFO] [stdout] 104 | x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `NorthEast`, `SouthEast`, `SouthWest`, and `NorthWest` are never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum Direction { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 10 | North, [INFO] [stdout] 11 | NorthEast, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 12 | East, [INFO] [stdout] 13 | SouthEast, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 14 | South, [INFO] [stdout] 15 | SouthWest, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 16 | West, [INFO] [stdout] 17 | NorthWest, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `display_grid` is never used [INFO] [stdout] --> src/bin/14.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn display_grid(positions: Vec, width: usize, height: usize) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_axis` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Direction { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 21 | pub fn get_axis(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CARDINAL_DIRECTIONS` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const CARDINAL_DIRECTIONS: [Direction; 4] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `neighbor`, `neighbor_in_grid`, and `neighbors` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 65 | impl Pos { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn neighbor(&self, direction: Direction) -> Pos { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn neighbor_in_grid(&self, direction: Direction, grid: &Vec>) -> Option<(Pos, char)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn neighbors(&self, directions: &[Direction]) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_in_boundaries` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn is_in_boundaries(grid: &Vec>, pos: Pos) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Edge` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | pub struct Edge { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `contains`, and `length` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Edge { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 114 | // Constructor method to create a new Edge [INFO] [stdout] 115 | pub fn new(start: Pos, end: Pos) -> Self { Edge { start, end } } [INFO] [stdout] | ^^^ [INFO] [stdout] 116 | [INFO] [stdout] 117 | pub fn contains(&self, pos: &Pos) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn length(&self) -> f64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_grid` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:153:8 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn parse_grid(input: &str) -> Vec> [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_value_from_grid` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn get_value_from_grid(grid: &Vec>, x: usize, y: usize) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_value_from_grid_pos` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn get_value_from_grid_pos(grid: &Vec>, pos: Pos) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Graph` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct Graph { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_node`, `has_node`, `add_edge`, `has_edge`, and `neighbors` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 184 | impl Graph { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 185 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn add_node(&mut self, node: N) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn has_node(&self, node: &N) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn add_edge(&mut self, node1: N, node2: N) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn has_edge(&self, node1: &N, node2: &N) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub fn neighbors(&self, node: &N) -> Option<&HashSet> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bron_kerbosch` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | fn bron_kerbosch<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Maze` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:245:12 [INFO] [stdout] | [INFO] [stdout] 245 | pub struct Maze { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `dijkstra` and `dijkstra_with_backtrack` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:290:12 [INFO] [stdout] | [INFO] [stdout] 289 | impl Maze { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 290 | pub fn dijkstra(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | pub fn dijkstra_with_backtrack(&self, min_cost: usize, direction: &Direction) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tile` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:408:8 [INFO] [stdout] | [INFO] [stdout] 408 | struct Tile { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | if x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:88:40 [INFO] [stdout] | [INFO] [stdout] 88 | if x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:104:33 [INFO] [stdout] | [INFO] [stdout] 104 | x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_axis` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Direction { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 21 | pub fn get_axis(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CARDINAL_DIRECTIONS` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const CARDINAL_DIRECTIONS: [Direction; 4] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `neighbor_in_grid` and `neighbors` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 65 | impl Pos { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn neighbor_in_grid(&self, direction: Direction, grid: &Vec>) -> Option<(Pos, char)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn neighbors(&self, directions: &[Direction]) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_in_boundaries` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn is_in_boundaries(grid: &Vec>, pos: Pos) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Edge` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | pub struct Edge { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `contains`, and `length` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Edge { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 114 | // Constructor method to create a new Edge [INFO] [stdout] 115 | pub fn new(start: Pos, end: Pos) -> Self { Edge { start, end } } [INFO] [stdout] | ^^^ [INFO] [stdout] 116 | [INFO] [stdout] 117 | pub fn contains(&self, pos: &Pos) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn length(&self) -> f64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_grid` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:153:8 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn parse_grid(input: &str) -> Vec> [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_value_from_grid` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn get_value_from_grid(grid: &Vec>, x: usize, y: usize) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Graph` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct Graph { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_node`, `has_node`, `add_edge`, `has_edge`, and `neighbors` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 184 | impl Graph { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 185 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn add_node(&mut self, node: N) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn has_node(&self, node: &N) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn add_edge(&mut self, node1: N, node2: N) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn has_edge(&self, node1: &N, node2: &N) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub fn neighbors(&self, node: &N) -> Option<&HashSet> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bron_kerbosch` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | fn bron_kerbosch<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Maze` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:245:12 [INFO] [stdout] | [INFO] [stdout] 245 | pub struct Maze { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `dijkstra` and `dijkstra_with_backtrack` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:290:12 [INFO] [stdout] | [INFO] [stdout] 289 | impl Maze { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 290 | pub fn dijkstra(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | pub fn dijkstra_with_backtrack(&self, min_cost: usize, direction: &Direction) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tile` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:408:8 [INFO] [stdout] | [INFO] [stdout] 408 | struct Tile { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | if x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:88:40 [INFO] [stdout] | [INFO] [stdout] 88 | if x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:104:33 [INFO] [stdout] | [INFO] [stdout] 104 | x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `positions_left` [INFO] [stdout] --> src/bin/18.rs:73:10 [INFO] [stdout] | [INFO] [stdout] 73 | let (positions_left, grid) = parse(input, size, bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positions_left` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `State` is never constructed [INFO] [stdout] --> src/bin/18.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | struct State { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `NorthEast`, `SouthEast`, `SouthWest`, and `NorthWest` are never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum Direction { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 10 | North, [INFO] [stdout] 11 | NorthEast, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 12 | East, [INFO] [stdout] 13 | SouthEast, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 14 | South, [INFO] [stdout] 15 | SouthWest, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 16 | West, [INFO] [stdout] 17 | NorthWest, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Direction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_axis` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Direction { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 21 | pub fn get_axis(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CARDINAL_DIRECTIONS` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const CARDINAL_DIRECTIONS: [Direction; 4] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `neighbor_in_grid` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 65 | impl Pos { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn neighbor_in_grid(&self, direction: Direction, grid: &Vec>) -> Option<(Pos, char)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_in_boundaries` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn is_in_boundaries(grid: &Vec>, pos: Pos) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Edge` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | pub struct Edge { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `contains`, and `length` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Edge { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 114 | // Constructor method to create a new Edge [INFO] [stdout] 115 | pub fn new(start: Pos, end: Pos) -> Self { Edge { start, end } } [INFO] [stdout] | ^^^ [INFO] [stdout] 116 | [INFO] [stdout] 117 | pub fn contains(&self, pos: &Pos) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn length(&self) -> f64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_grid` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:153:8 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn parse_grid(input: &str) -> Vec> [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_value_from_grid_pos` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn get_value_from_grid_pos(grid: &Vec>, pos: Pos) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Graph` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct Graph { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_node`, `has_node`, `add_edge`, `has_edge`, and `neighbors` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 184 | impl Graph { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 185 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn add_node(&mut self, node: N) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn has_node(&self, node: &N) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn add_edge(&mut self, node1: N, node2: N) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn has_edge(&self, node1: &N, node2: &N) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub fn neighbors(&self, node: &N) -> Option<&HashSet> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bron_kerbosch` is never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | fn bron_kerbosch<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Maze` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:245:12 [INFO] [stdout] | [INFO] [stdout] 245 | pub struct Maze { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `dijkstra` and `dijkstra_with_backtrack` are never used [INFO] [stdout] --> src/bin/utils/grid_utils.rs:290:12 [INFO] [stdout] | [INFO] [stdout] 289 | impl Maze { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 290 | pub fn dijkstra(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | pub fn dijkstra_with_backtrack(&self, min_cost: usize, direction: &Direction) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tile` is never constructed [INFO] [stdout] --> src/bin/utils/grid_utils.rs:408:8 [INFO] [stdout] | [INFO] [stdout] 408 | struct Tile { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | if x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:88:40 [INFO] [stdout] | [INFO] [stdout] 88 | if x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bin/utils/grid_utils.rs:104:33 [INFO] [stdout] | [INFO] [stdout] 104 | x < 0 || x >= grid.len() || y < 0 || y >= grid[0].len() [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "75864a58b1aa9a8d9876278343897bdc819ceea28e4d59332e2cb6c995f9e1ec", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "75864a58b1aa9a8d9876278343897bdc819ceea28e4d59332e2cb6c995f9e1ec", kill_on_drop: false }` [INFO] [stdout] 75864a58b1aa9a8d9876278343897bdc819ceea28e4d59332e2cb6c995f9e1ec