[INFO] cloning repository https://github.com/revkae/AdventOfCode2024
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/revkae/AdventOfCode2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frevkae%2FAdventOfCode2024", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frevkae%2FAdventOfCode2024'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6c0dd46998ecc931ff3da694a02bb4fc2c3efc70
[INFO] checking revkae/AdventOfCode2024 against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frevkae%2FAdventOfCode2024" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/revkae/AdventOfCode2024
[INFO] finished tweaking git repo https://github.com/revkae/AdventOfCode2024
[INFO] tweaked toml for git repo https://github.com/revkae/AdventOfCode2024 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/revkae/AdventOfCode2024 on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/revkae/AdventOfCode2024 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" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7f40c3592a727aaae327db5bfde970a5993a06ea4f63f7861ac839f05e551368
[INFO] running `Command { std: "docker" "start" "-a" "7f40c3592a727aaae327db5bfde970a5993a06ea4f63f7861ac839f05e551368", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7f40c3592a727aaae327db5bfde970a5993a06ea4f63f7861ac839f05e551368", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7f40c3592a727aaae327db5bfde970a5993a06ea4f63f7861ac839f05e551368", kill_on_drop: false }`
[INFO] [stdout] 7f40c3592a727aaae327db5bfde970a5993a06ea4f63f7861ac839f05e551368
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 71129b88e0e6cc5d59771ba4e86fb50829430aa71a5ff3c47dbfcc994e42b3c2
[INFO] running `Command { std: "docker" "start" "-a" "71129b88e0e6cc5d59771ba4e86fb50829430aa71a5ff3c47dbfcc994e42b3c2", kill_on_drop: false }`
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking AdventOfCode2024 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::str::Chars`
[INFO] [stdout]  --> src/day3/part1/corrupted_memory.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::Chars;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:18:20
[INFO] [stdout]    |
[INFO] [stdout] 18 |             sum += (result.1.parse::<i32>().unwrap() * result.2.parse::<i32>().unwrap());
[INFO] [stdout]    |                    ^                                                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 18 -             sum += (result.1.parse::<i32>().unwrap() * result.2.parse::<i32>().unwrap());
[INFO] [stdout] 18 +             sum += result.1.parse::<i32>().unwrap() * result.2.parse::<i32>().unwrap() ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     while true {
[INFO] [stdout]    |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     while true {
[INFO] [stdout]    |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::Chars`
[INFO] [stdout]  --> src/day3/part2/corrupted_memory.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::Chars;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |             sum += (result.1.parse::<i32>().unwrap() * result.2.parse::<i32>().unwrap());
[INFO] [stdout]    |                    ^                                                                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 -             sum += (result.1.parse::<i32>().unwrap() * result.2.parse::<i32>().unwrap());
[INFO] [stdout] 26 +             sum += result.1.parse::<i32>().unwrap() * result.2.parse::<i32>().unwrap() ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     while true {
[INFO] [stdout]    |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     while true {
[INFO] [stdout]    |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::Chars`
[INFO] [stdout]  --> src/day4/part1/xmas_word.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::Chars;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::Chars`
[INFO] [stdout]  --> src/day4/part2/xmas_word.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::Chars;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::Chars`
[INFO] [stdout]  --> src/day3/part1/corrupted_memory.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::Chars;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:18:20
[INFO] [stdout]    |
[INFO] [stdout] 18 |             sum += (result.1.parse::<i32>().unwrap() * result.2.parse::<i32>().unwrap());
[INFO] [stdout]    |                    ^                                                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 18 -             sum += (result.1.parse::<i32>().unwrap() * result.2.parse::<i32>().unwrap());
[INFO] [stdout] 18 +             sum += result.1.parse::<i32>().unwrap() * result.2.parse::<i32>().unwrap() ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     while true {
[INFO] [stdout]    |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     while true {
[INFO] [stdout]    |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::Chars`
[INFO] [stdout]  --> src/day3/part2/corrupted_memory.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::Chars;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |             sum += (result.1.parse::<i32>().unwrap() * result.2.parse::<i32>().unwrap());
[INFO] [stdout]    |                    ^                                                                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 -             sum += (result.1.parse::<i32>().unwrap() * result.2.parse::<i32>().unwrap());
[INFO] [stdout] 26 +             sum += result.1.parse::<i32>().unwrap() * result.2.parse::<i32>().unwrap() ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     while true {
[INFO] [stdout]    |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     while true {
[INFO] [stdout]    |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::Chars`
[INFO] [stdout]  --> src/day4/part1/xmas_word.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::Chars;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::Chars`
[INFO] [stdout]  --> src/day4/part2/xmas_word.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::Chars;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn check(start: char, memory: &str, index: usize) -> (bool, String, String) {
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn check(start: char, memory: &str, index: usize) -> (bool, String, String) {
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/day4/part2/xmas_word.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let target = ["M", "A", "S"];
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `directions`
[INFO] [stdout]   --> src/day4/part2/xmas_word.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let directions = [
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_directions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/day4/part2/xmas_word.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     for i in 0..3 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `problem` is never used
[INFO] [stdout]  --> src/day3/part1/corrupted_memory.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn problem() {
[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 `check` is never used
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn check(start: char, memory: &str, index: usize) -> (bool, String, String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_lines` is never used
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn load_lines() -> Lines<BufReader<File>> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `problem` is never used
[INFO] [stdout]  --> src/day3/part2/corrupted_memory.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn problem() {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn check(start: char, memory: &str, index: usize) -> (bool, String, String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_lines` is never used
[INFO] [stdout]    --> src/day3/part2/corrupted_memory.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn load_lines() -> Lines<BufReader<File>> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `problem` is never used
[INFO] [stdout]  --> src/day4/part1/xmas_word.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn problem() {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_direction` is never used
[INFO] [stdout]   --> src/day4/part1/xmas_word.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn check_direction(memory: &[Vec<String>], start_x: usize, start_y: usize, dx: isize, dy: isize, target: &[&str]) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_lines` is never used
[INFO] [stdout]   --> src/day4/part1/xmas_word.rs:66:4
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn load_lines() -> Lines<BufReader<File>> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `firstNumber` should have a snake case name
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut firstNumber = String::new();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `first_number`
[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 `secondNumber` should have a snake case name
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut secondNumber = String::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `second_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `foundFirstNumber` should have a snake case name
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut foundFirstNumber = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `found_first_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `foundSecondNumber` should have a snake case name
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut foundSecondNumber = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `found_second_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `foundComma` should have a snake case name
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut foundComma = false;
[INFO] [stdout]    |             ^^^^^^^^^^ help: convert the identifier to snake case: `found_comma`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `foundPar` should have a snake case name
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut foundPar = false;
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `found_par`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `firstNumber` should have a snake case name
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut firstNumber = String::new();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `first_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `secondNumber` should have a snake case name
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let mut secondNumber = String::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `second_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `foundFirstNumber` should have a snake case name
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let mut foundFirstNumber = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `found_first_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `foundSecondNumber` should have a snake case name
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut foundSecondNumber = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `found_second_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `foundComma` should have a snake case name
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut foundComma = false;
[INFO] [stdout]    |             ^^^^^^^^^^ help: convert the identifier to snake case: `found_comma`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `foundPar` should have a snake case name
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut foundPar = false;
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `found_par`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `all_As` should have a snake case name
[INFO] [stdout]   --> src/day4/part2/xmas_word.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut all_As: Vec<(usize, usize)> = Vec::new();
[INFO] [stdout]    |             ^^^^^^ help: convert the identifier to snake case: `all_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn check(start: char, memory: &str, index: usize) -> (bool, String, String) {
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn check(start: char, memory: &str, index: usize) -> (bool, String, String) {
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/day4/part2/xmas_word.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let target = ["M", "A", "S"];
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `directions`
[INFO] [stdout]   --> src/day4/part2/xmas_word.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let directions = [
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_directions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/day4/part2/xmas_word.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     for i in 0..3 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `problem` is never used
[INFO] [stdout]  --> src/day3/part1/corrupted_memory.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn problem() {
[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 `check` is never used
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn check(start: char, memory: &str, index: usize) -> (bool, String, String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_lines` is never used
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn load_lines() -> Lines<BufReader<File>> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `problem` is never used
[INFO] [stdout]  --> src/day3/part2/corrupted_memory.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn problem() {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn check(start: char, memory: &str, index: usize) -> (bool, String, String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_lines` is never used
[INFO] [stdout]    --> src/day3/part2/corrupted_memory.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn load_lines() -> Lines<BufReader<File>> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `problem` is never used
[INFO] [stdout]  --> src/day4/part1/xmas_word.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn problem() {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_direction` is never used
[INFO] [stdout]   --> src/day4/part1/xmas_word.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn check_direction(memory: &[Vec<String>], start_x: usize, start_y: usize, dx: isize, dy: isize, target: &[&str]) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_lines` is never used
[INFO] [stdout]   --> src/day4/part1/xmas_word.rs:66:4
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn load_lines() -> Lines<BufReader<File>> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `firstNumber` should have a snake case name
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut firstNumber = String::new();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `first_number`
[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 `secondNumber` should have a snake case name
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut secondNumber = String::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `second_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `foundFirstNumber` should have a snake case name
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut foundFirstNumber = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `found_first_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `foundSecondNumber` should have a snake case name
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut foundSecondNumber = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `found_second_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `foundComma` should have a snake case name
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut foundComma = false;
[INFO] [stdout]    |             ^^^^^^^^^^ help: convert the identifier to snake case: `found_comma`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `foundPar` should have a snake case name
[INFO] [stdout]   --> src/day3/part1/corrupted_memory.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut foundPar = false;
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `found_par`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `firstNumber` should have a snake case name
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut firstNumber = String::new();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `first_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `secondNumber` should have a snake case name
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let mut secondNumber = String::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `second_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `foundFirstNumber` should have a snake case name
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let mut foundFirstNumber = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `found_first_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `foundSecondNumber` should have a snake case name
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut foundSecondNumber = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `found_second_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `foundComma` should have a snake case name
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut foundComma = false;
[INFO] [stdout]    |             ^^^^^^^^^^ help: convert the identifier to snake case: `found_comma`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `foundPar` should have a snake case name
[INFO] [stdout]   --> src/day3/part2/corrupted_memory.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut foundPar = false;
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `found_par`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `all_As` should have a snake case name
[INFO] [stdout]   --> src/day4/part2/xmas_word.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut all_As: Vec<(usize, usize)> = Vec::new();
[INFO] [stdout]    |             ^^^^^^ help: convert the identifier to snake case: `all_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.85s
[INFO] running `Command { std: "docker" "inspect" "71129b88e0e6cc5d59771ba4e86fb50829430aa71a5ff3c47dbfcc994e42b3c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "71129b88e0e6cc5d59771ba4e86fb50829430aa71a5ff3c47dbfcc994e42b3c2", kill_on_drop: false }`
[INFO] [stdout] 71129b88e0e6cc5d59771ba4e86fb50829430aa71a5ff3c47dbfcc994e42b3c2
