[INFO] cloning repository https://github.com/santiberna/aoc-solutions-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/santiberna/aoc-solutions-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsantiberna%2Faoc-solutions-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsantiberna%2Faoc-solutions-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4046a413409bc94e63dcdcff6e236e1c21b92442 [INFO] checking santiberna/aoc-solutions-rust against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsantiberna%2Faoc-solutions-rust" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/santiberna/aoc-solutions-rust [INFO] finished tweaking git repo https://github.com/santiberna/aoc-solutions-rust [INFO] tweaked toml for git repo https://github.com/santiberna/aoc-solutions-rust written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/santiberna/aoc-solutions-rust on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/santiberna/aoc-solutions-rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded nalgebra-macros v0.2.2 [INFO] [stderr] Downloaded simba v0.9.0 [INFO] [stderr] Downloaded nalgebra v0.33.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b45585974cb0eebe39ad0866695b520e4ab7eae5658ddbc83369ee33f35e0ba9 [INFO] running `Command { std: "docker" "start" "-a" "b45585974cb0eebe39ad0866695b520e4ab7eae5658ddbc83369ee33f35e0ba9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b45585974cb0eebe39ad0866695b520e4ab7eae5658ddbc83369ee33f35e0ba9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b45585974cb0eebe39ad0866695b520e4ab7eae5658ddbc83369ee33f35e0ba9", kill_on_drop: false }` [INFO] [stdout] b45585974cb0eebe39ad0866695b520e4ab7eae5658ddbc83369ee33f35e0ba9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d5d597dea3879cc686922ea631383001512e65058fb42bbaefbfb7ee5cd2c2e1 [INFO] running `Command { std: "docker" "start" "-a" "d5d597dea3879cc686922ea631383001512e65058fb42bbaefbfb7ee5cd2c2e1", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling typenum v1.18.0 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Checking bytemuck v1.23.1 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Checking cfg-if v1.0.1 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking safe_arch v0.7.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Checking wide v0.7.33 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking md-5 v0.10.6 [INFO] [stderr] Checking simba v0.9.0 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Compiling nalgebra-macros v0.2.2 [INFO] [stderr] Checking nalgebra v0.33.2 [INFO] [stderr] Checking aoc-solutions-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `array` and `default` [INFO] [stdout] --> src/utility/mod.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{array, default}; [INFO] [stdout] | ^^^^^ ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::check_result` [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::check_result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::check_result` [INFO] [stdout] --> src/y2016/c18_generating_traps.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::check_result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::Ordering` [INFO] [stdout] --> src/y2016/c20_ip_ranges.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/y2016/c20_ip_ranges.rs:43:20 [INFO] [stdout] | [INFO] [stdout] 43 | current -= (b - a + 1) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 43 - current -= (b - a + 1) [INFO] [stdout] 43 + current -= b - a + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `array` and `default` [INFO] [stdout] --> src/utility/mod.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{array, default}; [INFO] [stdout] | ^^^^^ ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::check_result` [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::check_result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::check_result` [INFO] [stdout] --> src/y2016/c18_generating_traps.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::check_result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::Ordering` [INFO] [stdout] --> src/y2016/c20_ip_ranges.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/y2016/c20_ip_ranges.rs:43:20 [INFO] [stdout] | [INFO] [stdout] 43 | current -= (b - a + 1) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 43 - current -= (b - a + 1) [INFO] [stdout] 43 + current -= b - a + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `IVec2` is never used [INFO] [stdout] --> src/y2016/c1_taxi_driving.rs:5:6 [INFO] [stdout] | [INFO] [stdout] 5 | type IVec2 = Vector2; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Turn` is never used [INFO] [stdout] --> src/y2016/c1_taxi_driving.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | enum Turn { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `turn_right` is never used [INFO] [stdout] --> src/y2016/c1_taxi_driving.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | fn turn_right(pos: &IVec2) -> IVec2 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `turn_left` is never used [INFO] [stdout] --> src/y2016/c1_taxi_driving.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 18 | fn turn_left(pos: &IVec2) -> IVec2 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_dir` is never used [INFO] [stdout] --> src/y2016/c1_taxi_driving.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn parse_dir(elem: &str) -> (Turn, i32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `travel` is never used [INFO] [stdout] --> src/y2016/c1_taxi_driving.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn travel(dir: &mut IVec2, pos: &IVec2, (t, v): (Turn, i32)) -> IVec2 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `track_travel` is never used [INFO] [stdout] --> src/y2016/c1_taxi_driving.rs:45:4 [INFO] [stdout] | [INFO] [stdout] 45 | fn track_travel(items: &Vec<(Turn, i32)>) -> IVec2 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c1_taxi_driving.rs:71:4 [INFO] [stdout] | [INFO] [stdout] 71 | fn challenge(input: &str) -> (i64, i64) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `IVec2` is never used [INFO] [stdout] --> src/y2016/c2_code_walk.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type IVec2 = Vector2; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_dir` is never used [INFO] [stdout] --> src/y2016/c2_code_walk.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn parse_dir(c: char) -> IVec2 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PANEL` is never used [INFO] [stdout] --> src/y2016/c2_code_walk.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const PANEL: [i32; 9] = [1, 2, 3, 4, 5, 6, 7, 8, 9]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PANEL2` is never used [INFO] [stdout] --> src/y2016/c2_code_walk.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const PANEL2: [char; 25] = [ [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/y2016/c2_code_walk.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn part1(items: &Vec>) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/y2016/c2_code_walk.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn part2(items: &Vec>) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c2_code_walk.rs:62:4 [INFO] [stdout] | [INFO] [stdout] 62 | fn challenge(input: &str) -> (i64, String) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Triangle` is never used [INFO] [stdout] --> src/y2016/c3_triangle_check.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | type Triangle = [i64; 3]; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_line` is never used [INFO] [stdout] --> src/y2016/c3_triangle_check.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn parse_line(str: &str) -> Triangle { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `transform_vertical` is never used [INFO] [stdout] --> src/y2016/c3_triangle_check.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn transform_vertical(triangles: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_triangle` is never used [INFO] [stdout] --> src/y2016/c3_triangle_check.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn check_triangle(triangle: &Triangle) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c3_triangle_check.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn challenge(input: &str) -> (i64, i64) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Room` is never constructed [INFO] [stdout] --> src/y2016/c4_room_checksums.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct Room { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `trim_checksum` is never used [INFO] [stdout] --> src/y2016/c4_room_checksums.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn trim_checksum(str: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_room` is never used [INFO] [stdout] --> src/y2016/c4_room_checksums.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn parse_room(str: &str) -> Room { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sort_frequency` is never used [INFO] [stdout] --> src/y2016/c4_room_checksums.rs:33:4 [INFO] [stdout] | [INFO] [stdout] 33 | fn sort_frequency((c1, f1): &(char, usize), (c2, f2): &(char, usize)) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `eval_room` is never used [INFO] [stdout] --> src/y2016/c4_room_checksums.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn eval_room(room: &Room) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_char` is never used [INFO] [stdout] --> src/y2016/c4_room_checksums.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn decode_char(c: char, r: i64) -> char { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_room_name` is never used [INFO] [stdout] --> src/y2016/c4_room_checksums.rs:83:4 [INFO] [stdout] | [INFO] [stdout] 83 | fn decode_room_name(room: &Room) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c4_room_checksums.rs:90:4 [INFO] [stdout] | [INFO] [stdout] 90 | fn challenge(input: &str) -> (i64, i64) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `md5_hash` is never used [INFO] [stdout] --> src/y2016/c5_hash_passwords.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn md5_hash(str: &[u8]) -> [u8; 16] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_zeros` is never used [INFO] [stdout] --> src/y2016/c5_hash_passwords.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn check_zeros(res: &[u8; 16]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_sixth_hex` is never used [INFO] [stdout] --> src/y2016/c5_hash_passwords.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn get_sixth_hex(res: &[u8; 16]) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_seventh_hex` is never used [INFO] [stdout] --> src/y2016/c5_hash_passwords.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn get_seventh_hex(res: &[u8; 16]) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `u8_to_hex_string` is never used [INFO] [stdout] --> src/y2016/c5_hash_passwords.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn u8_to_hex_string(digits: &[u8]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c5_hash_passwords.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn challenge(input: &str) -> (String, String) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c6_jumbled_message.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn challenge(input: &str) -> (String, String) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IPV7` is never constructed [INFO] [stdout] --> src/y2016/c7_ipv7_check.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct IPV7 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_abba` is never used [INFO] [stdout] --> src/y2016/c7_ipv7_check.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn find_abba(str: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_all_abas` is never used [INFO] [stdout] --> src/y2016/c7_ipv7_check.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn find_all_abas(str: &str) -> Vec<[u8; 3]> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `has_tls_support`, and `has_ssl_support` are never used [INFO] [stdout] --> src/y2016/c7_ipv7_check.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl IPV7 { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 22 | fn new(str: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | fn has_tls_support(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | fn has_ssl_support(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c7_ipv7_check.rs:78:4 [INFO] [stdout] | [INFO] [stdout] 78 | fn challenge(input: &str) -> (i64, i64) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WIDTH` is never used [INFO] [stdout] --> src/y2016/c8_screen_code.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const WIDTH: i64 = 50; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEIGHT` is never used [INFO] [stdout] --> src/y2016/c8_screen_code.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const HEIGHT: i64 = 6; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Instruction` is never used [INFO] [stdout] --> src/y2016/c8_screen_code.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | enum Instruction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `State` is never constructed [INFO] [stdout] --> src/y2016/c8_screen_code.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | struct State { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `loop_mod` is never used [INFO] [stdout] --> src/y2016/c8_screen_code.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn loop_mod(a: T, m: T) -> T [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `revert_instruction` is never used [INFO] [stdout] --> src/y2016/c8_screen_code.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn revert_instruction(state: State, ins: &Instruction) -> State { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_2d_bool_array` is never used [INFO] [stdout] --> src/y2016/c8_screen_code.rs:107:4 [INFO] [stdout] | [INFO] [stdout] 107 | fn print_2d_bool_array(data: &Vec, width: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c8_screen_code.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn challenge(input: &str) -> (i64, String) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Marker` is never constructed [INFO] [stdout] --> src/y2016/c9_decompressing_text.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct Marker { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decompress_count` is never used [INFO] [stdout] --> src/y2016/c9_decompressing_text.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn decompress_count(input: &str) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c9_decompressing_text.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn challenge(input: &str) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Target` is never used [INFO] [stdout] --> src/y2016/c10_comparing_bots.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | enum Target { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Node` is never used [INFO] [stdout] --> src/y2016/c10_comparing_bots.rs:19:6 [INFO] [stdout] | [INFO] [stdout] 19 | type Node = (Target, Target); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `State` is never used [INFO] [stdout] --> src/y2016/c10_comparing_bots.rs:21:6 [INFO] [stdout] | [INFO] [stdout] 21 | type State = [Vec; 256]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `setup_init` is never used [INFO] [stdout] --> src/y2016/c10_comparing_bots.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn setup_init(mut acc: Box, s: &str) -> Box { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `setup_graph` is never used [INFO] [stdout] --> src/y2016/c10_comparing_bots.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn setup_graph(mut acc: HashMap, s: &str) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_values` is never used [INFO] [stdout] --> src/y2016/c10_comparing_bots.rs:59:4 [INFO] [stdout] | [INFO] [stdout] 59 | fn get_values((i, v): (usize, &Vec)) -> (usize, usize, usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c10_comparing_bots.rs:63:4 [INFO] [stdout] | [INFO] [stdout] 63 | fn challenge(input: &str) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `State` is never constructed [INFO] [stdout] --> src/y2016/c11_generator_elevators.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct State { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_initial_state` is never used [INFO] [stdout] --> src/y2016/c11_generator_elevators.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn parse_initial_state(s: &str) -> State { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_goal` is never used [INFO] [stdout] --> src/y2016/c11_generator_elevators.rs:45:4 [INFO] [stdout] | [INFO] [stdout] 45 | fn is_goal(s: &State) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_valid` is never used [INFO] [stdout] --> src/y2016/c11_generator_elevators.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn is_valid(state: &State) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize` is never used [INFO] [stdout] --> src/y2016/c11_generator_elevators.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn normalize(state: &State) -> State { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Item` is never used [INFO] [stdout] --> src/y2016/c11_generator_elevators.rs:75:6 [INFO] [stdout] | [INFO] [stdout] 75 | enum Item { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `next_states` is never used [INFO] [stdout] --> src/y2016/c11_generator_elevators.rs:80:4 [INFO] [stdout] | [INFO] [stdout] 80 | fn next_states(current: &State) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bfs` is never used [INFO] [stdout] --> src/y2016/c11_generator_elevators.rs:133:4 [INFO] [stdout] | [INFO] [stdout] 133 | fn bfs(initial: &State) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c11_generator_elevators.rs:157:4 [INFO] [stdout] | [INFO] [stdout] 157 | fn challenge(input: &str) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Literal` is never used [INFO] [stdout] --> src/y2016/c12_assembunny.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | type Literal = i64; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Register` is never used [INFO] [stdout] --> src/y2016/c12_assembunny.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type Register = char; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Parameter` is never used [INFO] [stdout] --> src/y2016/c12_assembunny.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | enum Parameter { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Instruction` is never used [INFO] [stdout] --> src/y2016/c12_assembunny.rs:13:6 [INFO] [stdout] | [INFO] [stdout] 13 | enum Instruction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REGISTER_COUNT` is never used [INFO] [stdout] --> src/y2016/c12_assembunny.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const REGISTER_COUNT: usize = (b'z' - b'a') as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VirtualMachine` is never constructed [INFO] [stdout] --> src/y2016/c12_assembunny.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | struct VirtualMachine { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `run`, `get_register`, and `get_register_mut` are never used [INFO] [stdout] --> src/y2016/c12_assembunny.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 28 | impl VirtualMachine { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 29 | fn run(&mut self, code: &Vec) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | fn get_register(&self, register: char) -> &Literal { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | fn get_register_mut(&mut self, register: char) -> &mut Literal { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_instruction` is never used [INFO] [stdout] --> src/y2016/c12_assembunny.rs:80:4 [INFO] [stdout] | [INFO] [stdout] 80 | fn parse_instruction(s: &str) -> Instruction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c12_assembunny.rs:110:4 [INFO] [stdout] | [INFO] [stdout] 110 | fn challenge(input: &str) -> (i64, i64) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_valid` is never used [INFO] [stdout] --> src/y2016/c13_generate_maze.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn is_valid(pos: &IVec2, c: i32) -> bool [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c13_generate_maze.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn challenge(input: i32) -> (i64, i64) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `contains_a_triple` is never used [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn contains_a_triple(range: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `contains_matching_quintuplet` is never used [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn contains_matching_quintuplet(range: &[u8], val: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `md5_hash` is never used [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn md5_hash(str: &[u8]) -> [u8; 16] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nibble_to_hex` is never used [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn nibble_to_hex(n: u8) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `md5_to_hex` is never used [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn md5_to_hex(hash: &[u8; 16]) -> [u8; 32] { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_hash_input` is never used [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn make_hash_input(salt: &[u8], num: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HashCache` is never constructed [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | struct HashCache { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `calculate` is never used [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 51 | impl HashCache { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 52 | fn calculate(&mut self, f: &F, index: usize) -> &[u8; 32] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `algorithm` is never used [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:60:4 [INFO] [stdout] | [INFO] [stdout] 60 | fn algorithm(f: &F) -> usize [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:88:4 [INFO] [stdout] | [INFO] [stdout] 88 | fn challenge(input: &[u8]) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `into_equation` is never used [INFO] [stdout] --> src/y2016/c15_disc_capsule_fall.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn into_equation(&(index, length, time, current): &(i64, i64, i64, i64)) -> (i64, i64) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_disc` is never used [INFO] [stdout] --> src/y2016/c15_disc_capsule_fall.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn parse_disc(s: &str) -> Option<(i64, i64)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `constructive_crt` is never used [INFO] [stdout] --> src/y2016/c15_disc_capsule_fall.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn constructive_crt(input: &Vec<(i64, i64)>) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c15_disc_capsule_fall.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn challenge(input: &str) -> (i64, i64) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_bit` is never used [INFO] [stdout] --> src/y2016/c16_dragon_curve_fill.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn parse_bit(c: char) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dragon_expansion` is never used [INFO] [stdout] --> src/y2016/c16_dragon_curve_fill.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn dragon_expansion(input: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dragon_collapse` is never used [INFO] [stdout] --> src/y2016/c16_dragon_curve_fill.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn dragon_collapse(input: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bits_to_string` is never used [INFO] [stdout] --> src/y2016/c16_dragon_curve_fill.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn bits_to_string(bits: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_checksum` is never used [INFO] [stdout] --> src/y2016/c16_dragon_curve_fill.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn calc_checksum(input: &Vec, size: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c16_dragon_curve_fill.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn challenge(input: &str) -> (String, String) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `determine_tile` is never used [INFO] [stdout] --> src/y2016/c18_generating_traps.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn determine_tile(left: bool, center: bool, right: bool) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_tile` is never used [INFO] [stdout] --> src/y2016/c18_generating_traps.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn gen_tile(prev_row: &[bool], i: usize) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `safe_tiles` is never used [INFO] [stdout] --> src/y2016/c18_generating_traps.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn safe_tiles(input: &[bool], rows: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c18_generating_traps.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn challenge(input: &str) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_elf1` is never used [INFO] [stdout] --> src/y2016/c19_elf_presents.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn calculate_elf1(input: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `least_power_of_3` is never used [INFO] [stdout] --> src/y2016/c19_elf_presents.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn least_power_of_3(n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_elf2` is never used [INFO] [stdout] --> src/y2016/c19_elf_presents.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn calculate_elf2(input: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c19_elf_presents.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn challenge(input: usize) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_range` is never used [INFO] [stdout] --> src/y2016/c20_ip_ranges.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn extract_range(str: &str) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `merge_range` is never used [INFO] [stdout] --> src/y2016/c20_ip_ranges.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn merge_range(range1: &(u32, u32), range2: &(u32, u32)) -> Option<(u32, u32)> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `merge_ranges` is never used [INFO] [stdout] --> src/y2016/c20_ip_ranges.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn merge_ranges(mut vec: Vec<(u32, u32)>, range: &(u32, u32)) -> Vec<(u32, u32)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_all` is never used [INFO] [stdout] --> src/y2016/c20_ip_ranges.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn count_all(input: &Vec<(u32, u32)>) -> u32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c20_ip_ranges.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn challenge(input: &str) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Instruction` is never used [INFO] [stdout] --> src/y2016/c21_scramble_password.rs:20:6 [INFO] [stdout] | [INFO] [stdout] 20 | enum Instruction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_instruction` is never used [INFO] [stdout] --> src/y2016/c21_scramble_password.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn parse_instruction(line: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process` is never used [INFO] [stdout] --> src/y2016/c21_scramble_password.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn process(mut vec: Vec, instruction: &Instruction) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `invert_rotate_based_on_letter` is never used [INFO] [stdout] --> src/y2016/c21_scramble_password.rs:88:4 [INFO] [stdout] | [INFO] [stdout] 88 | fn invert_rotate_based_on_letter(vec: Vec, target_char: u8) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `invert` is never used [INFO] [stdout] --> src/y2016/c21_scramble_password.rs:113:4 [INFO] [stdout] | [INFO] [stdout] 113 | fn invert(mut vec: Vec, instruction: &Instruction) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c21_scramble_password.rs:138:4 [INFO] [stdout] | [INFO] [stdout] 138 | fn challenge(input: &str) -> (String, String) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiskInfo` is never constructed [INFO] [stdout] --> src/y2016/c22_filesystem_storage.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | struct DiskInfo { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_disk` is never used [INFO] [stdout] --> src/y2016/c22_filesystem_storage.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn parse_disk(line: &str) -> Option<((usize, usize), DiskInfo)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Coordinates` is never used [INFO] [stdout] --> src/y2016/c22_filesystem_storage.rs:39:6 [INFO] [stdout] | [INFO] [stdout] 39 | type Coordinates = (usize, usize); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c22_filesystem_storage.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn challenge(input: &str) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `md5_hash` is never used [INFO] [stdout] --> src/y2016/c5_hash_passwords.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn md5_hash(str: &[u8]) -> [u8; 16] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_zeros` is never used [INFO] [stdout] --> src/y2016/c5_hash_passwords.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn check_zeros(res: &[u8; 16]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_sixth_hex` is never used [INFO] [stdout] --> src/y2016/c5_hash_passwords.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn get_sixth_hex(res: &[u8; 16]) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_seventh_hex` is never used [INFO] [stdout] --> src/y2016/c5_hash_passwords.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn get_seventh_hex(res: &[u8; 16]) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `u8_to_hex_string` is never used [INFO] [stdout] --> src/y2016/c5_hash_passwords.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn u8_to_hex_string(digits: &[u8]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c5_hash_passwords.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn challenge(input: &str) -> (String, String) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_2d_bool_array` is never used [INFO] [stdout] --> src/y2016/c8_screen_code.rs:107:4 [INFO] [stdout] | [INFO] [stdout] 107 | fn print_2d_bool_array(data: &Vec, width: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `State` is never constructed [INFO] [stdout] --> src/y2016/c11_generator_elevators.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct State { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_initial_state` is never used [INFO] [stdout] --> src/y2016/c11_generator_elevators.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn parse_initial_state(s: &str) -> State { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_goal` is never used [INFO] [stdout] --> src/y2016/c11_generator_elevators.rs:45:4 [INFO] [stdout] | [INFO] [stdout] 45 | fn is_goal(s: &State) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_valid` is never used [INFO] [stdout] --> src/y2016/c11_generator_elevators.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn is_valid(state: &State) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize` is never used [INFO] [stdout] --> src/y2016/c11_generator_elevators.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn normalize(state: &State) -> State { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Item` is never used [INFO] [stdout] --> src/y2016/c11_generator_elevators.rs:75:6 [INFO] [stdout] | [INFO] [stdout] 75 | enum Item { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `next_states` is never used [INFO] [stdout] --> src/y2016/c11_generator_elevators.rs:80:4 [INFO] [stdout] | [INFO] [stdout] 80 | fn next_states(current: &State) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bfs` is never used [INFO] [stdout] --> src/y2016/c11_generator_elevators.rs:133:4 [INFO] [stdout] | [INFO] [stdout] 133 | fn bfs(initial: &State) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c11_generator_elevators.rs:157:4 [INFO] [stdout] | [INFO] [stdout] 157 | fn challenge(input: &str) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `contains_a_triple` is never used [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn contains_a_triple(range: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `contains_matching_quintuplet` is never used [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn contains_matching_quintuplet(range: &[u8], val: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `md5_hash` is never used [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn md5_hash(str: &[u8]) -> [u8; 16] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nibble_to_hex` is never used [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn nibble_to_hex(n: u8) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `md5_to_hex` is never used [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn md5_to_hex(hash: &[u8; 16]) -> [u8; 32] { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_hash_input` is never used [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn make_hash_input(salt: &[u8], num: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HashCache` is never constructed [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | struct HashCache { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `calculate` is never used [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 51 | impl HashCache { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 52 | fn calculate(&mut self, f: &F, index: usize) -> &[u8; 32] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `algorithm` is never used [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:60:4 [INFO] [stdout] | [INFO] [stdout] 60 | fn algorithm(f: &F) -> usize [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c14_consecutive_hashes.rs:88:4 [INFO] [stdout] | [INFO] [stdout] 88 | fn challenge(input: &[u8]) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `determine_tile` is never used [INFO] [stdout] --> src/y2016/c18_generating_traps.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn determine_tile(left: bool, center: bool, right: bool) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_tile` is never used [INFO] [stdout] --> src/y2016/c18_generating_traps.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn gen_tile(prev_row: &[bool], i: usize) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `safe_tiles` is never used [INFO] [stdout] --> src/y2016/c18_generating_traps.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn safe_tiles(input: &[bool], rows: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `challenge` is never used [INFO] [stdout] --> src/y2016/c18_generating_traps.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn challenge(input: &str) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `size` and `percent` are never read [INFO] [stdout] --> src/y2016/c22_filesystem_storage.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 13 | struct DiskInfo { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 14 | size: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | percent: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DiskInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Option::::is_none` that must be used [INFO] [stdout] --> src/y2016/c10_comparing_bots.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | acc.insert(from, (low, high)).is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this doesn't have a value, consider wrapping this in an `assert!()` instead [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 53 | let _ = acc.insert(from, (low, high)).is_none(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `Directions` should have an upper case name [INFO] [stdout] --> src/y2016/c13_generate_maze.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub const Directions: [IVec2; 4] = [ [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper case: `DIRECTIONS` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Option::::is_none` that must be used [INFO] [stdout] --> src/y2016/c10_comparing_bots.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | acc.insert(from, (low, high)).is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this doesn't have a value, consider wrapping this in an `assert!()` instead [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 53 | let _ = acc.insert(from, (low, high)).is_none(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `Directions` should have an upper case name [INFO] [stdout] --> src/y2016/c13_generate_maze.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub const Directions: [IVec2; 4] = [ [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper case: `DIRECTIONS` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.79s [INFO] running `Command { std: "docker" "inspect" "d5d597dea3879cc686922ea631383001512e65058fb42bbaefbfb7ee5cd2c2e1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d5d597dea3879cc686922ea631383001512e65058fb42bbaefbfb7ee5cd2c2e1", kill_on_drop: false }` [INFO] [stdout] d5d597dea3879cc686922ea631383001512e65058fb42bbaefbfb7ee5cd2c2e1