[INFO] cloning repository https://github.com/Kezahh/AOC_2022 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Kezahh/AOC_2022" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKezahh%2FAOC_2022", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKezahh%2FAOC_2022'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 340b78ae9bdd14728c4e1a081b376d61739d0b5e [INFO] building Kezahh/AOC_2022 against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKezahh%2FAOC_2022" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Kezahh/AOC_2022 on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Kezahh/AOC_2022 [INFO] finished tweaking git repo https://github.com/Kezahh/AOC_2022 [INFO] tweaked toml for git repo https://github.com/Kezahh/AOC_2022 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/Kezahh/AOC_2022 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 086291aae2f99bd498a7e49616800d97652a5f4e1a2a8801793a552c43cfb59f [INFO] running `Command { std: "docker" "start" "-a" "086291aae2f99bd498a7e49616800d97652a5f4e1a2a8801793a552c43cfb59f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "086291aae2f99bd498a7e49616800d97652a5f4e1a2a8801793a552c43cfb59f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "086291aae2f99bd498a7e49616800d97652a5f4e1a2a8801793a552c43cfb59f", kill_on_drop: false }` [INFO] [stdout] 086291aae2f99bd498a7e49616800d97652a5f4e1a2a8801793a552c43cfb59f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 70de3fc8ce7f8eeb84635462b322eeada1dde97db3119715e77ca263328949f9 [INFO] running `Command { std: "docker" "start" "-a" "70de3fc8ce7f8eeb84635462b322eeada1dde97db3119715e77ca263328949f9", kill_on_drop: false }` [INFO] [stderr] Compiling AOC_2022 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::generic` [INFO] [stdout] --> src/day_1.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::generic; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/day_4.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/day_5.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::generic` [INFO] [stdout] --> src/day_6.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::generic; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> src/day_6.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Deref, DerefMut}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/day_7.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> src/day_7.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::{Deref, DerefMut}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::current` [INFO] [stdout] --> src/day_7.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::thread::current; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> src/day_8.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Deref, DerefMut}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/day_8.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/day_8.rs:57:11 [INFO] [stdout] | [INFO] [stdout] 57 | while (tree_index < neighbour_trees.len() && neighbour_trees[tree_index] <= *current_tree [INFO] [stdout] | ^ [INFO] [stdout] 58 | && neighbour_trees[tree_index] != -1 && last_tree < *current_tree) { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 57 ~ while tree_index < neighbour_trees.len() && neighbour_trees[tree_index] <= *current_tree [INFO] [stdout] 58 ~ && neighbour_trees[tree_index] != -1 && last_tree < *current_tree { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/day_8.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | if (tree_index < neighbour_trees.len() && neighbour_trees[tree_index] != -1 [INFO] [stdout] | ^ [INFO] [stdout] 65 | && last_tree <= *current_tree && neighbour_trees[tree_index] > last_tree && last_tree != *current_tree) { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 64 ~ if tree_index < neighbour_trees.len() && neighbour_trees[tree_index] != -1 [INFO] [stdout] 65 ~ && last_tree <= *current_tree && neighbour_trees[tree_index] > last_tree && last_tree != *current_tree { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/day_10.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/day_11.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/day_12.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::current` [INFO] [stdout] --> src/day_12.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::thread::current; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/day_12.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | if ((current_point.value == END_CHAR && (neighbour.value == 'z' || neighbour.value == 'y')) || [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 69 | (neighbour.value == START_CHAR && (current_point.value == 'a' || current_point.value == 'b'))) { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 66 ~ if (current_point.value == END_CHAR && (neighbour.value == 'z' || neighbour.value == 'y')) || [INFO] [stdout] 67 | (current_point.value != END_CHAR && current_point.value <= neighbour.value) || [INFO] [stdout] 68 | step_change == 1 || [INFO] [stdout] 69 ~ (neighbour.value == START_CHAR && (current_point.value == 'a' || current_point.value == 'b')) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/day_12.rs:114:11 [INFO] [stdout] | [INFO] [stdout] 114 | while (current_point.value != END_CHAR) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 114 - while (current_point.value != END_CHAR) { [INFO] [stdout] 114 + while current_point.value != END_CHAR { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/day_13.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::VecDeque` [INFO] [stdout] --> src/day_13.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::VecDeque; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::current` [INFO] [stdout] --> src/day_13.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::thread::current; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/day_13.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day_4.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let mut elf_pairs: Vec = input_lines.iter().map(|x| ElfPair::from_string(x.clone())).collect(); [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 variable: `i` [INFO] [stdout] --> src/day_5.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | for i in 0..quantity { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `modified_target` is never read [INFO] [stdout] --> src/day_5.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | let mut modified_target: CraneStack = CraneStack::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `surrounding_trees` [INFO] [stdout] --> src/day_8.rs:32:17 [INFO] [stdout] | [INFO] [stdout] 32 | let surrounding_trees = vec![max_above, max_below, max_left, max_right]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_surrounding_trees` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/day_9.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | _ => println!("Bad time"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/day_9.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 101 | Direction::Left => knots[0].left(), [INFO] [stdout] | --------------- matches some of the same values [INFO] [stdout] 102 | Direction::Right => knots[0].right(), [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] 103 | Direction::Up => knots[0].up(), [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] 104 | Direction::Down => knots[0].down(), [INFO] [stdout] | --------------- matches some of the same values [INFO] [stdout] 105 | _ => println!("Bad time"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `row_index` [INFO] [stdout] --> src/day_9.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | let mut row_index: i32 = 0; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_row_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col_index` [INFO] [stdout] --> src/day_9.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let mut col_index: i32 = 0; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_col_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day_9.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let mut row_index: i32 = 0; [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/day_9.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | let mut col_index: i32 = 0; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cycle_index` [INFO] [stdout] --> src/day_10.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | let mut cycle_index: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycle_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day_10.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | let mut cycle_index: usize = 0; [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/day_12.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | let mut neighbour_points: Vec = get_neighbour_points(¤t_point, &output_graph); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/day_12.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | for r in 0..points_graph.len() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/day_12.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 196 | for c in 0..points_graph[0].len() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day_12.rs:192:9 [INFO] [stdout] | [INFO] [stdout] 192 | let mut points_map: Vec> = get_points_map(&input_lines); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day_12.rs:193:9 [INFO] [stdout] | [INFO] [stdout] 193 | let mut points_graph: Vec> = build_points_graph(&points_map); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `error` [INFO] [stdout] --> src/day_13.rs:64:17 [INFO] [stdout] | [INFO] [stdout] 64 | Err(error) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day_13.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | let mut new_packet_index: usize = PacketData::add_new(all_packets, None, false); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `packet_index` is never read [INFO] [stdout] --> src/day_13.rs:244:17 [INFO] [stdout] | [INFO] [stdout] 244 | let mut packet_index: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `min_row` [INFO] [stdout] --> src/day_14.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | let min_row: usize = rock_lines.iter().map(|x| x.start.row).min().unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_row` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Elf` is never constructed [INFO] [stdout] --> src/day_1.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct Elf { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Result` is never used [INFO] [stdout] --> src/day_2.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | enum Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PlayResult` is never used [INFO] [stdout] --> src/day_2.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | enum PlayResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_outcome` is never used [INFO] [stdout] --> src/day_2.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn get_outcome(oponent_play: Result, self_play: Result) -> PlayResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_selfplay` is never used [INFO] [stdout] --> src/day_2.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn get_selfplay(oponent_play: Result, outcome: PlayResult) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_puzzle_part_1` is never used [INFO] [stdout] --> src/day_2.rs:61:4 [INFO] [stdout] | [INFO] [stdout] 61 | fn solve_puzzle_part_1(input_file: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_puzzle_part_2` is never used [INFO] [stdout] --> src/day_2.rs:88:4 [INFO] [stdout] | [INFO] [stdout] 88 | fn solve_puzzle_part_2(input_file: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_common_item` is never used [INFO] [stdout] --> src/day_3.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn get_common_item(input_string: String) -> char { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_common_item_in_groups` is never used [INFO] [stdout] --> src/day_3.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn get_common_item_in_groups(input_vec: Vec) -> char { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `loop_through_list` is never used [INFO] [stdout] --> src/day_3.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn loop_through_list(input_file: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `loop_through_list_groups` is never used [INFO] [stdout] --> src/day_3.rs:45:4 [INFO] [stdout] | [INFO] [stdout] 45 | fn loop_through_list_groups(input_file: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ElfSection` is never constructed [INFO] [stdout] --> src/day_4.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct ElfSection { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_string` is never used [INFO] [stdout] --> src/day_4.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl ElfSection { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 11 | fn from_string(input_string: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ElfPair` is never constructed [INFO] [stdout] --> src/day_4.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct ElfPair { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_string`, `complete_overlap`, and `any_overlap` are never used [INFO] [stdout] --> src/day_4.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl ElfPair { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 22 | fn from_string(input_string: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | fn complete_overlap(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | fn any_overlap(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `loop_through_list` is never used [INFO] [stdout] --> src/day_4.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn loop_through_list(input_file: &str, any_overlap: bool) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Move` is never constructed [INFO] [stdout] --> src/day_5.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | struct Move { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_string` is never used [INFO] [stdout] --> src/day_5.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 12 | impl Move { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 13 | fn from_string(input_string: &str) -> Self{ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CraneStack` is never constructed [INFO] [stdout] --> src/day_5.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | struct CraneStack(Vec); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `remove_blanks`, `move_to_stack`, and `move_to_stack_9001` are never used [INFO] [stdout] --> src/day_5.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 28 | impl CraneStack { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 29 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | fn remove_blanks(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | fn move_to_stack(&mut self, to_stack: &Self, quantity: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | fn move_to_stack_9001(&mut self, to_stack: &Self, quantity: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_stacks` is never used [INFO] [stdout] --> src/day_5.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn parse_stacks(input_lines: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_moves` is never used [INFO] [stdout] --> src/day_5.rs:96:4 [INFO] [stdout] | [INFO] [stdout] 96 | fn parse_moves(input_lines: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_puzzle` is never used [INFO] [stdout] --> src/day_5.rs:113:4 [INFO] [stdout] | [INFO] [stdout] 113 | fn solve_puzzle(input_file: &str, is_9001: bool) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_puzzle` is never used [INFO] [stdout] --> src/day_6.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn solve_puzzle(input_datastream: &str, unique_count: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileObject` is never constructed [INFO] [stdout] --> src/day_7.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | struct FileObject { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get_size` are never used [INFO] [stdout] --> src/day_7.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 18 | impl FileObject { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 19 | fn new(index: usize, name: String, size: usize, is_directory: bool, parent_index: usize) -> FileObject { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | fn get_size(&self, all_files: &Vec) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_puzzle` is never used [INFO] [stdout] --> src/day_7.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn solve_puzzle(input_file: &str, part_1: bool) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_puzzle` is never used [INFO] [stdout] --> src/day_8.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn solve_puzzle(input_filename: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_trees` is never used [INFO] [stdout] --> src/day_8.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn count_trees(current_tree: &i32, neighbour_trees: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_puzzle_part2` is never used [INFO] [stdout] --> src/day_8.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | fn solve_puzzle_part2(input_filename: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StepCommand` is never constructed [INFO] [stdout] --> src/day_9.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct StepCommand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> src/day_9.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Position` is never constructed [INFO] [stdout] --> src/day_9.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct Position { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `up`, `down`, `left`, `right`, and `chase_head` are never used [INFO] [stdout] --> src/day_9.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 22 | impl Position { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 23 | fn up(&mut self) { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 27 | fn down(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn left(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | fn right(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | fn chase_head(&mut self, head_position: &Self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_puzzle` is never used [INFO] [stdout] --> src/day_9.rs:69:4 [INFO] [stdout] | [INFO] [stdout] 69 | fn solve_puzzle(input_filename: &str, knots_count: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_x_register` is never used [INFO] [stdout] --> src/day_10.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn get_x_register(input_filename: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_puzzle` is never used [INFO] [stdout] --> src/day_10.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn solve_puzzle(input_filename: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_puzzle_part2` is never used [INFO] [stdout] --> src/day_10.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn solve_puzzle_part2(input_filename: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Monkey` is never constructed [INFO] [stdout] --> src/day_11.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | struct Monkey { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_string` and `throw_item` are never used [INFO] [stdout] --> src/day_11.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl Monkey { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 22 | fn from_string(input_lines: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | fn throw_item(&mut self, part2: bool) -> (usize, u64) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/day_11.rs:92:4 [INFO] [stdout] | [INFO] [stdout] 92 | fn parse_input(input_lines: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_puzzle` is never used [INFO] [stdout] --> src/day_11.rs:105:4 [INFO] [stdout] | [INFO] [stdout] 105 | fn solve_puzzle(input_filename: &str, part2: bool) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `START_CHAR` is never used [INFO] [stdout] --> src/day_12.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | static START_CHAR: char = 'S'; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `END_CHAR` is never used [INFO] [stdout] --> src/day_12.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | static END_CHAR: char = 'E'; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Point` is never constructed [INFO] [stdout] --> src/day_12.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct Point { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_points_map` is never used [INFO] [stdout] --> src/day_12.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn get_points_map(input_lines: &Vec) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_neighbour_points` is never used [INFO] [stdout] --> src/day_12.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn get_neighbour_points(current_point: &Point, points_map: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_neighbour_next_point` is never used [INFO] [stdout] --> src/day_12.rs:77:4 [INFO] [stdout] | [INFO] [stdout] 77 | fn set_neighbour_next_point(neighbour: &Point, current_point: &Point, output_graph: &mut Vec>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_current_point_neighbours_done` is never used [INFO] [stdout] --> src/day_12.rs:83:4 [INFO] [stdout] | [INFO] [stdout] 83 | fn set_current_point_neighbours_done(current_point: &Point, output_graph: &mut Vec>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_start_point` is never used [INFO] [stdout] --> src/day_12.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn get_start_point(points_map: &Vec>) -> Point { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_end_point` is never used [INFO] [stdout] --> src/day_12.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | fn get_end_point(points_map: &Vec>) -> Point { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_distance_to_end` is never used [INFO] [stdout] --> src/day_12.rs:111:4 [INFO] [stdout] | [INFO] [stdout] 111 | fn get_distance_to_end(target_point: &Point, points_map: &Vec>) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_point_from_points_graph` is never used [INFO] [stdout] --> src/day_12.rs:128:4 [INFO] [stdout] | [INFO] [stdout] 128 | fn get_point_from_points_graph(target_point: &Point, points_graph: &Vec>) -> Point { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_points_graph` is never used [INFO] [stdout] --> src/day_12.rs:133:4 [INFO] [stdout] | [INFO] [stdout] 133 | fn build_points_graph(points_map: &Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_puzzle` is never used [INFO] [stdout] --> src/day_12.rs:190:4 [INFO] [stdout] | [INFO] [stdout] 190 | fn solve_puzzle(input_filename: &str, part_2: bool) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PacketResult` is never used [INFO] [stdout] --> src/day_13.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | enum PacketResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PacketData` is never constructed [INFO] [stdout] --> src/day_13.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | struct PacketData { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `add_new`, `add_from_string`, `add_list`, `get_string`, and `make_integer_into_list` are never used [INFO] [stdout] --> src/day_13.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 24 | impl PacketData { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 25 | fn add_new(all_packets: &mut Vec, value: Option, is_blank: bool) -> usize { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn add_from_string(input_string: String, parent_packet_index: Option, all_packets: &mut Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | fn add_list(input_string: String, all_packets: &mut Vec) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | fn get_string(&self, all_packets: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | fn make_integer_into_list(all_packets: &mut Vec, packet_index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `left_packet_good_order` is never used [INFO] [stdout] --> src/day_13.rs:146:4 [INFO] [stdout] | [INFO] [stdout] 146 | fn left_packet_good_order(all_packets: &mut Vec, left_packet_index: usize, right_packet_index: usize) -> PacketResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_puzzle` is never used [INFO] [stdout] --> src/day_13.rs:192:4 [INFO] [stdout] | [INFO] [stdout] 192 | fn solve_puzzle(input_filename: &str, part_2: bool) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_all_packets` is never used [INFO] [stdout] --> src/day_13.rs:293:4 [INFO] [stdout] | [INFO] [stdout] 293 | fn print_all_packets(all_packets: &Vec, sort_list: &Vec, target: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Unit` is never used [INFO] [stdout] --> src/day_14.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | enum Unit { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Point` is never constructed [INFO] [stdout] --> src/day_14.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | struct Point { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_string` is never used [INFO] [stdout] --> src/day_14.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 31 | impl Point { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 32 | fn from_string(input_string: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RockLine` is never constructed [INFO] [stdout] --> src/day_14.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | struct RockLine { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_points` and `is_horiztonal` are never used [INFO] [stdout] --> src/day_14.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 44 | impl RockLine { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 45 | fn from_points(point1: Point, point2: Point) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | fn is_horiztonal(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_rock_lines` is never used [INFO] [stdout] --> src/day_14.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn get_rock_lines(input_filename: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_scan_map` is never used [INFO] [stdout] --> src/day_14.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn get_scan_map(rock_lines: &Vec, part_2: bool) -> (usize, Vec>) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_puzzle` is never used [INFO] [stdout] --> src/day_14.rs:113:4 [INFO] [stdout] | [INFO] [stdout] 113 | fn solve_puzzle(input_filename: &str, part_2: bool) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_scan_map` is never used [INFO] [stdout] --> src/day_14.rs:165:4 [INFO] [stdout] | [INFO] [stdout] 165 | fn print_scan_map(scan_map: &Vec>) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BeaconAvailability` is never used [INFO] [stdout] --> src/day_15.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | enum BeaconAvailability { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PointsGrid` is never constructed [INFO] [stdout] --> src/day_15.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct PointsGrid { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_availability`, `get_smaller_grids`, and `get_points` are never used [INFO] [stdout] --> src/day_15.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl PointsGrid { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 24 | fn get_availability(&self, sensor: &Sensor) -> BeaconAvailability { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | fn get_smaller_grids(&self, new_size: i32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | fn get_points(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sensor` is never constructed [INFO] [stdout] --> src/day_15.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | struct Sensor { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_exclusion_distance` is never used [INFO] [stdout] --> src/day_15.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 77 | impl Sensor { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 78 | fn get_exclusion_distance(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Point` is never constructed [INFO] [stdout] --> src/day_15.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 84 | struct Point { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_string`, `get_distance_from`, and `add_offset` are never used [INFO] [stdout] --> src/day_15.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 95 | impl Point { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 96 | fn from_string(input_string: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | fn get_distance_from(&self, other_point: &Point) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | fn add_offset(&self, x_off: i32, y_off: i32) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_all_sensors` is never used [INFO] [stdout] --> src/day_15.rs:110:4 [INFO] [stdout] | [INFO] [stdout] 110 | fn get_all_sensors(input_filename: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_puzzle` is never used [INFO] [stdout] --> src/day_15.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | fn solve_puzzle(input_filename: &str, target_y: i32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_grids` is never used [INFO] [stdout] --> src/day_15.rs:168:4 [INFO] [stdout] | [INFO] [stdout] 168 | fn get_grids(max_coord: i32) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_points_grids_against_sensors` is never used [INFO] [stdout] --> src/day_15.rs:181:4 [INFO] [stdout] | [INFO] [stdout] 181 | fn check_points_grids_against_sensors(all_grids: &Vec, all_sensors: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `break_down_grids` is never used [INFO] [stdout] --> src/day_15.rs:213:4 [INFO] [stdout] | [INFO] [stdout] 213 | fn break_down_grids(all_grids: &Vec, new_size: i32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_puzzle_part_2` is never used [INFO] [stdout] --> src/day_15.rs:223:4 [INFO] [stdout] | [INFO] [stdout] 223 | fn solve_puzzle_part_2(input_filename: &str, max_coord: i32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.26s [INFO] running `Command { std: "docker" "inspect" "70de3fc8ce7f8eeb84635462b322eeada1dde97db3119715e77ca263328949f9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "70de3fc8ce7f8eeb84635462b322eeada1dde97db3119715e77ca263328949f9", kill_on_drop: false }` [INFO] [stdout] 70de3fc8ce7f8eeb84635462b322eeada1dde97db3119715e77ca263328949f9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fdbced0002d4e7e74ce5ae370029f1d8f49c646214b1e72e9364a8fd38dfaf25 [INFO] running `Command { std: "docker" "start" "-a" "fdbced0002d4e7e74ce5ae370029f1d8f49c646214b1e72e9364a8fd38dfaf25", kill_on_drop: false }` [INFO] [stderr] Compiling AOC_2022 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/day_4.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/day_5.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> src/day_6.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Deref, DerefMut}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/day_7.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> src/day_7.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::{Deref, DerefMut}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::current` [INFO] [stdout] --> src/day_7.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::thread::current; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> src/day_8.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Deref, DerefMut}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/day_8.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/day_8.rs:57:11 [INFO] [stdout] | [INFO] [stdout] 57 | while (tree_index < neighbour_trees.len() && neighbour_trees[tree_index] <= *current_tree [INFO] [stdout] | ^ [INFO] [stdout] 58 | && neighbour_trees[tree_index] != -1 && last_tree < *current_tree) { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 57 ~ while tree_index < neighbour_trees.len() && neighbour_trees[tree_index] <= *current_tree [INFO] [stdout] 58 ~ && neighbour_trees[tree_index] != -1 && last_tree < *current_tree { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/day_8.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | if (tree_index < neighbour_trees.len() && neighbour_trees[tree_index] != -1 [INFO] [stdout] | ^ [INFO] [stdout] 65 | && last_tree <= *current_tree && neighbour_trees[tree_index] > last_tree && last_tree != *current_tree) { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 64 ~ if tree_index < neighbour_trees.len() && neighbour_trees[tree_index] != -1 [INFO] [stdout] 65 ~ && last_tree <= *current_tree && neighbour_trees[tree_index] > last_tree && last_tree != *current_tree { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/day_10.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/day_11.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/day_12.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::current` [INFO] [stdout] --> src/day_12.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::thread::current; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/day_12.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | if ((current_point.value == END_CHAR && (neighbour.value == 'z' || neighbour.value == 'y')) || [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 69 | (neighbour.value == START_CHAR && (current_point.value == 'a' || current_point.value == 'b'))) { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 66 ~ if (current_point.value == END_CHAR && (neighbour.value == 'z' || neighbour.value == 'y')) || [INFO] [stdout] 67 | (current_point.value != END_CHAR && current_point.value <= neighbour.value) || [INFO] [stdout] 68 | step_change == 1 || [INFO] [stdout] 69 ~ (neighbour.value == START_CHAR && (current_point.value == 'a' || current_point.value == 'b')) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/day_12.rs:114:11 [INFO] [stdout] | [INFO] [stdout] 114 | while (current_point.value != END_CHAR) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 114 - while (current_point.value != END_CHAR) { [INFO] [stdout] 114 + while current_point.value != END_CHAR { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/day_13.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::VecDeque` [INFO] [stdout] --> src/day_13.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::VecDeque; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::current` [INFO] [stdout] --> src/day_13.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::thread::current; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/day_13.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/main.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `max_elf_index` is assigned to, but never used [INFO] [stdout] --> src/day_1.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | let mut max_elf_index = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_max_elf_index` instead [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `max_elf_index` is never read [INFO] [stdout] --> src/day_1.rs:40:17 [INFO] [stdout] | [INFO] [stdout] 40 | max_elf_index = elf.index; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day_4.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let mut elf_pairs: Vec = input_lines.iter().map(|x| ElfPair::from_string(x.clone())).collect(); [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 variable: `i` [INFO] [stdout] --> src/day_5.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | for i in 0..quantity { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `modified_target` is never read [INFO] [stdout] --> src/day_5.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | let mut modified_target: CraneStack = CraneStack::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `surrounding_trees` [INFO] [stdout] --> src/day_8.rs:32:17 [INFO] [stdout] | [INFO] [stdout] 32 | let surrounding_trees = vec![max_above, max_below, max_left, max_right]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_surrounding_trees` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/day_9.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | _ => println!("Bad time"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/day_9.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 101 | Direction::Left => knots[0].left(), [INFO] [stdout] | --------------- matches some of the same values [INFO] [stdout] 102 | Direction::Right => knots[0].right(), [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] 103 | Direction::Up => knots[0].up(), [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] 104 | Direction::Down => knots[0].down(), [INFO] [stdout] | --------------- matches some of the same values [INFO] [stdout] 105 | _ => println!("Bad time"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `row_index` [INFO] [stdout] --> src/day_9.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | let mut row_index: i32 = 0; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_row_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col_index` [INFO] [stdout] --> src/day_9.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let mut col_index: i32 = 0; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_col_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day_9.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let mut row_index: i32 = 0; [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/day_9.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | let mut col_index: i32 = 0; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cycle_index` [INFO] [stdout] --> src/day_10.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | let mut cycle_index: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycle_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day_10.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | let mut cycle_index: usize = 0; [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/day_12.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | let mut neighbour_points: Vec = get_neighbour_points(¤t_point, &output_graph); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/day_12.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | for r in 0..points_graph.len() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/day_12.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 196 | for c in 0..points_graph[0].len() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day_12.rs:192:9 [INFO] [stdout] | [INFO] [stdout] 192 | let mut points_map: Vec> = get_points_map(&input_lines); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day_12.rs:193:9 [INFO] [stdout] | [INFO] [stdout] 193 | let mut points_graph: Vec> = build_points_graph(&points_map); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `error` [INFO] [stdout] --> src/day_13.rs:64:17 [INFO] [stdout] | [INFO] [stdout] 64 | Err(error) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day_13.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | let mut new_packet_index: usize = PacketData::add_new(all_packets, None, false); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `packet_index` is never read [INFO] [stdout] --> src/day_13.rs:244:17 [INFO] [stdout] | [INFO] [stdout] 244 | let mut packet_index: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `min_row` [INFO] [stdout] --> src/day_14.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | let min_row: usize = rock_lines.iter().map(|x| x.start.row).min().unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_row` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `index` and `name` are never read [INFO] [stdout] --> src/day_7.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | struct FileObject { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 10 | index: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 11 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FileObject` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `index` is never read [INFO] [stdout] --> src/day_11.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | struct Monkey { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 8 | index: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Monkey` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `availibility` is never read [INFO] [stdout] --> src/day_15.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 17 | struct PointsGrid { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | availibility: BeaconAvailability, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PointsGrid` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.68s [INFO] running `Command { std: "docker" "inspect" "fdbced0002d4e7e74ce5ae370029f1d8f49c646214b1e72e9364a8fd38dfaf25", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fdbced0002d4e7e74ce5ae370029f1d8f49c646214b1e72e9364a8fd38dfaf25", kill_on_drop: false }` [INFO] [stdout] fdbced0002d4e7e74ce5ae370029f1d8f49c646214b1e72e9364a8fd38dfaf25