[INFO] cloning repository https://github.com/markwpearce/adventofcode2023 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/markwpearce/adventofcode2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarkwpearce%2Fadventofcode2023", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarkwpearce%2Fadventofcode2023'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6a2d258acb14e755becc5bdc6427bd6e8332bd1f [INFO] checking markwpearce/adventofcode2023 against try#8c500c7cefd54fd11d57295f3771d576be9ee415 for pr-145113 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarkwpearce%2Fadventofcode2023" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/markwpearce/adventofcode2023 [INFO] finished tweaking git repo https://github.com/markwpearce/adventofcode2023 [INFO] tweaked toml for git repo https://github.com/markwpearce/adventofcode2023 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/markwpearce/adventofcode2023 on toolchain 8c500c7cefd54fd11d57295f3771d576be9ee415 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8c500c7cefd54fd11d57295f3771d576be9ee415" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/markwpearce/adventofcode2023 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" "+8c500c7cefd54fd11d57295f3771d576be9ee415" "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-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:ae6f63d130afcfff7f91f5ba9fdb2a74d52830289c6a2ea2d23a94dcfb480a0d" "/opt/rustwide/cargo-home/bin/cargo" "+8c500c7cefd54fd11d57295f3771d576be9ee415" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5b0f41ba9fa553ba60c0de035766646c28215b913717fa3cdef59f98e4bb9568 [INFO] running `Command { std: "docker" "start" "-a" "5b0f41ba9fa553ba60c0de035766646c28215b913717fa3cdef59f98e4bb9568", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5b0f41ba9fa553ba60c0de035766646c28215b913717fa3cdef59f98e4bb9568", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5b0f41ba9fa553ba60c0de035766646c28215b913717fa3cdef59f98e4bb9568", kill_on_drop: false }` [INFO] [stdout] 5b0f41ba9fa553ba60c0de035766646c28215b913717fa3cdef59f98e4bb9568 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:ae6f63d130afcfff7f91f5ba9fdb2a74d52830289c6a2ea2d23a94dcfb480a0d" "/opt/rustwide/cargo-home/bin/cargo" "+8c500c7cefd54fd11d57295f3771d576be9ee415" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9e41b0f0a393e304755add3cfe2e53bcd98a2bebdda44109f9f6eac3c52fb5d8 [INFO] running `Command { std: "docker" "start" "-a" "9e41b0f0a393e304755add3cfe2e53bcd98a2bebdda44109f9f6eac3c52fb5d8", kill_on_drop: false }` [INFO] [stderr] Checking memchr v2.6.4 [INFO] [stderr] Checking regex-syntax v0.8.2 [INFO] [stderr] Checking aho-corasick v1.1.2 [INFO] [stderr] Checking regex-automata v0.4.3 [INFO] [stderr] Checking regex v1.10.2 [INFO] [stderr] Checking adventofcode2023 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/days/day04.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around index expression [INFO] [stdout] --> src/days/day04.rs:95:25 [INFO] [stdout] | [INFO] [stdout] 95 | card_copies[((j as usize) + i)] += card_copies[i]; [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 95 - card_copies[((j as usize) + i)] += card_copies[i]; [INFO] [stdout] 95 + card_copies[(j as usize) + i] += card_copies[i]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/days/day04.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around index expression [INFO] [stdout] --> src/days/day04.rs:95:25 [INFO] [stdout] | [INFO] [stdout] 95 | card_copies[((j as usize) + i)] += card_copies[i]; [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 95 - card_copies[((j as usize) + i)] += card_copies[i]; [INFO] [stdout] 95 + card_copies[(j as usize) + i] += card_copies[i]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sum` [INFO] [stdout] --> src/days/day04.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | let mut sum = 0; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sum` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/days/day04.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let mut sum = 0; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_DATA` is never used [INFO] [stdout] --> src/days/day01.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | const TEST_DATA: [&str; 4] = ["1abc2", "pqr3stu8vwx", "a1b2c3d4e5f", "treb7uchet"]; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_DATA2` is never used [INFO] [stdout] --> src/days/day01.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const TEST_DATA2: [&str; 7] = [ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NUMBER_STRS` is never used [INFO] [stdout] --> src/days/day01.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const NUMBER_STRS: [&str; 10] = [ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/days/day01.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn part1() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first_int` is never used [INFO] [stdout] --> src/days/day01.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn first_int(my_str: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `last_int` is never used [INFO] [stdout] --> src/days/day01.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn last_int(my_str: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/days/day01.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn part2() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_string_for_string` is never used [INFO] [stdout] --> src/days/day01.rs:64:4 [INFO] [stdout] | [INFO] [stdout] 64 | fn check_string_for_string( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sum` [INFO] [stdout] --> src/days/day04.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | let mut sum = 0; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sum` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_string_for_last_string` is never used [INFO] [stdout] --> src/days/day01.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn check_string_for_last_string( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first_int_str` is never used [INFO] [stdout] --> src/days/day01.rs:104:4 [INFO] [stdout] | [INFO] [stdout] 104 | fn first_int_str(my_str: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `last_int_str` is never used [INFO] [stdout] --> src/days/day01.rs:124:4 [INFO] [stdout] | [INFO] [stdout] 124 | fn last_int_str(my_str: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_DATA` is never used [INFO] [stdout] --> src/days/day02.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const TEST_DATA: [&str; 5] = [ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Round` is never constructed [INFO] [stdout] --> src/days/day02.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | struct Round { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Game` is never constructed [INFO] [stdout] --> src/days/day02.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | struct Game { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_game` is never used [INFO] [stdout] --> src/days/day02.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn parse_game(game_str: &str) -> Game { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/days/day02.rs:81:8 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn part1() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/days/day02.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn part2() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_game` is never used [INFO] [stdout] --> src/days/day02.rs:103:4 [INFO] [stdout] | [INFO] [stdout] 103 | fn check_game(g: &Game) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_game_power` is never used [INFO] [stdout] --> src/days/day02.rs:115:4 [INFO] [stdout] | [INFO] [stdout] 115 | fn get_game_power(g: &Game) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_DATA` is never used [INFO] [stdout] --> src/days/day03.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const TEST_DATA: [&str; 10] = [ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/days/day03.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn part1() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Part` is never constructed [INFO] [stdout] --> src/days/day03.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | struct Part { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Symbol` is never constructed [INFO] [stdout] --> src/days/day03.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | struct Symbol { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EngineLine` is never constructed [INFO] [stdout] --> src/days/day03.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | struct EngineLine { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_data_line` is never used [INFO] [stdout] --> src/days/day03.rs:82:4 [INFO] [stdout] | [INFO] [stdout] 82 | fn parse_data_line(data: &str, line_index: usize) -> EngineLine { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_part_next_to_symbol` is never used [INFO] [stdout] --> src/days/day03.rs:133:4 [INFO] [stdout] | [INFO] [stdout] 133 | fn is_part_next_to_symbol(p: &Part, engine: &Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_line_for_symbol` is never used [INFO] [stdout] --> src/days/day03.rs:152:4 [INFO] [stdout] | [INFO] [stdout] 152 | fn check_line_for_symbol(p: &Part, line: &EngineLine) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/days/day03.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 169 | pub fn part2() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_symbol_gear_ratio` is never used [INFO] [stdout] --> src/days/day03.rs:194:4 [INFO] [stdout] | [INFO] [stdout] 194 | fn get_symbol_gear_ratio(s: &Symbol, engine: &Vec) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_line_for_parts` is never used [INFO] [stdout] --> src/days/day03.rs:210:4 [INFO] [stdout] | [INFO] [stdout] 210 | fn check_line_for_parts<'a>(s: &Symbol, line: &'a EngineLine) -> Vec<&'a Part> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/days/day04.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let mut sum = 0; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_DATA` is never used [INFO] [stdout] --> src/days/day01.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | const TEST_DATA: [&str; 4] = ["1abc2", "pqr3stu8vwx", "a1b2c3d4e5f", "treb7uchet"]; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_DATA2` is never used [INFO] [stdout] --> src/days/day01.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const TEST_DATA2: [&str; 7] = [ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NUMBER_STRS` is never used [INFO] [stdout] --> src/days/day01.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const NUMBER_STRS: [&str; 10] = [ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/days/day01.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn part1() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first_int` is never used [INFO] [stdout] --> src/days/day01.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn first_int(my_str: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `last_int` is never used [INFO] [stdout] --> src/days/day01.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn last_int(my_str: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/days/day01.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn part2() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_string_for_string` is never used [INFO] [stdout] --> src/days/day01.rs:64:4 [INFO] [stdout] | [INFO] [stdout] 64 | fn check_string_for_string( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_string_for_last_string` is never used [INFO] [stdout] --> src/days/day01.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn check_string_for_last_string( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first_int_str` is never used [INFO] [stdout] --> src/days/day01.rs:104:4 [INFO] [stdout] | [INFO] [stdout] 104 | fn first_int_str(my_str: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `last_int_str` is never used [INFO] [stdout] --> src/days/day01.rs:124:4 [INFO] [stdout] | [INFO] [stdout] 124 | fn last_int_str(my_str: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_DATA` is never used [INFO] [stdout] --> src/days/day02.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const TEST_DATA: [&str; 5] = [ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Round` is never constructed [INFO] [stdout] --> src/days/day02.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | struct Round { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Game` is never constructed [INFO] [stdout] --> src/days/day02.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | struct Game { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_game` is never used [INFO] [stdout] --> src/days/day02.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn parse_game(game_str: &str) -> Game { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/days/day02.rs:81:8 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn part1() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/days/day02.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn part2() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_game` is never used [INFO] [stdout] --> src/days/day02.rs:103:4 [INFO] [stdout] | [INFO] [stdout] 103 | fn check_game(g: &Game) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_game_power` is never used [INFO] [stdout] --> src/days/day02.rs:115:4 [INFO] [stdout] | [INFO] [stdout] 115 | fn get_game_power(g: &Game) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_DATA` is never used [INFO] [stdout] --> src/days/day03.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const TEST_DATA: [&str; 10] = [ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/days/day03.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn part1() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Part` is never constructed [INFO] [stdout] --> src/days/day03.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | struct Part { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Symbol` is never constructed [INFO] [stdout] --> src/days/day03.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | struct Symbol { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EngineLine` is never constructed [INFO] [stdout] --> src/days/day03.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | struct EngineLine { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_data_line` is never used [INFO] [stdout] --> src/days/day03.rs:82:4 [INFO] [stdout] | [INFO] [stdout] 82 | fn parse_data_line(data: &str, line_index: usize) -> EngineLine { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_part_next_to_symbol` is never used [INFO] [stdout] --> src/days/day03.rs:133:4 [INFO] [stdout] | [INFO] [stdout] 133 | fn is_part_next_to_symbol(p: &Part, engine: &Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_line_for_symbol` is never used [INFO] [stdout] --> src/days/day03.rs:152:4 [INFO] [stdout] | [INFO] [stdout] 152 | fn check_line_for_symbol(p: &Part, line: &EngineLine) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/days/day03.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 169 | pub fn part2() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_symbol_gear_ratio` is never used [INFO] [stdout] --> src/days/day03.rs:194:4 [INFO] [stdout] | [INFO] [stdout] 194 | fn get_symbol_gear_ratio(s: &Symbol, engine: &Vec) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_line_for_parts` is never used [INFO] [stdout] --> src/days/day03.rs:210:4 [INFO] [stdout] | [INFO] [stdout] 210 | fn check_line_for_parts<'a>(s: &Symbol, line: &'a EngineLine) -> Vec<&'a Part> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_DATA` is never used [INFO] [stdout] --> src/days/day04.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const TEST_DATA: [&str; 6] = [ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/days/day04.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | struct Card { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 17 | id: i32, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Card` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/days/day04.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn part1() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_DATA` is never used [INFO] [stdout] --> src/days/day04.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const TEST_DATA: [&str; 6] = [ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/days/day04.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | struct Card { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 17 | id: i32, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Card` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/days/day04.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn part1() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.80s [INFO] running `Command { std: "docker" "inspect" "9e41b0f0a393e304755add3cfe2e53bcd98a2bebdda44109f9f6eac3c52fb5d8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9e41b0f0a393e304755add3cfe2e53bcd98a2bebdda44109f9f6eac3c52fb5d8", kill_on_drop: false }` [INFO] [stdout] 9e41b0f0a393e304755add3cfe2e53bcd98a2bebdda44109f9f6eac3c52fb5d8