[INFO] cloning repository https://github.com/jacknugent1529/advent-of-code-2021 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jacknugent1529/advent-of-code-2021" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjacknugent1529%2Fadvent-of-code-2021", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjacknugent1529%2Fadvent-of-code-2021'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f2d397ff1a34f42eeade0d236327de44f25c10d7 [INFO] building jacknugent1529/advent-of-code-2021 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%2Fjacknugent1529%2Fadvent-of-code-2021" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jacknugent1529/advent-of-code-2021 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/jacknugent1529/advent-of-code-2021 [INFO] finished tweaking git repo https://github.com/jacknugent1529/advent-of-code-2021 [INFO] tweaked toml for git repo https://github.com/jacknugent1529/advent-of-code-2021 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/jacknugent1529/advent-of-code-2021 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] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] c61b926b1d5457aa62367e3cd4155e31860f56bcc1b9cd9fe6cd091ce0f85f50 [INFO] running `Command { std: "docker" "start" "-a" "c61b926b1d5457aa62367e3cd4155e31860f56bcc1b9cd9fe6cd091ce0f85f50", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c61b926b1d5457aa62367e3cd4155e31860f56bcc1b9cd9fe6cd091ce0f85f50", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c61b926b1d5457aa62367e3cd4155e31860f56bcc1b9cd9fe6cd091ce0f85f50", kill_on_drop: false }` [INFO] [stdout] c61b926b1d5457aa62367e3cd4155e31860f56bcc1b9cd9fe6cd091ce0f85f50 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 10b017f27812864c195f48097cbb825f24531628791401918329037a5366519d [INFO] running `Command { std: "docker" "start" "-a" "10b017f27812864c195f48097cbb825f24531628791401918329037a5366519d", kill_on_drop: false }` [INFO] [stderr] Compiling advent-of-code-2021 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/days/day4.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | 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::str::FromStr` [INFO] [stdout] --> src/days/day15.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::Scan` [INFO] [stdout] --> src/days/day19.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::iter::Scan; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Index` [INFO] [stdout] --> src/days/day20.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::Index; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/days/day20.rs:186:21 [INFO] [stdout] | [INFO] [stdout] 186 | let bytes = (nrows * ncols/8); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 186 - let bytes = (nrows * ncols/8); [INFO] [stdout] 186 + let bytes = nrows * ncols/8; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/days/day21.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 26 | / loop { [INFO] [stdout] 27 | | if game.take_turn() { [INFO] [stdout] 28 | | // winner [INFO] [stdout] 29 | | println!("game final state: {:?}", game); [INFO] [stdout] ... | [INFO] [stdout] 34 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 35 | Err("ERROR: Not implemented".to_string()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/days/day3.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | let n = file_str.lines().by_ref().next().unwrap().len(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boards_remaining` [INFO] [stdout] --> src/days/day4.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | let mut boards_remaining = boards.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boards_remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/days/day4.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | let mut boards_remaining = boards.len(); [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: `first` [INFO] [stdout] --> src/days/day14.rs:93:81 [INFO] [stdout] | [INFO] [stdout] 93 | fn diff_max_min_char_occurrences_pairs(pairs_freq: &HashMap<(char, char), u64>, first: char, last: char) -> u64 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_first` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last` [INFO] [stdout] --> src/days/day14.rs:93:94 [INFO] [stdout] | [INFO] [stdout] 93 | fn diff_max_min_char_occurrences_pairs(pairs_freq: &HashMap<(char, char), u64>, first: char, last: char) -> u64 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_last` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/days/day20.rs:117:17 [INFO] [stdout] | [INFO] [stdout] 117 | let mut i = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/days/day20.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | let mut i = 0; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chars` [INFO] [stdout] --> src/days/day20.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | let chars: String = bits_read.iter().map(|d| if *d == 1 { '#' } else { '.' }).collect(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_chars` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/days/day20.rs:188:13 [INFO] [stdout] | [INFO] [stdout] 188 | let mut bytes = vec![0; bytes]; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/days/day20.rs:215:17 [INFO] [stdout] | [INFO] [stdout] 215 | let mut i = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `byte` [INFO] [stdout] --> src/days/day20.rs:216:17 [INFO] [stdout] | [INFO] [stdout] 216 | let mut byte: u8 = 0; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_byte` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/days/day20.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | let mut i = 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/days/day20.rs:216:13 [INFO] [stdout] | [INFO] [stdout] 216 | let mut byte: u8 = 0; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dice_rolls` [INFO] [stdout] --> src/days/day21.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let dice_rolls: Vec = (1..=100).collect(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dice_rolls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/days/day21.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | for i in 0..n { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day1.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day1.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `direction` and `number` are never read [INFO] [stdout] --> src/days/day2.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | struct Instruction { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 12 | direction: Direction, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 13 | number: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day2.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day2.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day3.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day3.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit_criteria_r` is never used [INFO] [stdout] --> src/days/day3.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn bit_criteria_r(nums: Vec>, i: usize, above: bool) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `binary_to_dec` is never used [INFO] [stdout] --> src/days/day3.rs:69:4 [INFO] [stdout] | [INFO] [stdout] 69 | fn binary_to_dec(num: Vec) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day4.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day4.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `values` is never read [INFO] [stdout] --> src/days/day4.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 58 | struct Board { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 59 | values: [[i32; 5]; 5], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Board` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `draw_num` and `sum_unchecked` are never used [INFO] [stdout] --> src/days/day4.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 64 | impl Board { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 89 | fn draw_num(&mut self, num: i32) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | fn sum_unchecked(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day5.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day5.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start` and `end` are never read [INFO] [stdout] --> src/days/day5.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 61 | struct Line { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 62 | start: (i32, i32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 63 | end: (i32, i32), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Line` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_points` is never used [INFO] [stdout] --> src/days/day5.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 66 | impl Line { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 67 | fn get_points(&self, points: &mut Vec<(i32,i32)>, allow_diagonals: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day6.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day6.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sim_step` is never used [INFO] [stdout] --> src/days/day6.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn sim_step(fish: &mut [u64]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day7.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day7.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day8.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day8.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_display` is never used [INFO] [stdout] --> src/days/day8.rs:38:4 [INFO] [stdout] | [INFO] [stdout] 38 | fn calc_display(display: &Display) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `classify_digit` is never used [INFO] [stdout] --> src/days/day8.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn classify_digit(digit: &str, digits_mapping: &HashMap>) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `classify_digits_5_lines` is never used [INFO] [stdout] --> src/days/day8.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn classify_digits_5_lines(digit: &str, digits_mapping: &HashMap>) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `classify_digits_6_lines` is never used [INFO] [stdout] --> src/days/day8.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn classify_digits_6_lines(digit: &str, digits_mapping: &HashMap>) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `inputs` and `outputs` are never read [INFO] [stdout] --> src/days/day8.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 114 | struct Display { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 115 | inputs: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 116 | outputs: Vec [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Display` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day9.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day9.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `heights`, `nrows`, and `ncols` are never read [INFO] [stdout] --> src/days/day9.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 52 | struct HeightMap { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 53 | heights: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 54 | nrows: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 55 | ncols: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HeightMap` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get`, `get_adjacent`, and `get_basin_size` are never used [INFO] [stdout] --> src/days/day9.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 58 | impl HeightMap { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 59 | fn get(&self, i: i8, j: i8) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | fn get_adjacent(&self, i: i8, j: i8) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | fn get_basin_size(&self, i: i8, j: i8) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day10.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `score_line_a` is never used [INFO] [stdout] --> src/days/day10.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn score_line_a(line: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day10.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `score_line_b` is never used [INFO] [stdout] --> src/days/day10.rs:54:4 [INFO] [stdout] | [INFO] [stdout] 54 | fn score_line_b(line: &str) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day11.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `arr` is never read [INFO] [stdout] --> src/days/day11.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | struct Grid { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 18 | arr: [[i32; 10]; 10], [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `flash` and `step` are never used [INFO] [stdout] --> src/days/day11.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl Grid { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 22 | fn flash(&mut self, i: i32, j: i32, has_flashed: &mut[[bool; 10]; 10]) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | fn step(&mut self) -> i32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day11.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day12.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day12.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_valid_paths_a` is never used [INFO] [stdout] --> src/days/day12.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn get_valid_paths_a(graph: &Graph, start: String, end: String) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_valid_paths_a_r` is never used [INFO] [stdout] --> src/days/day12.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn get_valid_paths_a_r(graph: &Graph, path: &mut Path, start: String, end: String) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_valid_paths_b` is never used [INFO] [stdout] --> src/days/day12.rs:60:4 [INFO] [stdout] | [INFO] [stdout] 60 | fn get_valid_paths_b(graph: &Graph, start: String, end: String) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_valid_paths_b_r` is never used [INFO] [stdout] --> src/days/day12.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn get_valid_paths_b_r(graph: &Graph, path: &mut Path, start: String, end: String) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Path` is never constructed [INFO] [stdout] --> src/days/day12.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | struct Path { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_node`, `is_valid`, `last`, and `pop` are never used [INFO] [stdout] --> src/days/day12.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 97 | impl Path { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 98 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | fn add_node(&mut self, node: String, visit_twice: bool) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | fn is_valid(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | fn last(&self) -> &String { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn pop(&mut self) -> bool { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `connections` is never read [INFO] [stdout] --> src/days/day12.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 146 | struct Graph { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 147 | // maps node to adjacency list [INFO] [stdout] 148 | connections: HashMap>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Graph` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_adjacent` is never used [INFO] [stdout] --> src/days/day12.rs:152:8 [INFO] [stdout] | [INFO] [stdout] 151 | impl Graph { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 152 | fn get_adjacent(&self, node: &String) -> Option<&Vec> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day13.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day13.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/days/day13.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | Up(usize), [INFO] [stdout] | -- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 36 | Up(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/days/day13.rs:37:10 [INFO] [stdout] | [INFO] [stdout] 37 | Left(usize) [INFO] [stdout] | ---- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 37 | Left(()) [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `arr` is never read [INFO] [stdout] --> src/days/day13.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 55 | struct Paper { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 56 | arr: Box>> // false represents dot [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Paper` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fold`, `fold_vertical`, `fold_horizontal`, `num_dots`, and `print_grid` are never used [INFO] [stdout] --> src/days/day13.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 59 | impl Paper { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 60 | fn new(arr: Box>>) -> Paper { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | fn fold(&mut self, instr: &Instruction) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | fn fold_vertical(&mut self, n: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | fn fold_horizontal(&mut self, n: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | fn num_dots(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | fn print_grid(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day14.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_rule_map` is never used [INFO] [stdout] --> src/days/day14.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn parse_rule_map(lines: &mut Lines) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `diff_max_min_char_occurrences` is never used [INFO] [stdout] --> src/days/day14.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn diff_max_min_char_occurrences(s: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day14.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_rule_map_b` is never used [INFO] [stdout] --> src/days/day14.rs:83:4 [INFO] [stdout] | [INFO] [stdout] 83 | fn parse_rule_map_b(lines: &mut Lines) -> HashMap<(char, char), char> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `diff_max_min_char_occurrences_pairs` is never used [INFO] [stdout] --> src/days/day14.rs:93:4 [INFO] [stdout] | [INFO] [stdout] 93 | fn diff_max_min_char_occurrences_pairs(pairs_freq: &HashMap<(char, char), u64>, first: char, last: char) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day15.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dijkstra` is never used [INFO] [stdout] --> src/days/day15.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn dijkstra(arr: &Vec>) -> i32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day15.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Visit` is never constructed [INFO] [stdout] --> src/days/day15.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | struct Visit { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day16.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day16.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BitReader` is never constructed [INFO] [stdout] --> src/days/day16.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | struct BitReader { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `parse_num`, `parse_bool`, `parse_packet`, and `parse_literal_val` are never used [INFO] [stdout] --> src/days/day16.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 44 | impl BitReader { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 45 | fn parse_num(&mut self, n: usize) -> u64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | fn parse_bool(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn parse_packet(&mut self) -> Packet { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | fn parse_literal_val(&mut self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Packet` is never used [INFO] [stdout] --> src/days/day16.rs:106:6 [INFO] [stdout] | [INFO] [stdout] 106 | enum Packet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `sum_version_nums` and `eval` are never used [INFO] [stdout] --> src/days/day16.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 111 | impl Packet { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 112 | fn sum_version_nums(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | fn eval(&self) -> u64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day17.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day17.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `trajectory_successful` is never used [INFO] [stdout] --> src/days/day17.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn trajectory_successful(p: (i32, i32), v: (i32, i32), target: &Rect) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rect` is never constructed [INFO] [stdout] --> src/days/day17.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | struct Rect { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `inside`, `right`, and `below` are never used [INFO] [stdout] --> src/days/day17.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 74 | impl Rect { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 75 | fn inside(&self, p: (i32, i32)) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | fn right(&self, p: (i32, i32)) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | fn below(&self, p: (i32, i32)) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day18.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day18.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/days/day18.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | Literal(i32), [INFO] [stdout] | ------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SnailFishNum` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 45 | Literal(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left` and `right` are never read [INFO] [stdout] --> src/days/day18.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | Pair { left: Box, right: Box} [INFO] [stdout] | ---- ^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SnailFishNum` 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: multiple associated items are never used [INFO] [stdout] --> src/days/day18.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 49 | impl SnailFishNum { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 56 | fn new_literal(x: i32) -> SnailFishNum { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | fn magnitude(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn sum(a: SnailFishNum, b: SnailFishNum) -> SnailFishNum { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | fn explode(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | fn explode_r(&mut self, depth: i32) -> (bool, Option, Option) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | fn add_to_leftmost(&mut self, x: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | fn add_to_rightmost(&mut self, x: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn split(&mut self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day19.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day19.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `abs`, and `manhattan_dist` are never used [INFO] [stdout] --> src/days/day19.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 48 | impl Point { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 49 | fn new(x: i32, y: i32, z: i32) -> Point { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | fn abs(&self) -> Point { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | fn manhattan_dist(&self, other: &Point) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_coords` is never used [INFO] [stdout] --> src/days/day19.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn calc_coords(scanners: &mut Vec) -> (Vec, HashSet) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scanner` is never constructed [INFO] [stdout] --> src/days/day19.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | struct Scanner { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `overlap`, and `rel_coords_from_trans` are never used [INFO] [stdout] --> src/days/day19.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 125 | impl Scanner { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 126 | fn new(beacons: HashSet) -> Scanner { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | fn overlap(&self, other: &Scanner) -> Option<(Point, HashSet)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | fn rel_coords_from_trans(&self, p1: Point, p2: Point, t_x: i32, t_y: i32, t_z: i32, perm: (usize,usize,usize)) -> (Point, HashSet src/days/day19.rs:186:4 [INFO] [stdout] | [INFO] [stdout] 186 | fn parse_scanners(file_str: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day20.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day20.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImageEnhancer` is never constructed [INFO] [stdout] --> src/days/day20.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | struct ImageEnhancer { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `parse_key` and `enhance` are never used [INFO] [stdout] --> src/days/day20.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 69 | impl ImageEnhancer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 70 | fn parse_key(s: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | fn enhance(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `bytes`, `nrows`, and `ncols` are never read [INFO] [stdout] --> src/days/day20.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 95 | struct Image { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 96 | bytes: Box<[u8]>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 97 | nrows: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 98 | ncols: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Image` 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: multiple associated items are never used [INFO] [stdout] --> src/days/day20.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 101 | impl Image { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 102 | fn get_1d(&self, i: usize) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | fn get_unchecked(&self, i: usize, j: usize) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn get(&self, i: usize, j: usize) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | fn display(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn get_square(&self, i: usize, j: usize, default: u8) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | fn update_bit(&mut self, i: usize, j: usize, val: u8) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | fn update_byte(&mut self, byte: u8, idx_1d: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | fn count_lit_pixels(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn pad_image(image: &Image, n: usize) -> Image { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day21.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day21.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Game` is never constructed [INFO] [stdout] --> src/days/day21.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 68 | struct Game { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `next_rolls` and `take_turn` are never used [INFO] [stdout] --> src/days/day21.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl Game { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 79 | fn next_rolls(&mut self, n: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | fn take_turn(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiracGame` is never constructed [INFO] [stdout] --> src/days/day21.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | struct DiracGame { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `calc_winners` is never used [INFO] [stdout] --> src/days/day21.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 122 | impl DiracGame { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 123 | fn calc_winners(&mut self, memos: &mut HashMap) -> (u64, u64) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `contains` is never used [INFO] [stdout] --> src/days/day22.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 36 | impl Instruction { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 82 | fn contains(&self, other: &Instruction) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/days/day4.rs:90:36 [INFO] [stdout] | [INFO] [stdout] 90 | for (i,row) in self.values.into_iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 90 | for (i,row) in self.values.iter().enumerate() { [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 90 | for (i,row) in IntoIterator::into_iter(self.values).enumerate() { [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.06s [INFO] running `Command { std: "docker" "inspect" "10b017f27812864c195f48097cbb825f24531628791401918329037a5366519d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "10b017f27812864c195f48097cbb825f24531628791401918329037a5366519d", kill_on_drop: false }` [INFO] [stdout] 10b017f27812864c195f48097cbb825f24531628791401918329037a5366519d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] bb593e5b39e4303f9fce213d89224795027dde7035861fc896cc082f904fd179 [INFO] running `Command { std: "docker" "start" "-a" "bb593e5b39e4303f9fce213d89224795027dde7035861fc896cc082f904fd179", kill_on_drop: false }` [INFO] [stderr] Compiling advent-of-code-2021 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/days/day4.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | 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::str::FromStr` [INFO] [stdout] --> src/days/day15.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::Scan` [INFO] [stdout] --> src/days/day19.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::iter::Scan; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Index` [INFO] [stdout] --> src/days/day20.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::Index; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/days/day20.rs:186:21 [INFO] [stdout] | [INFO] [stdout] 186 | let bytes = (nrows * ncols/8); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 186 - let bytes = (nrows * ncols/8); [INFO] [stdout] 186 + let bytes = nrows * ncols/8; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/days/day21.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 26 | / loop { [INFO] [stdout] 27 | | if game.take_turn() { [INFO] [stdout] 28 | | // winner [INFO] [stdout] 29 | | println!("game final state: {:?}", game); [INFO] [stdout] ... | [INFO] [stdout] 34 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 35 | Err("ERROR: Not implemented".to_string()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/days/day3.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | let n = file_str.lines().by_ref().next().unwrap().len(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boards_remaining` [INFO] [stdout] --> src/days/day4.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | let mut boards_remaining = boards.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boards_remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/days/day4.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | let mut boards_remaining = boards.len(); [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: `first` [INFO] [stdout] --> src/days/day14.rs:93:81 [INFO] [stdout] | [INFO] [stdout] 93 | fn diff_max_min_char_occurrences_pairs(pairs_freq: &HashMap<(char, char), u64>, first: char, last: char) -> u64 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_first` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last` [INFO] [stdout] --> src/days/day14.rs:93:94 [INFO] [stdout] | [INFO] [stdout] 93 | fn diff_max_min_char_occurrences_pairs(pairs_freq: &HashMap<(char, char), u64>, first: char, last: char) -> u64 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_last` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/days/day20.rs:117:17 [INFO] [stdout] | [INFO] [stdout] 117 | let mut i = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/days/day20.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | let mut i = 0; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chars` [INFO] [stdout] --> src/days/day20.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | let chars: String = bits_read.iter().map(|d| if *d == 1 { '#' } else { '.' }).collect(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_chars` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/days/day20.rs:188:13 [INFO] [stdout] | [INFO] [stdout] 188 | let mut bytes = vec![0; bytes]; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/days/day20.rs:215:17 [INFO] [stdout] | [INFO] [stdout] 215 | let mut i = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `byte` [INFO] [stdout] --> src/days/day20.rs:216:17 [INFO] [stdout] | [INFO] [stdout] 216 | let mut byte: u8 = 0; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_byte` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/days/day20.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | let mut i = 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/days/day20.rs:216:13 [INFO] [stdout] | [INFO] [stdout] 216 | let mut byte: u8 = 0; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dice_rolls` [INFO] [stdout] --> src/days/day21.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let dice_rolls: Vec = (1..=100).collect(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dice_rolls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/days/day21.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | for i in 0..n { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day1.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day1.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `direction` and `number` are never read [INFO] [stdout] --> src/days/day2.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | struct Instruction { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 12 | direction: Direction, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 13 | number: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day2.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day2.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day3.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day3.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit_criteria_r` is never used [INFO] [stdout] --> src/days/day3.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn bit_criteria_r(nums: Vec>, i: usize, above: bool) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `binary_to_dec` is never used [INFO] [stdout] --> src/days/day3.rs:69:4 [INFO] [stdout] | [INFO] [stdout] 69 | fn binary_to_dec(num: Vec) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day4.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day4.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `values` is never read [INFO] [stdout] --> src/days/day4.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 58 | struct Board { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 59 | values: [[i32; 5]; 5], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Board` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `draw_num` and `sum_unchecked` are never used [INFO] [stdout] --> src/days/day4.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 64 | impl Board { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 89 | fn draw_num(&mut self, num: i32) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | fn sum_unchecked(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day5.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day5.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start` and `end` are never read [INFO] [stdout] --> src/days/day5.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 61 | struct Line { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 62 | start: (i32, i32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 63 | end: (i32, i32), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Line` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_points` is never used [INFO] [stdout] --> src/days/day5.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 66 | impl Line { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 67 | fn get_points(&self, points: &mut Vec<(i32,i32)>, allow_diagonals: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day6.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day6.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sim_step` is never used [INFO] [stdout] --> src/days/day6.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn sim_step(fish: &mut [u64]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day7.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day7.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day8.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day8.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_display` is never used [INFO] [stdout] --> src/days/day8.rs:38:4 [INFO] [stdout] | [INFO] [stdout] 38 | fn calc_display(display: &Display) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `classify_digit` is never used [INFO] [stdout] --> src/days/day8.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn classify_digit(digit: &str, digits_mapping: &HashMap>) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `classify_digits_5_lines` is never used [INFO] [stdout] --> src/days/day8.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn classify_digits_5_lines(digit: &str, digits_mapping: &HashMap>) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `classify_digits_6_lines` is never used [INFO] [stdout] --> src/days/day8.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn classify_digits_6_lines(digit: &str, digits_mapping: &HashMap>) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `inputs` and `outputs` are never read [INFO] [stdout] --> src/days/day8.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 114 | struct Display { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 115 | inputs: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 116 | outputs: Vec [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Display` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day9.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day9.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `heights`, `nrows`, and `ncols` are never read [INFO] [stdout] --> src/days/day9.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 52 | struct HeightMap { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 53 | heights: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 54 | nrows: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 55 | ncols: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HeightMap` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get`, `get_adjacent`, and `get_basin_size` are never used [INFO] [stdout] --> src/days/day9.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 58 | impl HeightMap { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 59 | fn get(&self, i: i8, j: i8) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | fn get_adjacent(&self, i: i8, j: i8) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | fn get_basin_size(&self, i: i8, j: i8) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day10.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `score_line_a` is never used [INFO] [stdout] --> src/days/day10.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn score_line_a(line: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day10.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `score_line_b` is never used [INFO] [stdout] --> src/days/day10.rs:54:4 [INFO] [stdout] | [INFO] [stdout] 54 | fn score_line_b(line: &str) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day11.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `arr` is never read [INFO] [stdout] --> src/days/day11.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | struct Grid { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 18 | arr: [[i32; 10]; 10], [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `flash` and `step` are never used [INFO] [stdout] --> src/days/day11.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl Grid { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 22 | fn flash(&mut self, i: i32, j: i32, has_flashed: &mut[[bool; 10]; 10]) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | fn step(&mut self) -> i32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day11.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day12.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day12.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_valid_paths_a` is never used [INFO] [stdout] --> src/days/day12.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn get_valid_paths_a(graph: &Graph, start: String, end: String) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_valid_paths_a_r` is never used [INFO] [stdout] --> src/days/day12.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn get_valid_paths_a_r(graph: &Graph, path: &mut Path, start: String, end: String) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_valid_paths_b` is never used [INFO] [stdout] --> src/days/day12.rs:60:4 [INFO] [stdout] | [INFO] [stdout] 60 | fn get_valid_paths_b(graph: &Graph, start: String, end: String) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_valid_paths_b_r` is never used [INFO] [stdout] --> src/days/day12.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn get_valid_paths_b_r(graph: &Graph, path: &mut Path, start: String, end: String) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Path` is never constructed [INFO] [stdout] --> src/days/day12.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | struct Path { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_node`, `is_valid`, `last`, and `pop` are never used [INFO] [stdout] --> src/days/day12.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 97 | impl Path { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 98 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | fn add_node(&mut self, node: String, visit_twice: bool) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | fn is_valid(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | fn last(&self) -> &String { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn pop(&mut self) -> bool { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `connections` is never read [INFO] [stdout] --> src/days/day12.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 146 | struct Graph { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 147 | // maps node to adjacency list [INFO] [stdout] 148 | connections: HashMap>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Graph` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_adjacent` is never used [INFO] [stdout] --> src/days/day12.rs:152:8 [INFO] [stdout] | [INFO] [stdout] 151 | impl Graph { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 152 | fn get_adjacent(&self, node: &String) -> Option<&Vec> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day13.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day13.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/days/day13.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | Up(usize), [INFO] [stdout] | -- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 36 | Up(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/days/day13.rs:37:10 [INFO] [stdout] | [INFO] [stdout] 37 | Left(usize) [INFO] [stdout] | ---- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 37 | Left(()) [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `arr` is never read [INFO] [stdout] --> src/days/day13.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 55 | struct Paper { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 56 | arr: Box>> // false represents dot [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Paper` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fold`, `fold_vertical`, `fold_horizontal`, `num_dots`, and `print_grid` are never used [INFO] [stdout] --> src/days/day13.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 59 | impl Paper { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 60 | fn new(arr: Box>>) -> Paper { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | fn fold(&mut self, instr: &Instruction) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | fn fold_vertical(&mut self, n: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | fn fold_horizontal(&mut self, n: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | fn num_dots(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | fn print_grid(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day14.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_rule_map` is never used [INFO] [stdout] --> src/days/day14.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn parse_rule_map(lines: &mut Lines) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `diff_max_min_char_occurrences` is never used [INFO] [stdout] --> src/days/day14.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn diff_max_min_char_occurrences(s: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day14.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_rule_map_b` is never used [INFO] [stdout] --> src/days/day14.rs:83:4 [INFO] [stdout] | [INFO] [stdout] 83 | fn parse_rule_map_b(lines: &mut Lines) -> HashMap<(char, char), char> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `diff_max_min_char_occurrences_pairs` is never used [INFO] [stdout] --> src/days/day14.rs:93:4 [INFO] [stdout] | [INFO] [stdout] 93 | fn diff_max_min_char_occurrences_pairs(pairs_freq: &HashMap<(char, char), u64>, first: char, last: char) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day15.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dijkstra` is never used [INFO] [stdout] --> src/days/day15.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn dijkstra(arr: &Vec>) -> i32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day15.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Visit` is never constructed [INFO] [stdout] --> src/days/day15.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | struct Visit { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day16.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day16.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BitReader` is never constructed [INFO] [stdout] --> src/days/day16.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | struct BitReader { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `parse_num`, `parse_bool`, `parse_packet`, and `parse_literal_val` are never used [INFO] [stdout] --> src/days/day16.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 44 | impl BitReader { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 45 | fn parse_num(&mut self, n: usize) -> u64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | fn parse_bool(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn parse_packet(&mut self) -> Packet { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | fn parse_literal_val(&mut self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Packet` is never used [INFO] [stdout] --> src/days/day16.rs:106:6 [INFO] [stdout] | [INFO] [stdout] 106 | enum Packet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `sum_version_nums` and `eval` are never used [INFO] [stdout] --> src/days/day16.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 111 | impl Packet { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 112 | fn sum_version_nums(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | fn eval(&self) -> u64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day17.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day17.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `trajectory_successful` is never used [INFO] [stdout] --> src/days/day17.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn trajectory_successful(p: (i32, i32), v: (i32, i32), target: &Rect) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rect` is never constructed [INFO] [stdout] --> src/days/day17.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | struct Rect { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `inside`, `right`, and `below` are never used [INFO] [stdout] --> src/days/day17.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 74 | impl Rect { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 75 | fn inside(&self, p: (i32, i32)) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | fn right(&self, p: (i32, i32)) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | fn below(&self, p: (i32, i32)) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day18.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day18.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/days/day18.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | Literal(i32), [INFO] [stdout] | ------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SnailFishNum` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 45 | Literal(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left` and `right` are never read [INFO] [stdout] --> src/days/day18.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | Pair { left: Box, right: Box} [INFO] [stdout] | ---- ^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SnailFishNum` 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: multiple associated items are never used [INFO] [stdout] --> src/days/day18.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 49 | impl SnailFishNum { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 56 | fn new_literal(x: i32) -> SnailFishNum { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | fn magnitude(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn sum(a: SnailFishNum, b: SnailFishNum) -> SnailFishNum { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | fn explode(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | fn explode_r(&mut self, depth: i32) -> (bool, Option, Option) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | fn add_to_leftmost(&mut self, x: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | fn add_to_rightmost(&mut self, x: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn split(&mut self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day19.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day19.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `abs`, and `manhattan_dist` are never used [INFO] [stdout] --> src/days/day19.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 48 | impl Point { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 49 | fn new(x: i32, y: i32, z: i32) -> Point { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | fn abs(&self) -> Point { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | fn manhattan_dist(&self, other: &Point) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_coords` is never used [INFO] [stdout] --> src/days/day19.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn calc_coords(scanners: &mut Vec) -> (Vec, HashSet) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scanner` is never constructed [INFO] [stdout] --> src/days/day19.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | struct Scanner { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `overlap`, and `rel_coords_from_trans` are never used [INFO] [stdout] --> src/days/day19.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 125 | impl Scanner { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 126 | fn new(beacons: HashSet) -> Scanner { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | fn overlap(&self, other: &Scanner) -> Option<(Point, HashSet)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | fn rel_coords_from_trans(&self, p1: Point, p2: Point, t_x: i32, t_y: i32, t_z: i32, perm: (usize,usize,usize)) -> (Point, HashSet src/days/day19.rs:186:4 [INFO] [stdout] | [INFO] [stdout] 186 | fn parse_scanners(file_str: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day20.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day20.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImageEnhancer` is never constructed [INFO] [stdout] --> src/days/day20.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | struct ImageEnhancer { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `parse_key` and `enhance` are never used [INFO] [stdout] --> src/days/day20.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 69 | impl ImageEnhancer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 70 | fn parse_key(s: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | fn enhance(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `bytes`, `nrows`, and `ncols` are never read [INFO] [stdout] --> src/days/day20.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 95 | struct Image { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 96 | bytes: Box<[u8]>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 97 | nrows: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 98 | ncols: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Image` 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: multiple associated items are never used [INFO] [stdout] --> src/days/day20.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 101 | impl Image { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 102 | fn get_1d(&self, i: usize) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | fn get_unchecked(&self, i: usize, j: usize) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn get(&self, i: usize, j: usize) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | fn display(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn get_square(&self, i: usize, j: usize, default: u8) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | fn update_bit(&mut self, i: usize, j: usize, val: u8) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | fn update_byte(&mut self, byte: u8, idx_1d: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | fn count_lit_pixels(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn pad_image(image: &Image, n: usize) -> Image { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_a` is never used [INFO] [stdout] --> src/days/day21.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn soln_a(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `soln_b` is never used [INFO] [stdout] --> src/days/day21.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn soln_b(file: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Game` is never constructed [INFO] [stdout] --> src/days/day21.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 68 | struct Game { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `next_rolls` and `take_turn` are never used [INFO] [stdout] --> src/days/day21.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl Game { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 79 | fn next_rolls(&mut self, n: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | fn take_turn(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiracGame` is never constructed [INFO] [stdout] --> src/days/day21.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | struct DiracGame { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `calc_winners` is never used [INFO] [stdout] --> src/days/day21.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 122 | impl DiracGame { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 123 | fn calc_winners(&mut self, memos: &mut HashMap) -> (u64, u64) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `contains` is never used [INFO] [stdout] --> src/days/day22.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 36 | impl Instruction { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 82 | fn contains(&self, other: &Instruction) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/days/day4.rs:90:36 [INFO] [stdout] | [INFO] [stdout] 90 | for (i,row) in self.values.into_iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 90 | for (i,row) in self.values.iter().enumerate() { [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 90 | for (i,row) in IntoIterator::into_iter(self.values).enumerate() { [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.88s [INFO] running `Command { std: "docker" "inspect" "bb593e5b39e4303f9fce213d89224795027dde7035861fc896cc082f904fd179", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bb593e5b39e4303f9fce213d89224795027dde7035861fc896cc082f904fd179", kill_on_drop: false }` [INFO] [stdout] bb593e5b39e4303f9fce213d89224795027dde7035861fc896cc082f904fd179