[INFO] cloning repository https://github.com/Gerryflap/advent_of_code_2022
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Gerryflap/advent_of_code_2022" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGerryflap%2Fadvent_of_code_2022", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGerryflap%2Fadvent_of_code_2022'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 60bf2be0962e7e1522a1a42a64930cee34e5df55
[INFO] checking Gerryflap/advent_of_code_2022 against try#b1f2594eac607c1f051534800237eeedb5590a49 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGerryflap%2Fadvent_of_code_2022" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Gerryflap/advent_of_code_2022
[INFO] finished tweaking git repo https://github.com/Gerryflap/advent_of_code_2022
[INFO] tweaked toml for git repo https://github.com/Gerryflap/advent_of_code_2022 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Gerryflap/advent_of_code_2022 on toolchain b1f2594eac607c1f051534800237eeedb5590a49
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Gerryflap/advent_of_code_2022 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" "+b1f2594eac607c1f051534800237eeedb5590a49" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 345bf1a655af360d7ea20548fe3df2c4c095d0c7dad8860732a529ed418ec3bf
[INFO] running `Command { std: "docker" "start" "-a" "345bf1a655af360d7ea20548fe3df2c4c095d0c7dad8860732a529ed418ec3bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "345bf1a655af360d7ea20548fe3df2c4c095d0c7dad8860732a529ed418ec3bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "345bf1a655af360d7ea20548fe3df2c4c095d0c7dad8860732a529ed418ec3bf", kill_on_drop: false }`
[INFO] [stdout] 345bf1a655af360d7ea20548fe3df2c4c095d0c7dad8860732a529ed418ec3bf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 71428656d2a7999c57941ce2ebe6228a569319f0d1d44e2f95241570772161c2
[INFO] running `Command { std: "docker" "start" "-a" "71428656d2a7999c57941ce2ebe6228a569319f0d1d44e2f95241570772161c2", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]     Checking either v1.8.0
[INFO] [stderr]     Checking regex-syntax v0.6.28
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking aho-corasick v0.7.20
[INFO] [stderr]     Checking regex v1.7.0
[INFO] [stderr]     Checking advent_of_code_2022 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `Day01` is never constructed
[INFO] [stdout]  --> src/solutions/day_01.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Day01;
[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 `q1` is never used
[INFO] [stdout]   --> src/solutions/day_01.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn q1(inp: &str) -> String {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q2` is never used
[INFO] [stdout]   --> src/solutions/day_01.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn q2(inp: &str) -> String {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `subseq_to_val` is never used
[INFO] [stdout]   --> src/solutions/day_01.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn subseq_to_val(subseq: &str) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day02` is never constructed
[INFO] [stdout]  --> src/solutions/day_02.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Day02;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q1` is never used
[INFO] [stdout]   --> src/solutions/day_02.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn q1(inp: &str) -> i64 {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q2` is never used
[INFO] [stdout]   --> src/solutions/day_02.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn q2(inp: &str) -> i64 {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `outcome_points` is never used
[INFO] [stdout]   --> src/solutions/day_02.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn outcome_points(inp_line: &str) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `choice_points` is never used
[INFO] [stdout]   --> src/solutions/day_02.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn choice_points(inp_line: &str) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q2_to_q1_converter` is never used
[INFO] [stdout]   --> src/solutions/day_02.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn q2_to_q1_converter(inp_line: &str) -> &str {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day03` is never constructed
[INFO] [stdout]  --> src/solutions/day_03.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Day03;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q1` is never used
[INFO] [stdout]   --> src/solutions/day_03.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn q1(inp: &str) -> u64 {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q2` is never used
[INFO] [stdout]   --> src/solutions/day_03.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn q2(inp: &str) -> u64 {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `intersect` is never used
[INFO] [stdout]   --> src/solutions/day_03.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn intersect(first: HashSet<char>, second: HashSet<char>) -> HashSet<char> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_common_char` is never used
[INFO] [stdout]   --> src/solutions/day_03.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn get_common_char(inp_line: &str) -> char {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_char_score` is never used
[INFO] [stdout]   --> src/solutions/day_03.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn compute_char_score(chr: char) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day04` is never constructed
[INFO] [stdout]  --> src/solutions/day_04.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Day04;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q1` is never used
[INFO] [stdout]   --> src/solutions/day_04.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn q1(inp: &str) -> usize {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q2` is never used
[INFO] [stdout]   --> src/solutions/day_04.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn q2(inp: &str) -> usize {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Range` is never constructed
[INFO] [stdout]   --> src/solutions/day_04.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct Range {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fully_contains` is never used
[INFO] [stdout]   --> src/solutions/day_04.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn fully_contains(a: &Range, b: &Range) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bidirectional_fully_contains` is never used
[INFO] [stdout]   --> src/solutions/day_04.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn bidirectional_fully_contains(a: &Range, b: &Range) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_range` is never used
[INFO] [stdout]   --> src/solutions/day_04.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn parse_range(text: &str) -> Range {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q1_line_ranges_fully_contain` is never used
[INFO] [stdout]   --> src/solutions/day_04.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn q1_line_ranges_fully_contain(line: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `overlap` is never used
[INFO] [stdout]   --> src/solutions/day_04.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn overlap(a: &Range, b: &Range) -> bool {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q2_line_ranges_overlap` is never used
[INFO] [stdout]   --> src/solutions/day_04.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn q2_line_ranges_overlap(line: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day05` is never constructed
[INFO] [stdout]   --> src/solutions/day_05.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Day05;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q1` is never used
[INFO] [stdout]   --> src/solutions/day_05.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn q1(inp: &str) -> String {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q2` is never used
[INFO] [stdout]   --> src/solutions/day_05.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn q2(inp: &str) -> String {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_input` is never used
[INFO] [stdout]   --> src/solutions/day_05.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn parse_input(inp: &str) -> Vec<LinkedList<char>> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fill_stacks_from_str` is never used
[INFO] [stdout]   --> src/solutions/day_05.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn fill_stacks_from_str(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_line_of_crates_and_add_to_stack` is never used
[INFO] [stdout]   --> src/solutions/day_05.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn parse_line_of_crates_and_add_to_stack(i: usize, line: &str, stacks: &mut Vec<LinkedList<char>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MoveCommand` is never constructed
[INFO] [stdout]   --> src/solutions/day_05.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | struct MoveCommand {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_command_line` is never used
[INFO] [stdout]    --> src/solutions/day_05.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn parse_command_line(line: &str) -> Option<MoveCommand> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_command` is never used
[INFO] [stdout]    --> src/solutions/day_05.rs:113:4
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn execute_command(cmd: &MoveCommand, stacks: &mut [LinkedList<char>]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_command_q2` is never used
[INFO] [stdout]    --> src/solutions/day_05.rs:120:4
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn execute_command_q2(cmd: &MoveCommand, stacks: &mut [LinkedList<char>]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day06` is never constructed
[INFO] [stdout]  --> src/solutions/day_06.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Day06;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q1` is never used
[INFO] [stdout]   --> src/solutions/day_06.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn q1(inp: &str) -> usize {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_and_check_q1` is never used
[INFO] [stdout]   --> src/solutions/day_06.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn append_and_check_q1(ll: &mut LinkedList<char>, chr: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q2` is never used
[INFO] [stdout]   --> src/solutions/day_06.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn q2(inp: &str) -> usize {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_and_check_q2` is never used
[INFO] [stdout]   --> src/solutions/day_06.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn append_and_check_q2(ll: &mut LinkedList<char>, chr: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/solutions/day_07.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct File {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] 37 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `File` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DayPreparation` is never constructed
[INFO] [stdout]  --> src/solutions/preparation.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct DayPreparation;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_lines` is never used
[INFO] [stdout]   --> src/solutions/preparation.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn parse_lines(inp: &str) -> Vec<i64> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_increases` is never used
[INFO] [stdout]   --> src/solutions/preparation.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn count_increases(inp: Vec<i64>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day01` is never constructed
[INFO] [stdout]  --> src/solutions/day_01.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Day01;
[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 `q1` is never used
[INFO] [stdout]   --> src/solutions/day_01.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn q1(inp: &str) -> String {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q2` is never used
[INFO] [stdout]   --> src/solutions/day_01.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn q2(inp: &str) -> String {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `subseq_to_val` is never used
[INFO] [stdout]   --> src/solutions/day_01.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn subseq_to_val(subseq: &str) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day02` is never constructed
[INFO] [stdout]  --> src/solutions/day_02.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Day02;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q1` is never used
[INFO] [stdout]   --> src/solutions/day_02.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn q1(inp: &str) -> i64 {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q2` is never used
[INFO] [stdout]   --> src/solutions/day_02.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn q2(inp: &str) -> i64 {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `outcome_points` is never used
[INFO] [stdout]   --> src/solutions/day_02.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn outcome_points(inp_line: &str) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `choice_points` is never used
[INFO] [stdout]   --> src/solutions/day_02.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn choice_points(inp_line: &str) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q2_to_q1_converter` is never used
[INFO] [stdout]   --> src/solutions/day_02.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn q2_to_q1_converter(inp_line: &str) -> &str {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day03` is never constructed
[INFO] [stdout]  --> src/solutions/day_03.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Day03;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q1` is never used
[INFO] [stdout]   --> src/solutions/day_03.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn q1(inp: &str) -> u64 {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q2` is never used
[INFO] [stdout]   --> src/solutions/day_03.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn q2(inp: &str) -> u64 {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `intersect` is never used
[INFO] [stdout]   --> src/solutions/day_03.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn intersect(first: HashSet<char>, second: HashSet<char>) -> HashSet<char> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_common_char` is never used
[INFO] [stdout]   --> src/solutions/day_03.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn get_common_char(inp_line: &str) -> char {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_char_score` is never used
[INFO] [stdout]   --> src/solutions/day_03.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn compute_char_score(chr: char) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day04` is never constructed
[INFO] [stdout]  --> src/solutions/day_04.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Day04;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q1` is never used
[INFO] [stdout]   --> src/solutions/day_04.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn q1(inp: &str) -> usize {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q2` is never used
[INFO] [stdout]   --> src/solutions/day_04.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn q2(inp: &str) -> usize {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Range` is never constructed
[INFO] [stdout]   --> src/solutions/day_04.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct Range {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fully_contains` is never used
[INFO] [stdout]   --> src/solutions/day_04.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn fully_contains(a: &Range, b: &Range) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bidirectional_fully_contains` is never used
[INFO] [stdout]   --> src/solutions/day_04.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn bidirectional_fully_contains(a: &Range, b: &Range) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_range` is never used
[INFO] [stdout]   --> src/solutions/day_04.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn parse_range(text: &str) -> Range {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q1_line_ranges_fully_contain` is never used
[INFO] [stdout]   --> src/solutions/day_04.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn q1_line_ranges_fully_contain(line: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `overlap` is never used
[INFO] [stdout]   --> src/solutions/day_04.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn overlap(a: &Range, b: &Range) -> bool {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q2_line_ranges_overlap` is never used
[INFO] [stdout]   --> src/solutions/day_04.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn q2_line_ranges_overlap(line: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day05` is never constructed
[INFO] [stdout]   --> src/solutions/day_05.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Day05;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q1` is never used
[INFO] [stdout]   --> src/solutions/day_05.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn q1(inp: &str) -> String {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q2` is never used
[INFO] [stdout]   --> src/solutions/day_05.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn q2(inp: &str) -> String {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_input` is never used
[INFO] [stdout]   --> src/solutions/day_05.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn parse_input(inp: &str) -> Vec<LinkedList<char>> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fill_stacks_from_str` is never used
[INFO] [stdout]   --> src/solutions/day_05.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn fill_stacks_from_str(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_line_of_crates_and_add_to_stack` is never used
[INFO] [stdout]   --> src/solutions/day_05.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn parse_line_of_crates_and_add_to_stack(i: usize, line: &str, stacks: &mut Vec<LinkedList<char>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MoveCommand` is never constructed
[INFO] [stdout]   --> src/solutions/day_05.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | struct MoveCommand {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_command_line` is never used
[INFO] [stdout]    --> src/solutions/day_05.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn parse_command_line(line: &str) -> Option<MoveCommand> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_command` is never used
[INFO] [stdout]    --> src/solutions/day_05.rs:113:4
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn execute_command(cmd: &MoveCommand, stacks: &mut [LinkedList<char>]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_command_q2` is never used
[INFO] [stdout]    --> src/solutions/day_05.rs:120:4
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn execute_command_q2(cmd: &MoveCommand, stacks: &mut [LinkedList<char>]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day06` is never constructed
[INFO] [stdout]  --> src/solutions/day_06.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Day06;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q1` is never used
[INFO] [stdout]   --> src/solutions/day_06.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn q1(inp: &str) -> usize {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_and_check_q1` is never used
[INFO] [stdout]   --> src/solutions/day_06.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn append_and_check_q1(ll: &mut LinkedList<char>, chr: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q2` is never used
[INFO] [stdout]   --> src/solutions/day_06.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn q2(inp: &str) -> usize {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_and_check_q2` is never used
[INFO] [stdout]   --> src/solutions/day_06.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn append_and_check_q2(ll: &mut LinkedList<char>, chr: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/solutions/day_07.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct File {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] 37 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `File` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DayPreparation` is never constructed
[INFO] [stdout]  --> src/solutions/preparation.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct DayPreparation;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_lines` is never used
[INFO] [stdout]   --> src/solutions/preparation.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn parse_lines(inp: &str) -> Vec<i64> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_increases` is never used
[INFO] [stdout]   --> src/solutions/preparation.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn count_increases(inp: Vec<i64>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.35s
[INFO] running `Command { std: "docker" "inspect" "71428656d2a7999c57941ce2ebe6228a569319f0d1d44e2f95241570772161c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "71428656d2a7999c57941ce2ebe6228a569319f0d1d44e2f95241570772161c2", kill_on_drop: false }`
[INFO] [stdout] 71428656d2a7999c57941ce2ebe6228a569319f0d1d44e2f95241570772161c2
