[INFO] cloning repository https://github.com/FluffyBucket/aoc2020
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/FluffyBucket/aoc2020" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFluffyBucket%2Faoc2020", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFluffyBucket%2Faoc2020'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 672fed50500998a2671b5c71f40d8b578f78f51d
[INFO] checking FluffyBucket/aoc2020 against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFluffyBucket%2Faoc2020" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/FluffyBucket/aoc2020
[INFO] finished tweaking git repo https://github.com/FluffyBucket/aoc2020
[INFO] tweaked toml for git repo https://github.com/FluffyBucket/aoc2020 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/FluffyBucket/aoc2020 on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/FluffyBucket/aoc2020 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded modinverse v0.1.1
[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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 73235625bf47059a9df1daf8e8712273921c21879b1679ae2570aab1e1eb48fc
[INFO] running `Command { std: "docker" "start" "-a" "73235625bf47059a9df1daf8e8712273921c21879b1679ae2570aab1e1eb48fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "73235625bf47059a9df1daf8e8712273921c21879b1679ae2570aab1e1eb48fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "73235625bf47059a9df1daf8e8712273921c21879b1679ae2570aab1e1eb48fc", kill_on_drop: false }`
[INFO] [stdout] 73235625bf47059a9df1daf8e8712273921c21879b1679ae2570aab1e1eb48fc
[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" "-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 82cd566ca1a5ba48464dced8d936134289357193fa986b4a5137ee7d4fcf044d
[INFO] running `Command { std: "docker" "start" "-a" "82cd566ca1a5ba48464dced8d936134289357193fa986b4a5137ee7d4fcf044d", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]     Checking regex-syntax v0.6.21
[INFO] [stderr]     Checking modinverse v0.1.1
[INFO] [stderr]     Checking regex v1.4.2
[INFO] [stderr]     Checking aoc2020 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `os`
[INFO] [stdout]  --> src/helpers.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use std::{fs::File, path::Path, os};
[INFO] [stdout]   |                                     ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/day9.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cmp::max` and `collections::HashMap`
[INFO] [stdout]  --> src/day11.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::max, collections::HashMap};
[INFO] [stdout]   |           ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cmp::max` and `collections::HashMap`
[INFO] [stdout]  --> src/day12.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::max, collections::HashMap};
[INFO] [stdout]   |           ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iter::repeat`
[INFO] [stdout]  --> src/day14.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{collections::HashMap, iter::repeat};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `min`
[INFO] [stdout]  --> src/day17.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::{max, min}, collections::{HashMap}, vec};
[INFO] [stdout]   |                      ^^^                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `os`
[INFO] [stdout]  --> src/helpers.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use std::{fs::File, path::Path, os};
[INFO] [stdout]   |                                     ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/day9.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cmp::max` and `collections::HashMap`
[INFO] [stdout]  --> src/day11.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::max, collections::HashMap};
[INFO] [stdout]   |           ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cmp::max` and `collections::HashMap`
[INFO] [stdout]  --> src/day12.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::max, collections::HashMap};
[INFO] [stdout]   |           ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iter::repeat`
[INFO] [stdout]  --> src/day14.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{collections::HashMap, iter::repeat};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `min`
[INFO] [stdout]  --> src/day17.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::{max, min}, collections::{HashMap}, vec};
[INFO] [stdout]   |                      ^^^                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day3.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut map: Vec<Vec<char>> = input.lines().map(
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day3.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut map: Vec<Vec<char>> = input.lines().map(
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/day4.rs:87:18
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let (st, err) = valid_value(key, val);
[INFO] [stdout]    |                  ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day5.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |             let mut row = rows.get_mut(&row_i).unwrap();
[INFO] [stdout]    |                 ----^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/day13.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |             _ => ()
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/day13.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |             "x" => (),
[INFO] [stdout]    |             --- matches some of the same values
[INFO] [stdout] 22 |             s => {
[INFO] [stdout]    |             - matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 30 |             _ => ()
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/day13.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |             _ => ()
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/day13.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             "x" => (),
[INFO] [stdout]    |             --- matches some of the same values
[INFO] [stdout] 46 |             s => {
[INFO] [stdout]    |             - matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 50 |             _ => ()
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/day14.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout] 105 |                 for (i,n_adr) in adrs.iter().enumerate() {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ticket`
[INFO] [stdout]   --> src/day16.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let ticket = &lines[22..23][0].split(",").map(|n| n.parse::<i32>().unwrap()).collect::<Vec<i32>>();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ticket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/day18.rs:100:10
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn part2(input: &String) {
[INFO] [stdout]     |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day1.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day1.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day1.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day2.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day2.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day2.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day3.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day3.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day3.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_in_slope` is never used
[INFO] [stdout]   --> src/day3.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn tree_in_slope(map: &Vec<Vec<char>>, right: usize, down: usize) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Passport` is never used
[INFO] [stdout]  --> src/day4.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | type Passport = HashMap<String, String>;
[INFO] [stdout]   |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/day4.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day4.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day4.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_passports` is never used
[INFO] [stdout]   --> src/day4.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn get_passports(input: &String) -> Vec<Passport> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simple_valid_passport` is never used
[INFO] [stdout]   --> src/day4.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn simple_valid_passport(passport: &Passport) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_passport` is never used
[INFO] [stdout]   --> src/day4.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn valid_passport(passport: &Passport) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_value` is never used
[INFO] [stdout]   --> src/day4.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn valid_value(key: &String, val: &String) -> (bool, String) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day5.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day5.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day5.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_plane_seats` is never used
[INFO] [stdout]   --> src/day5.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn print_plane_seats(rows: HashMap<usize, HashMap<usize,usize>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_plane_col` is never used
[INFO] [stdout]   --> src/day5.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn print_plane_col(row: &HashMap<usize, usize>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_row` is never used
[INFO] [stdout]   --> src/day5.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn find_row(row: &String, left: usize, right: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_column` is never used
[INFO] [stdout]    --> src/day5.rs:112:4
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn find_column(col: &String, left: usize, right: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day6.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day6.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day6.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day7.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day7.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day7.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `can_hold` is never used
[INFO] [stdout]   --> src/day7.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn can_hold(bag: &String, outer: &String, rule_map: &HashMap<String, HashMap<String, i32>>) -> bool {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contains_amount` is never used
[INFO] [stdout]   --> src/day7.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn contains_amount(bag: &String, rule_map: &HashMap<String, HashMap<String, i32>>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Instruction` is never constructed
[INFO] [stdout]  --> src/day8.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Instruction {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/day8.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day8.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day8.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_instructions` is never used
[INFO] [stdout]   --> src/day8.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn run_instructions(instructions: &Vec<Instruction>) -> (i32, bool) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_instructions` is never used
[INFO] [stdout]   --> src/day8.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn get_instructions(input: &String) -> (Vec<Instruction>, Vec<usize>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day9.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day9.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day9.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid` is never used
[INFO] [stdout]   --> src/day9.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn is_valid(numbers: &Vec<i64>, number: i64) -> bool {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_numbers` is never used
[INFO] [stdout]   --> src/day9.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn sum_numbers(numbers: &Vec<i64>) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_min_max` is never used
[INFO] [stdout]   --> src/day9.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn sum_min_max(numbers: &Vec<i64>) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day10.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day10.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day10.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_list` is never used
[INFO] [stdout]   --> src/day10.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn print_list(numbers: &Vec<i64>) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `leaf_count` is never used
[INFO] [stdout]   --> src/day10.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn leaf_count(i: usize, numbers: &Vec<i64>, computed: &mut HashMap<i64,i64>) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_leafs` is never used
[INFO] [stdout]   --> src/day10.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn get_leafs(i: usize, numbers: &Vec<i64>) -> Vec<usize> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day11.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day11.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_adjacent` is never used
[INFO] [stdout]   --> src/day11.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn count_adjacent(row: usize, col: usize, layout: &Vec<Vec<char>>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sub_usize` is never used
[INFO] [stdout]   --> src/day11.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn sub_usize(val: usize, offset: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day11.rs:83:4
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `seats_seen` is never used
[INFO] [stdout]    --> src/day11.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn seats_seen(row: usize, col: usize, layout: &Vec<Vec<char>>) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `seats_direction` is never used
[INFO] [stdout]    --> src/day11.rs:137:4
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn seats_direction(row: usize, col: usize, layout: &Vec<Vec<char>>, r_d: i32, c_d: i32) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_layout` is never used
[INFO] [stdout]    --> src/day11.rs:166:4
[INFO] [stdout]     |
[INFO] [stdout] 166 | fn print_layout(layout: &Vec<Vec<char>>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day12.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day12.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_direction` is never used
[INFO] [stdout]   --> src/day12.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn new_direction(curr_dir: i64, left: bool, deg: i64) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/day12.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | struct Point {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rotate` is never used
[INFO] [stdout]   --> src/day12.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl Point {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 71 |     fn rotate(&mut self, deg: i64) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day12.rs:91:4
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day13.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day13.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day13.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day14.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day14.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_bits` is never used
[INFO] [stdout]   --> src/day14.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn write_bits(mask: &String, value: &String) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day14.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_addresses` is never used
[INFO] [stdout]   --> src/day14.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn calc_addresses(mask: &String, address: &String) -> Vec<Vec<char>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day15.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Num` is never constructed
[INFO] [stdout]   --> src/day15.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Num {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day15.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day15.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day16.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day16.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `all_rule_pairs` is never used
[INFO] [stdout]   --> src/day16.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn all_rule_pairs(list: &[&str]) -> Vec<(i32,i32)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day16.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rule_pairs` is never used
[INFO] [stdout]    --> src/day16.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn get_rule_pairs<'a>(list: &'a [&str]) -> Vec<(&'a str,(i32,i32,i32,i32))> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_num` is never used
[INFO] [stdout]    --> src/day16.rs:157:4
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn valid_num(num: &i32, rules: &Vec<(i32,i32)>) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_numbers` is never used
[INFO] [stdout]    --> src/day16.rs:167:4
[INFO] [stdout]     |
[INFO] [stdout] 167 | fn valid_numbers(numbers: &Vec<i32>, rules: &Vec<(i32,i32)>) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day17.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Layer` is never used
[INFO] [stdout]   --> src/day17.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | type Layer = Vec<Vec<bool>>;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Dimension` is never used
[INFO] [stdout]   --> src/day17.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | type Dimension = Vec<Layer>;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Dimension4D` is never used
[INFO] [stdout]   --> src/day17.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | type Dimension4D = Vec<Vec<Vec<Vec<bool>>>>;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Coordinate` is never constructed
[INFO] [stdout]   --> src/day17.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct Coordinate  {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Coordinate4D` is never constructed
[INFO] [stdout]   --> src/day17.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct Coordinate4D  {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day17.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_active_neighbors` is never used
[INFO] [stdout]   --> src/day17.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn get_active_neighbors(c: Coordinate, d: &Dimension) -> i32{
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]    --> src/day17.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn part2(input: &String) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_active_neighbors_4D` is never used
[INFO] [stdout]    --> src/day17.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn get_active_neighbors_4D(c: Coordinate4D, d: &Dimension4D) -> i32{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_layer` is never used
[INFO] [stdout]    --> src/day17.rs:178:4
[INFO] [stdout]     |
[INFO] [stdout] 178 | fn print_layer(l: &Layer) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_dimension` is never used
[INFO] [stdout]    --> src/day17.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn print_dimension(d: Dimension) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/day4.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             &passport.push(line.to_string());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |             let _ = &passport.push(line.to_string());
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&i64` instead of cloning the inner type
[INFO] [stdout]   --> src/day10.rs:63:38
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 Some(n) => count += n.clone(),
[INFO] [stdout]    |                                      ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_active_neighbors_4D` should have a snake case name
[INFO] [stdout]    --> src/day17.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn get_active_neighbors_4D(c: Coordinate4D, d: &Dimension4D) -> i32{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_active_neighbors_4_d`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day3.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut map: Vec<Vec<char>> = input.lines().map(
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day3.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut map: Vec<Vec<char>> = input.lines().map(
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/day4.rs:87:18
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let (st, err) = valid_value(key, val);
[INFO] [stdout]    |                  ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day5.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |             let mut row = rows.get_mut(&row_i).unwrap();
[INFO] [stdout]    |                 ----^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/day13.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |             _ => ()
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/day13.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |             "x" => (),
[INFO] [stdout]    |             --- matches some of the same values
[INFO] [stdout] 22 |             s => {
[INFO] [stdout]    |             - matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 30 |             _ => ()
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/day13.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |             _ => ()
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/day13.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             "x" => (),
[INFO] [stdout]    |             --- matches some of the same values
[INFO] [stdout] 46 |             s => {
[INFO] [stdout]    |             - matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 50 |             _ => ()
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/day14.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout] 105 |                 for (i,n_adr) in adrs.iter().enumerate() {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ticket`
[INFO] [stdout]   --> src/day16.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let ticket = &lines[22..23][0].split(",").map(|n| n.parse::<i32>().unwrap()).collect::<Vec<i32>>();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ticket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/day18.rs:100:10
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn part2(input: &String) {
[INFO] [stdout]     |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day1.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day1.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day1.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day2.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day2.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day2.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day3.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day3.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day3.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_in_slope` is never used
[INFO] [stdout]   --> src/day3.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn tree_in_slope(map: &Vec<Vec<char>>, right: usize, down: usize) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Passport` is never used
[INFO] [stdout]  --> src/day4.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | type Passport = HashMap<String, String>;
[INFO] [stdout]   |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/day4.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day4.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day4.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_passports` is never used
[INFO] [stdout]   --> src/day4.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn get_passports(input: &String) -> Vec<Passport> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simple_valid_passport` is never used
[INFO] [stdout]   --> src/day4.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn simple_valid_passport(passport: &Passport) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_passport` is never used
[INFO] [stdout]   --> src/day4.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn valid_passport(passport: &Passport) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_value` is never used
[INFO] [stdout]   --> src/day4.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn valid_value(key: &String, val: &String) -> (bool, String) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day5.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day5.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day5.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_plane_seats` is never used
[INFO] [stdout]   --> src/day5.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn print_plane_seats(rows: HashMap<usize, HashMap<usize,usize>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_plane_col` is never used
[INFO] [stdout]   --> src/day5.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn print_plane_col(row: &HashMap<usize, usize>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_row` is never used
[INFO] [stdout]   --> src/day5.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn find_row(row: &String, left: usize, right: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_column` is never used
[INFO] [stdout]    --> src/day5.rs:112:4
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn find_column(col: &String, left: usize, right: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day6.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day6.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day6.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day7.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day7.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day7.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `can_hold` is never used
[INFO] [stdout]   --> src/day7.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn can_hold(bag: &String, outer: &String, rule_map: &HashMap<String, HashMap<String, i32>>) -> bool {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contains_amount` is never used
[INFO] [stdout]   --> src/day7.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn contains_amount(bag: &String, rule_map: &HashMap<String, HashMap<String, i32>>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Instruction` is never constructed
[INFO] [stdout]  --> src/day8.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Instruction {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/day8.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day8.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day8.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_instructions` is never used
[INFO] [stdout]   --> src/day8.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn run_instructions(instructions: &Vec<Instruction>) -> (i32, bool) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_instructions` is never used
[INFO] [stdout]   --> src/day8.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn get_instructions(input: &String) -> (Vec<Instruction>, Vec<usize>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day9.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day9.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day9.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid` is never used
[INFO] [stdout]   --> src/day9.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn is_valid(numbers: &Vec<i64>, number: i64) -> bool {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_numbers` is never used
[INFO] [stdout]   --> src/day9.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn sum_numbers(numbers: &Vec<i64>) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_min_max` is never used
[INFO] [stdout]   --> src/day9.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn sum_min_max(numbers: &Vec<i64>) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day10.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day10.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day10.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_list` is never used
[INFO] [stdout]   --> src/day10.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn print_list(numbers: &Vec<i64>) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `leaf_count` is never used
[INFO] [stdout]   --> src/day10.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn leaf_count(i: usize, numbers: &Vec<i64>, computed: &mut HashMap<i64,i64>) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_leafs` is never used
[INFO] [stdout]   --> src/day10.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn get_leafs(i: usize, numbers: &Vec<i64>) -> Vec<usize> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day11.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day11.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_adjacent` is never used
[INFO] [stdout]   --> src/day11.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn count_adjacent(row: usize, col: usize, layout: &Vec<Vec<char>>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sub_usize` is never used
[INFO] [stdout]   --> src/day11.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn sub_usize(val: usize, offset: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day11.rs:83:4
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `seats_seen` is never used
[INFO] [stdout]    --> src/day11.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn seats_seen(row: usize, col: usize, layout: &Vec<Vec<char>>) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `seats_direction` is never used
[INFO] [stdout]    --> src/day11.rs:137:4
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn seats_direction(row: usize, col: usize, layout: &Vec<Vec<char>>, r_d: i32, c_d: i32) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_layout` is never used
[INFO] [stdout]    --> src/day11.rs:166:4
[INFO] [stdout]     |
[INFO] [stdout] 166 | fn print_layout(layout: &Vec<Vec<char>>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day12.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day12.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_direction` is never used
[INFO] [stdout]   --> src/day12.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn new_direction(curr_dir: i64, left: bool, deg: i64) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/day12.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | struct Point {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rotate` is never used
[INFO] [stdout]   --> src/day12.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl Point {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 71 |     fn rotate(&mut self, deg: i64) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day12.rs:91:4
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day13.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day13.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day13.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day14.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day14.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_bits` is never used
[INFO] [stdout]   --> src/day14.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn write_bits(mask: &String, value: &String) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day14.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_addresses` is never used
[INFO] [stdout]   --> src/day14.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn calc_addresses(mask: &String, address: &String) -> Vec<Vec<char>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day15.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Num` is never constructed
[INFO] [stdout]   --> src/day15.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Num {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day15.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day15.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day16.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day16.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `all_rule_pairs` is never used
[INFO] [stdout]   --> src/day16.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn all_rule_pairs(list: &[&str]) -> Vec<(i32,i32)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/day16.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn part2(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rule_pairs` is never used
[INFO] [stdout]    --> src/day16.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn get_rule_pairs<'a>(list: &'a [&str]) -> Vec<(&'a str,(i32,i32,i32,i32))> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_num` is never used
[INFO] [stdout]    --> src/day16.rs:157:4
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn valid_num(num: &i32, rules: &Vec<(i32,i32)>) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_numbers` is never used
[INFO] [stdout]    --> src/day16.rs:167:4
[INFO] [stdout]     |
[INFO] [stdout] 167 | fn valid_numbers(numbers: &Vec<i32>, rules: &Vec<(i32,i32)>) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/day17.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Layer` is never used
[INFO] [stdout]   --> src/day17.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | type Layer = Vec<Vec<bool>>;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Dimension` is never used
[INFO] [stdout]   --> src/day17.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | type Dimension = Vec<Layer>;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Dimension4D` is never used
[INFO] [stdout]   --> src/day17.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | type Dimension4D = Vec<Vec<Vec<Vec<bool>>>>;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Coordinate` is never constructed
[INFO] [stdout]   --> src/day17.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct Coordinate  {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Coordinate4D` is never constructed
[INFO] [stdout]   --> src/day17.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct Coordinate4D  {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/day17.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn part1(input: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_active_neighbors` is never used
[INFO] [stdout]   --> src/day17.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn get_active_neighbors(c: Coordinate, d: &Dimension) -> i32{
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]    --> src/day17.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn part2(input: &String) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_active_neighbors_4D` is never used
[INFO] [stdout]    --> src/day17.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn get_active_neighbors_4D(c: Coordinate4D, d: &Dimension4D) -> i32{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_layer` is never used
[INFO] [stdout]    --> src/day17.rs:178:4
[INFO] [stdout]     |
[INFO] [stdout] 178 | fn print_layer(l: &Layer) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_dimension` is never used
[INFO] [stdout]    --> src/day17.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn print_dimension(d: Dimension) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/day4.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             &passport.push(line.to_string());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |             let _ = &passport.push(line.to_string());
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&i64` instead of cloning the inner type
[INFO] [stdout]   --> src/day10.rs:63:38
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 Some(n) => count += n.clone(),
[INFO] [stdout]    |                                      ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_active_neighbors_4D` should have a snake case name
[INFO] [stdout]    --> src/day17.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn get_active_neighbors_4D(c: Coordinate4D, d: &Dimension4D) -> i32{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_active_neighbors_4_d`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.21s
[INFO] running `Command { std: "docker" "inspect" "82cd566ca1a5ba48464dced8d936134289357193fa986b4a5137ee7d4fcf044d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "82cd566ca1a5ba48464dced8d936134289357193fa986b4a5137ee7d4fcf044d", kill_on_drop: false }`
[INFO] [stdout] 82cd566ca1a5ba48464dced8d936134289357193fa986b4a5137ee7d4fcf044d
