[INFO] cloning repository https://github.com/lunarised/AdventOfCode2024
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lunarised/AdventOfCode2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flunarised%2FAdventOfCode2024", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flunarised%2FAdventOfCode2024'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e52895160a60144eb972414ea6e31dc36b4b8229
[INFO] testing lunarised/AdventOfCode2024 against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flunarised%2FAdventOfCode2024" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/lunarised/AdventOfCode2024
[INFO] finished tweaking git repo https://github.com/lunarised/AdventOfCode2024
[INFO] tweaked toml for git repo https://github.com/lunarised/AdventOfCode2024 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lunarised/AdventOfCode2024 on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/lunarised/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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9fa247c25062d97801fe6c22ab990f1d064aff1747a9611dfa79d6e9d3bc5f99
[INFO] running `Command { std: "docker" "start" "-a" "9fa247c25062d97801fe6c22ab990f1d064aff1747a9611dfa79d6e9d3bc5f99", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9fa247c25062d97801fe6c22ab990f1d064aff1747a9611dfa79d6e9d3bc5f99", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9fa247c25062d97801fe6c22ab990f1d064aff1747a9611dfa79d6e9d3bc5f99", kill_on_drop: false }`
[INFO] [stdout] 9fa247c25062d97801fe6c22ab990f1d064aff1747a9611dfa79d6e9d3bc5f99
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b7e61a319f0a559a41fe3db28372f5e50dac2b808bf4573b334dbd75f065493e
[INFO] running `Command { std: "docker" "start" "-a" "b7e61a319f0a559a41fe3db28372f5e50dac2b808bf4573b334dbd75f065493e", kill_on_drop: false }`
[INFO] [stderr]    Compiling AoC2024 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `core::error`
[INFO] [stdout]  --> src/day02.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::error;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]   --> src/day02.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 |     while(safe){
[INFO] [stdout]    |          ^    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 48 -     while(safe){
[INFO] [stdout] 48 +     while safe {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/day02.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 |         match (new_value) {
[INFO] [stdout]    |               ^         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 50 -         match (new_value) {
[INFO] [stdout] 50 +         match new_value {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day02.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 |         if (new_value_int > last && direction == 0) {direction = 1;} 
[INFO] [stdout]    |            ^                                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 58 -         if (new_value_int > last && direction == 0) {direction = 1;} 
[INFO] [stdout] 58 +         if new_value_int > last && direction == 0 {direction = 1;} 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day02.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |         if (new_value_int < last && direction == 0) {direction = -1;} 
[INFO] [stdout]    |            ^                                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -         if (new_value_int < last && direction == 0) {direction = -1;} 
[INFO] [stdout] 59 +         if new_value_int < last && direction == 0 {direction = -1;} 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day02.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 |         if (new_value_int > last && direction == -1) {return false} 
[INFO] [stdout]    |            ^                                       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 62 -         if (new_value_int > last && direction == -1) {return false} 
[INFO] [stdout] 62 +         if new_value_int > last && direction == -1 {return false} 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day02.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |         if (new_value_int < last && direction == 1) {return false}
[INFO] [stdout]    |            ^                                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 63 -         if (new_value_int < last && direction == 1) {return false}
[INFO] [stdout] 63 +         if new_value_int < last && direction == 1 {return false}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day02.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 |         if ((new_value_int - last).abs() > 3) { return false;} 
[INFO] [stdout]    |            ^                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 65 -         if ((new_value_int - last).abs() > 3) { return false;} 
[INFO] [stdout] 65 +         if (new_value_int - last).abs() > 3 { return false;} 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/day02.rs:115:16
[INFO] [stdout]     |
[INFO] [stdout] 115 |         return (check_safe(left_remove) || check_safe(right_remove));
[INFO] [stdout]     |                ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 115 -         return (check_safe(left_remove) || check_safe(right_remove));
[INFO] [stdout] 115 +         return check_safe(left_remove) || check_safe(right_remove);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/day02.rs:127:20
[INFO] [stdout]     |
[INFO] [stdout] 127 |             return (check_safe(left_remove) || check_safe(right_remove));
[INFO] [stdout]     |                    ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 127 -             return (check_safe(left_remove) || check_safe(right_remove));
[INFO] [stdout] 127 +             return check_safe(left_remove) || check_safe(right_remove);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/day02.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let mut values = line.split_whitespace();
[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: unused variable: `new_value`
[INFO] [stdout]   --> src/day02.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 51 |             Some(new_value) => {} ,
[INFO] [stdout]    |                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_value`
[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/day02.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut safe = true;
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `error_index` is never read
[INFO] [stdout]    --> src/day02.rs:110:30
[INFO] [stdout]     |
[INFO] [stdout] 110 |         if direction == -1 { error_index = i as i32;
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `error_index` is never read
[INFO] [stdout]    --> src/day02.rs:122:28
[INFO] [stdout]     |
[INFO] [stdout] 122 |         if direction == 1 {error_index = i as i32;
[INFO] [stdout]     |                            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.05s
[INFO] running `Command { std: "docker" "inspect" "b7e61a319f0a559a41fe3db28372f5e50dac2b808bf4573b334dbd75f065493e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b7e61a319f0a559a41fe3db28372f5e50dac2b808bf4573b334dbd75f065493e", kill_on_drop: false }`
[INFO] [stdout] b7e61a319f0a559a41fe3db28372f5e50dac2b808bf4573b334dbd75f065493e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a1f5f62f49ec5b52999a747a3c10951554801558f029b333a7ba686b3c9e2a5e
[INFO] running `Command { std: "docker" "start" "-a" "a1f5f62f49ec5b52999a747a3c10951554801558f029b333a7ba686b3c9e2a5e", kill_on_drop: false }`
[INFO] [stderr]    Compiling AoC2024 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `core::error`
[INFO] [stdout]  --> src/day02.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::error;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]   --> src/day02.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 |     while(safe){
[INFO] [stdout]    |          ^    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 48 -     while(safe){
[INFO] [stdout] 48 +     while safe {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/day02.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 |         match (new_value) {
[INFO] [stdout]    |               ^         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 50 -         match (new_value) {
[INFO] [stdout] 50 +         match new_value {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day02.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 |         if (new_value_int > last && direction == 0) {direction = 1;} 
[INFO] [stdout]    |            ^                                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 58 -         if (new_value_int > last && direction == 0) {direction = 1;} 
[INFO] [stdout] 58 +         if new_value_int > last && direction == 0 {direction = 1;} 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day02.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |         if (new_value_int < last && direction == 0) {direction = -1;} 
[INFO] [stdout]    |            ^                                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -         if (new_value_int < last && direction == 0) {direction = -1;} 
[INFO] [stdout] 59 +         if new_value_int < last && direction == 0 {direction = -1;} 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day02.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 |         if (new_value_int > last && direction == -1) {return false} 
[INFO] [stdout]    |            ^                                       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 62 -         if (new_value_int > last && direction == -1) {return false} 
[INFO] [stdout] 62 +         if new_value_int > last && direction == -1 {return false} 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day02.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |         if (new_value_int < last && direction == 1) {return false}
[INFO] [stdout]    |            ^                                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 63 -         if (new_value_int < last && direction == 1) {return false}
[INFO] [stdout] 63 +         if new_value_int < last && direction == 1 {return false}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day02.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 |         if ((new_value_int - last).abs() > 3) { return false;} 
[INFO] [stdout]    |            ^                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 65 -         if ((new_value_int - last).abs() > 3) { return false;} 
[INFO] [stdout] 65 +         if (new_value_int - last).abs() > 3 { return false;} 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/day02.rs:115:16
[INFO] [stdout]     |
[INFO] [stdout] 115 |         return (check_safe(left_remove) || check_safe(right_remove));
[INFO] [stdout]     |                ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 115 -         return (check_safe(left_remove) || check_safe(right_remove));
[INFO] [stdout] 115 +         return check_safe(left_remove) || check_safe(right_remove);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/day02.rs:127:20
[INFO] [stdout]     |
[INFO] [stdout] 127 |             return (check_safe(left_remove) || check_safe(right_remove));
[INFO] [stdout]     |                    ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 127 -             return (check_safe(left_remove) || check_safe(right_remove));
[INFO] [stdout] 127 +             return check_safe(left_remove) || check_safe(right_remove);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/day02.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let mut values = line.split_whitespace();
[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: unused variable: `new_value`
[INFO] [stdout]   --> src/day02.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 51 |             Some(new_value) => {} ,
[INFO] [stdout]    |                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_value`
[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/day02.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut safe = true;
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `error_index` is never read
[INFO] [stdout]    --> src/day02.rs:110:30
[INFO] [stdout]     |
[INFO] [stdout] 110 |         if direction == -1 { error_index = i as i32;
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `error_index` is never read
[INFO] [stdout]    --> src/day02.rs:122:28
[INFO] [stdout]     |
[INFO] [stdout] 122 |         if direction == 1 {error_index = i as i32;
[INFO] [stdout]     |                            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.27s
[INFO] running `Command { std: "docker" "inspect" "a1f5f62f49ec5b52999a747a3c10951554801558f029b333a7ba686b3c9e2a5e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a1f5f62f49ec5b52999a747a3c10951554801558f029b333a7ba686b3c9e2a5e", kill_on_drop: false }`
[INFO] [stdout] a1f5f62f49ec5b52999a747a3c10951554801558f029b333a7ba686b3c9e2a5e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ca2c8525184d6bef8981cf8ba7dbe2355bc2e9d2bd7938bf906f6593198e6b6e
[INFO] running `Command { std: "docker" "start" "-a" "ca2c8525184d6bef8981cf8ba7dbe2355bc2e9d2bd7938bf906f6593198e6b6e", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `core::error`
[INFO] [stderr]  --> src/day02.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use core::error;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `while` condition
[INFO] [stderr]   --> src/day02.rs:48:10
[INFO] [stderr]    |
[INFO] [stderr] 48 |     while(safe){
[INFO] [stderr]    |          ^    ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 48 -     while(safe){
[INFO] [stderr] 48 +     while safe {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stderr]   --> src/day02.rs:50:15
[INFO] [stderr]    |
[INFO] [stderr] 50 |         match (new_value) {
[INFO] [stderr]    |               ^         ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 50 -         match (new_value) {
[INFO] [stderr] 50 +         match new_value {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/day02.rs:58:12
[INFO] [stderr]    |
[INFO] [stderr] 58 |         if (new_value_int > last && direction == 0) {direction = 1;} 
[INFO] [stderr]    |            ^                                      ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 58 -         if (new_value_int > last && direction == 0) {direction = 1;} 
[INFO] [stderr] 58 +         if new_value_int > last && direction == 0 {direction = 1;} 
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/day02.rs:59:12
[INFO] [stderr]    |
[INFO] [stderr] 59 |         if (new_value_int < last && direction == 0) {direction = -1;} 
[INFO] [stderr]    |            ^                                      ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 59 -         if (new_value_int < last && direction == 0) {direction = -1;} 
[INFO] [stderr] 59 +         if new_value_int < last && direction == 0 {direction = -1;} 
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/day02.rs:62:12
[INFO] [stderr]    |
[INFO] [stderr] 62 |         if (new_value_int > last && direction == -1) {return false} 
[INFO] [stderr]    |            ^                                       ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 62 -         if (new_value_int > last && direction == -1) {return false} 
[INFO] [stderr] 62 +         if new_value_int > last && direction == -1 {return false} 
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/day02.rs:63:12
[INFO] [stderr]    |
[INFO] [stderr] 63 |         if (new_value_int < last && direction == 1) {return false}
[INFO] [stderr]    |            ^                                      ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 63 -         if (new_value_int < last && direction == 1) {return false}
[INFO] [stderr] 63 +         if new_value_int < last && direction == 1 {return false}
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/day02.rs:65:12
[INFO] [stderr]    |
[INFO] [stderr] 65 |         if ((new_value_int - last).abs() > 3) { return false;} 
[INFO] [stderr]    |            ^                                ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 65 -         if ((new_value_int - last).abs() > 3) { return false;} 
[INFO] [stderr] 65 +         if (new_value_int - last).abs() > 3 { return false;} 
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `return` value
[INFO] [stderr]    --> src/day02.rs:115:16
[INFO] [stderr]     |
[INFO] [stderr] 115 |         return (check_safe(left_remove) || check_safe(right_remove));
[INFO] [stderr]     |                ^                                                   ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 115 -         return (check_safe(left_remove) || check_safe(right_remove));
[INFO] [stderr] 115 +         return check_safe(left_remove) || check_safe(right_remove);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `return` value
[INFO] [stderr]    --> src/day02.rs:127:20
[INFO] [stderr]     |
[INFO] [stderr] 127 |             return (check_safe(left_remove) || check_safe(right_remove));
[INFO] [stderr]     |                    ^                                                   ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 127 -             return (check_safe(left_remove) || check_safe(right_remove));
[INFO] [stderr] 127 +             return check_safe(left_remove) || check_safe(right_remove);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]  --> src/day02.rs:8:9
[INFO] [stderr]   |
[INFO] [stderr] 8 |     let mut values = line.split_whitespace();
[INFO] [stderr]   |         ----^^^^^^
[INFO] [stderr]   |         |
[INFO] [stderr]   |         help: remove this `mut`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `new_value`
[INFO] [stderr]   --> src/day02.rs:51:18
[INFO] [stderr]    |
[INFO] [stderr] 51 |             Some(new_value) => {} ,
[INFO] [stderr]    |                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_value`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/day02.rs:45:9
[INFO] [stderr]    |
[INFO] [stderr] 45 |     let mut safe = true;
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `error_index` is never read
[INFO] [stderr]    --> src/day02.rs:110:30
[INFO] [stderr]     |
[INFO] [stderr] 110 |         if direction == -1 { error_index = i as i32;
[INFO] [stderr]     |                              ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `error_index` is never read
[INFO] [stderr]    --> src/day02.rs:122:28
[INFO] [stderr]     |
[INFO] [stderr] 122 |         if direction == 1 {error_index = i as i32;
[INFO] [stderr]     |                            ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: `AoC2024` (bin "AoC2024" test) generated 15 warnings (run `cargo fix --bin "AoC2024" --tests` to apply 12 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/AoC2024-3fde54612f4e557f)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test day01::tests::part1_test ... ok
[INFO] [stdout] test day02::tests::debug ... ok
[INFO] [stdout] test day02::tests::part2_test ... ok
[INFO] [stdout] test day01::tests::part2_test ... ok
[INFO] [stdout] test day02::tests::part1_test ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ca2c8525184d6bef8981cf8ba7dbe2355bc2e9d2bd7938bf906f6593198e6b6e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca2c8525184d6bef8981cf8ba7dbe2355bc2e9d2bd7938bf906f6593198e6b6e", kill_on_drop: false }`
[INFO] [stdout] ca2c8525184d6bef8981cf8ba7dbe2355bc2e9d2bd7938bf906f6593198e6b6e
