[INFO] cloning repository https://github.com/katerd/aoc2023 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/katerd/aoc2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkaterd%2Faoc2023", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkaterd%2Faoc2023'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6a97a3726fa749ee727583e170bd578617a6ecf4 [INFO] checking katerd/aoc2023 against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkaterd%2Faoc2023" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/katerd/aoc2023 on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/katerd/aoc2023 [INFO] finished tweaking git repo https://github.com/katerd/aoc2023 [INFO] tweaked toml for git repo https://github.com/katerd/aoc2023 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/katerd/aoc2023 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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 93ab32fe95b118b42d18e9d35d238863e1085ddf7e76fa63f1ba3c9fbb3fa695 [INFO] running `Command { std: "docker" "start" "-a" "93ab32fe95b118b42d18e9d35d238863e1085ddf7e76fa63f1ba3c9fbb3fa695", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "93ab32fe95b118b42d18e9d35d238863e1085ddf7e76fa63f1ba3c9fbb3fa695", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "93ab32fe95b118b42d18e9d35d238863e1085ddf7e76fa63f1ba3c9fbb3fa695", kill_on_drop: false }` [INFO] [stdout] 93ab32fe95b118b42d18e9d35d238863e1085ddf7e76fa63f1ba3c9fbb3fa695 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7a8ee2dada31c6249ac8b8186696160df212311b5cc96eaa2475e2579a842e09 [INFO] running `Command { std: "docker" "start" "-a" "7a8ee2dada31c6249ac8b8186696160df212311b5cc96eaa2475e2579a842e09", kill_on_drop: false }` [INFO] [stderr] Compiling memoffset v0.9.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Compiling crossbeam-epoch v0.9.15 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling rayon-core v1.12.0 [INFO] [stderr] Checking memchr v2.6.4 [INFO] [stderr] Checking regex-syntax v0.8.2 [INFO] [stderr] Checking either v1.9.0 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Checking aho-corasick v1.1.2 [INFO] [stderr] Checking crossbeam-deque v0.8.3 [INFO] [stderr] Checking rayon v1.8.0 [INFO] [stderr] Checking regex-automata v0.4.3 [INFO] [stderr] Checking regex v1.10.2 [INFO] [stderr] Checking aoc2023 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::primitive` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::primitive; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::primitive` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::primitive; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:312:20 [INFO] [stdout] | [INFO] [stdout] 312 | if (end_index == line.len() - 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 312 - if (end_index == line.len() - 1) { [INFO] [stdout] 312 + if end_index == line.len() - 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:312:20 [INFO] [stdout] | [INFO] [stdout] 312 | if (end_index == line.len() - 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 312 - if (end_index == line.len() - 1) { [INFO] [stdout] 312 + if end_index == line.len() - 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/main.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 126 | let mut result : i64 = 9999999999999; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `calc_count` [INFO] [stdout] --> src/main.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 131 | let mut calc_count : i64 = 0; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_calc_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/main.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 126 | let mut result : i64 = 9999999999999; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `calc_count` [INFO] [stdout] --> src/main.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 131 | let mut calc_count : i64 = 0; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_calc_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | let mut result : i64 = 9999999999999; [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: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | let mut calc_count : i64 = 0; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | let mut result : i64 = 9999999999999; [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: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | let mut calc_count : i64 = 0; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `add_count` is assigned to, but never used [INFO] [stdout] --> src/main.rs:244:17 [INFO] [stdout] | [INFO] [stdout] 244 | let mut add_count = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_add_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `add_count` is assigned to, but never used [INFO] [stdout] --> src/main.rs:244:17 [INFO] [stdout] | [INFO] [stdout] 244 | let mut add_count = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_add_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:243:13 [INFO] [stdout] | [INFO] [stdout] 243 | let mut match_count = line.0; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:243:13 [INFO] [stdout] | [INFO] [stdout] 243 | let mut match_count = line.0; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_digit_str` is never used [INFO] [stdout] --> src/main.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn is_digit_str(contents: &String, i: usize, x: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `winning_number_count` is never used [INFO] [stdout] --> src/main.rs:203:4 [INFO] [stdout] | [INFO] [stdout] 203 | fn winning_number_count(line: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `day_4` is never used [INFO] [stdout] --> src/main.rs:224:4 [INFO] [stdout] | [INFO] [stdout] 224 | fn day_4() -> std::io::Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NumberSpan` is never constructed [INFO] [stdout] --> src/main.rs:263:8 [INFO] [stdout] | [INFO] [stdout] 263 | struct NumberSpan { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `day_3` is never used [INFO] [stdout] --> src/main.rs:270:4 [INFO] [stdout] | [INFO] [stdout] 270 | fn day_3() -> std::io::Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_location_gear_ratio` is never used [INFO] [stdout] --> src/main.rs:365:4 [INFO] [stdout] | [INFO] [stdout] 365 | fn get_location_gear_ratio(row: i32, column: i32, nums: &Vec) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_location_sum` is never used [INFO] [stdout] --> src/main.rs:402:4 [INFO] [stdout] | [INFO] [stdout] 402 | fn get_location_sum(row: i32, column: i32, nums: &Vec) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `day_2_part_2` is never used [INFO] [stdout] --> src/main.rs:438:4 [INFO] [stdout] | [INFO] [stdout] 438 | fn day_2_part_2() -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `day_2` is never used [INFO] [stdout] --> src/main.rs:496:4 [INFO] [stdout] | [INFO] [stdout] 496 | fn day_2() -> std::io::Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `day_1` is never used [INFO] [stdout] --> src/main.rs:573:4 [INFO] [stdout] | [INFO] [stdout] 573 | fn day_1() -> std::io::Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_digit_str` is never used [INFO] [stdout] --> src/main.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn is_digit_str(contents: &String, i: usize, x: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `winning_number_count` is never used [INFO] [stdout] --> src/main.rs:203:4 [INFO] [stdout] | [INFO] [stdout] 203 | fn winning_number_count(line: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `day_4` is never used [INFO] [stdout] --> src/main.rs:224:4 [INFO] [stdout] | [INFO] [stdout] 224 | fn day_4() -> std::io::Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NumberSpan` is never constructed [INFO] [stdout] --> src/main.rs:263:8 [INFO] [stdout] | [INFO] [stdout] 263 | struct NumberSpan { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `day_3` is never used [INFO] [stdout] --> src/main.rs:270:4 [INFO] [stdout] | [INFO] [stdout] 270 | fn day_3() -> std::io::Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_location_gear_ratio` is never used [INFO] [stdout] --> src/main.rs:365:4 [INFO] [stdout] | [INFO] [stdout] 365 | fn get_location_gear_ratio(row: i32, column: i32, nums: &Vec) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_location_sum` is never used [INFO] [stdout] --> src/main.rs:402:4 [INFO] [stdout] | [INFO] [stdout] 402 | fn get_location_sum(row: i32, column: i32, nums: &Vec) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `day_2_part_2` is never used [INFO] [stdout] --> src/main.rs:438:4 [INFO] [stdout] | [INFO] [stdout] 438 | fn day_2_part_2() -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `day_2` is never used [INFO] [stdout] --> src/main.rs:496:4 [INFO] [stdout] | [INFO] [stdout] 496 | fn day_2() -> std::io::Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `day_1` is never used [INFO] [stdout] --> src/main.rs:573:4 [INFO] [stdout] | [INFO] [stdout] 573 | fn day_1() -> std::io::Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `rowIndex` should have a snake case name [INFO] [stdout] --> src/main.rs:280:10 [INFO] [stdout] | [INFO] [stdout] 280 | for (rowIndex, line) in lines.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `row_index` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `rowIndex` should have a snake case name [INFO] [stdout] --> src/main.rs:340:10 [INFO] [stdout] | [INFO] [stdout] 340 | for (rowIndex, line) in lines.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `row_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `columnIndex` should have a snake case name [INFO] [stdout] --> src/main.rs:341:14 [INFO] [stdout] | [INFO] [stdout] 341 | for (columnIndex, chr) in line.chars().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `column_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `rowIndex` should have a snake case name [INFO] [stdout] --> src/main.rs:280:10 [INFO] [stdout] | [INFO] [stdout] 280 | for (rowIndex, line) in lines.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `row_index` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `rowIndex` should have a snake case name [INFO] [stdout] --> src/main.rs:340:10 [INFO] [stdout] | [INFO] [stdout] 340 | for (rowIndex, line) in lines.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `row_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `columnIndex` should have a snake case name [INFO] [stdout] --> src/main.rs:341:14 [INFO] [stdout] | [INFO] [stdout] 341 | for (columnIndex, chr) in line.chars().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `column_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.56s [INFO] running `Command { std: "docker" "inspect" "7a8ee2dada31c6249ac8b8186696160df212311b5cc96eaa2475e2579a842e09", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7a8ee2dada31c6249ac8b8186696160df212311b5cc96eaa2475e2579a842e09", kill_on_drop: false }` [INFO] [stdout] 7a8ee2dada31c6249ac8b8186696160df212311b5cc96eaa2475e2579a842e09