[INFO] cloning repository https://github.com/andrew-lee-metaswitch/aoc-rust-2023
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/andrew-lee-metaswitch/aoc-rust-2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandrew-lee-metaswitch%2Faoc-rust-2023", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandrew-lee-metaswitch%2Faoc-rust-2023'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fb0974d40618f91083d9e1173c262aefc8bb760a
[INFO] checking andrew-lee-metaswitch/aoc-rust-2023 against try#1baf923b9c3a455162afe43e18647f494c1a4b73 for pr-151510
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandrew-lee-metaswitch%2Faoc-rust-2023" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/andrew-lee-metaswitch/aoc-rust-2023
[INFO] finished tweaking git repo https://github.com/andrew-lee-metaswitch/aoc-rust-2023
[INFO] tweaked toml for git repo https://github.com/andrew-lee-metaswitch/aoc-rust-2023 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/andrew-lee-metaswitch/aoc-rust-2023 on toolchain 1baf923b9c3a455162afe43e18647f494c1a4b73
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1baf923b9c3a455162afe43e18647f494c1a4b73" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/andrew-lee-metaswitch/aoc-rust-2023 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" "+1baf923b9c3a455162afe43e18647f494c1a4b73" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1baf923b9c3a455162afe43e18647f494c1a4b73" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] da846c871fff81c32ffcdad5934bbdfcc9763d28b77df835ea3331566870828d
[INFO] running `Command { std: "docker" "start" "-a" "da846c871fff81c32ffcdad5934bbdfcc9763d28b77df835ea3331566870828d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "da846c871fff81c32ffcdad5934bbdfcc9763d28b77df835ea3331566870828d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "da846c871fff81c32ffcdad5934bbdfcc9763d28b77df835ea3331566870828d", kill_on_drop: false }`
[INFO] [stdout] da846c871fff81c32ffcdad5934bbdfcc9763d28b77df835ea3331566870828d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1baf923b9c3a455162afe43e18647f494c1a4b73" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ef2daa63c739216f7cfc1a456200b8db155c622bd6a593db843f56f055b8b849
[INFO] running `Command { std: "docker" "start" "-a" "ef2daa63c739216f7cfc1a456200b8db155c622bd6a593db843f56f055b8b849", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]     Checking memchr v2.6.4
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]     Checking regex-automata v0.4.3
[INFO] [stderr]     Checking num-complex v0.4.4
[INFO] [stderr]     Checking num v0.4.1
[INFO] [stderr]     Checking regex v1.10.2
[INFO] [stderr]     Checking aoc-rust-2023 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/day08.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |     use super::*;
[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 variable: `idx`
[INFO] [stdout]    --> src/day05.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 |     for (idx, row) in inputs.iter().enumerate().filter(|(idx, _)| idx > &2) {
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/day05.rs:163:10
[INFO] [stdout]     |
[INFO] [stdout] 163 |     for (idx, row) in inputs.iter().enumerate().filter(|(idx, _)| idx > &2) {
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1solve` is never used
[INFO] [stdout]   --> src/day01.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn part1solve() -> i32 {
[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 `part2solve` is never used
[INFO] [stdout]   --> src/day01.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn part2solve() -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/day02.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct Game {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] 44 |     id: i32,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `minimum_possible_cubes` is never used
[INFO] [stdout]   --> src/day02.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl Game {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fn minimum_possible_cubes(&self) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1solve` is never used
[INFO] [stdout]   --> src/day02.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn part1solve() -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2solve` is never used
[INFO] [stdout]   --> src/day02.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn part2solve() -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_nos_in_row` is never used
[INFO] [stdout]  --> src/day03.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn get_nos_in_row(row: &Vec<char>, pivot_index: usize) -> Vec<u32> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_rest_of_number` is never used
[INFO] [stdout]   --> src/day03.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn find_rest_of_number(row: &Vec<char>, index: usize) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MachinePart` is never constructed
[INFO] [stdout]   --> src/day03.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | struct MachinePart {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `sum_of_surrouding_parts` and `from_grid` are never used
[INFO] [stdout]   --> src/day03.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl MachinePart {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 52 |     fn sum_of_surrouding_parts(&self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     fn from_grid(grid: &Vec<Vec<char>>, row_id: usize, col_id: usize) -> MachinePart {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]   --> src/day03.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn parse() -> Vec<MachinePart> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1solve` is never used
[INFO] [stdout]   --> src/day03.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub fn part1solve() -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2solve` is never used
[INFO] [stdout]    --> src/day03.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn part2solve() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Game` is never constructed
[INFO] [stdout]   --> src/day04.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Game {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `scratchcard_value`, `part_two_count`, and `from_str` are never used
[INFO] [stdout]   --> src/day04.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Game {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 17 |     fn scratchcard_value(&self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn part_two_count(&self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn from_str(line: &str) -> Game {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]   --> src/day04.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn parse() -> Vec<Game> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1solve` is never used
[INFO] [stdout]   --> src/day04.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn part1solve() -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2solve` is never used
[INFO] [stdout]   --> src/day04.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn part2solve() -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1solve` is never used
[INFO] [stdout]    --> src/day05.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn part1solve() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2solve` is never used
[INFO] [stdout]    --> src/day05.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn part2solve() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Game` is never constructed
[INFO] [stdout]  --> src/day06.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Game {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `winning_count` is never used
[INFO] [stdout]   --> src/day06.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Game {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 13 |     fn winning_count(&self) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]   --> src/day06.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn parse() -> Vec<Game> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_part2` is never used
[INFO] [stdout]   --> src/day06.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn parse_part2() -> Game {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1solve` is never used
[INFO] [stdout]   --> src/day06.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn part1solve() -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2solve` is never used
[INFO] [stdout]   --> src/day06.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn part2solve() -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1solve` is never used
[INFO] [stdout]    --> src/day07.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn part1solve() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2solve` is never used
[INFO] [stdout]    --> src/day07.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn part2solve() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1solve` is never used
[INFO] [stdout]   --> src/day08.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn part1solve() -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2solve` is never used
[INFO] [stdout]   --> src/day08.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn part2solve() -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]  --> src/day09.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn parse() -> Vec<Vec<i32>> {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_differences` is never used
[INFO] [stdout]   --> src/day09.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn calculate_differences(row: &Vec<i32>) -> Vec<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_value` is never used
[INFO] [stdout]   --> src/day09.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn get_next_value(row: &Vec<i32>, previous: bool) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1solve` is never used
[INFO] [stdout]   --> src/day09.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn part1solve() -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2solve` is never used
[INFO] [stdout]   --> src/day09.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn part2solve() -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/day03.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 |     while search_idx >= 0 && row[search_idx].is_ascii_digit() {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/day05.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 |     for (idx, row) in inputs.iter().enumerate().filter(|(idx, _)| idx > &2) {
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.96s
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/day05.rs:163:10
[INFO] [stdout]     |
[INFO] [stdout] 163 |     for (idx, row) in inputs.iter().enumerate().filter(|(idx, _)| idx > &2) {
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calibration_value_part_one` is never used
[INFO] [stdout]  --> src/day01.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn calibration_value_part_one(input: String) -> i32 {
[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 `calibration_value_part_two` is never used
[INFO] [stdout]   --> src/day01.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn calibration_value_part_two(mut input: String) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1solve` is never used
[INFO] [stdout]   --> src/day01.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn part1solve() -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2solve` is never used
[INFO] [stdout]   --> src/day01.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn part2solve() -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CubeSet` is never constructed
[INFO] [stdout]   --> src/day02.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct CubeSet {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `is_part_one_possible` and `parse_set` are never used
[INFO] [stdout]   --> src/day02.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl CubeSet {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 18 |     fn is_part_one_possible(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn parse_set(line: &str) -> CubeSet {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Game` is never constructed
[INFO] [stdout]   --> src/day02.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct Game {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `is_part_one_possible`, `minimum_possible_cubes`, and `parse_line` are never used
[INFO] [stdout]   --> src/day02.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl Game {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 49 |     fn is_part_one_possible(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fn minimum_possible_cubes(&self) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn parse_line(line: &str) -> Game {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1solve` is never used
[INFO] [stdout]   --> src/day02.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn part1solve() -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2solve` is never used
[INFO] [stdout]   --> src/day02.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn part2solve() -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_nos_in_row` is never used
[INFO] [stdout]  --> src/day03.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn get_nos_in_row(row: &Vec<char>, pivot_index: usize) -> Vec<u32> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_rest_of_number` is never used
[INFO] [stdout]   --> src/day03.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn find_rest_of_number(row: &Vec<char>, index: usize) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MachinePart` is never constructed
[INFO] [stdout]   --> src/day03.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | struct MachinePart {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `sum_of_surrouding_parts` and `from_grid` are never used
[INFO] [stdout]   --> src/day03.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl MachinePart {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 52 |     fn sum_of_surrouding_parts(&self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     fn from_grid(grid: &Vec<Vec<char>>, row_id: usize, col_id: usize) -> MachinePart {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]   --> src/day03.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn parse() -> Vec<MachinePart> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1solve` is never used
[INFO] [stdout]   --> src/day03.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub fn part1solve() -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2solve` is never used
[INFO] [stdout]    --> src/day03.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn part2solve() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Game` is never constructed
[INFO] [stdout]   --> src/day04.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Game {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `scratchcard_value`, `part_two_count`, and `from_str` are never used
[INFO] [stdout]   --> src/day04.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Game {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 17 |     fn scratchcard_value(&self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn part_two_count(&self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn from_str(line: &str) -> Game {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]   --> src/day04.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn parse() -> Vec<Game> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1solve` is never used
[INFO] [stdout]   --> src/day04.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn part1solve() -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2solve` is never used
[INFO] [stdout]   --> src/day04.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn part2solve() -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rule` is never constructed
[INFO] [stdout]   --> src/day05.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Rule {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Converter` is never constructed
[INFO] [stdout]   --> src/day05.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Converter {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_list`, `apply_rules`, and `apply_rules_to_ranges` are never used
[INFO] [stdout]   --> src/day05.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Converter {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 23 |     fn from_list(rules_strings: Vec<&String>) -> Converter {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn apply_rules(&self, input: i64) -> i64 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn apply_rules_to_ranges(&self, mut ranges: Vec<Range<i64>>) -> Vec<Range<i64>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1solve` is never used
[INFO] [stdout]    --> src/day05.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn part1solve() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1solveinner` is never used
[INFO] [stdout]    --> src/day05.rs:108:4
[INFO] [stdout]     |
[INFO] [stdout] 108 | fn part1solveinner(inputs: &Vec<String>) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2solve` is never used
[INFO] [stdout]    --> src/day05.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn part2solve() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2solveinner` is never used
[INFO] [stdout]    --> src/day05.rs:144:4
[INFO] [stdout]     |
[INFO] [stdout] 144 | fn part2solveinner(inputs: &Vec<String>) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Game` is never constructed
[INFO] [stdout]  --> src/day06.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Game {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `winning_count` is never used
[INFO] [stdout]   --> src/day06.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Game {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 13 |     fn winning_count(&self) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]   --> src/day06.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn parse() -> Vec<Game> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_part2` is never used
[INFO] [stdout]   --> src/day06.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn parse_part2() -> Game {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1solve` is never used
[INFO] [stdout]   --> src/day06.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn part1solve() -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2solve` is never used
[INFO] [stdout]   --> src/day06.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn part2solve() -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HandType` is never used
[INFO] [stdout]   --> src/day07.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | enum HandType {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CardType` is never used
[INFO] [stdout]   --> src/day07.rs:24:6
[INFO] [stdout]    |
[INFO] [stdout] 24 | enum CardType {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2_card_compare` is never used
[INFO] [stdout]   --> src/day07.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn part2_card_compare(a: &CardType, b: &CardType) -> Ordering {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_2_hand_cmp` is never used
[INFO] [stdout]   --> src/day07.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn part_2_hand_cmp(a: &Hand, b: &Hand) -> Ordering {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Hand` is never constructed
[INFO] [stdout]   --> src/day07.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct Hand {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]   --> src/day07.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | impl Hand {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 82 |     fn from_str(line: &str) -> Hand {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1inner` is never used
[INFO] [stdout]    --> src/day07.rs:200:4
[INFO] [stdout]     |
[INFO] [stdout] 200 | fn part1inner(inputs: &Vec<String>) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1solve` is never used
[INFO] [stdout]    --> src/day07.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn part1solve() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2inner` is never used
[INFO] [stdout]    --> src/day07.rs:215:4
[INFO] [stdout]     |
[INFO] [stdout] 215 | fn part2inner(inputs: &Vec<String>) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2solve` is never used
[INFO] [stdout]    --> src/day07.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn part2solve() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]  --> src/day08.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn parse(lines: Vec<String>) -> (Vec<char>, HashMap<String, (String, String)>) {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1solve` is never used
[INFO] [stdout]   --> src/day08.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn part1solve() -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2solve` is never used
[INFO] [stdout]   --> src/day08.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn part2solve() -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_node` is never used
[INFO] [stdout]   --> src/day08.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn get_next_node(
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1inner` is never used
[INFO] [stdout]   --> src/day08.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn part1inner(inputs: Vec<String>) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_simplified_network` is never used
[INFO] [stdout]   --> src/day08.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn make_simplified_network(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2inner` is never used
[INFO] [stdout]   --> src/day08.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn part2inner(inputs: Vec<String>) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]  --> src/day09.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn parse() -> Vec<Vec<i32>> {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_differences` is never used
[INFO] [stdout]   --> src/day09.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn calculate_differences(row: &Vec<i32>) -> Vec<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_value` is never used
[INFO] [stdout]   --> src/day09.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn get_next_value(row: &Vec<i32>, previous: bool) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1solve` is never used
[INFO] [stdout]   --> src/day09.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn part1solve() -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2solve` is never used
[INFO] [stdout]   --> src/day09.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn part2solve() -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/day03.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 |     while search_idx >= 0 && row[search_idx].is_ascii_digit() {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ef2daa63c739216f7cfc1a456200b8db155c622bd6a593db843f56f055b8b849", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ef2daa63c739216f7cfc1a456200b8db155c622bd6a593db843f56f055b8b849", kill_on_drop: false }`
[INFO] [stdout] ef2daa63c739216f7cfc1a456200b8db155c622bd6a593db843f56f055b8b849
