[INFO] cloning repository https://github.com/brettjnorris/adventofcode2024 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/brettjnorris/adventofcode2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrettjnorris%2Fadventofcode2024", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrettjnorris%2Fadventofcode2024'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1fc5fcfdfaa2ffbb5aa05872352e2e9ac406f77e [INFO] testing brettjnorris/adventofcode2024 against 1.83.0 for beta-1.84.0-4 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrettjnorris%2Fadventofcode2024" "/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/brettjnorris/adventofcode2024 on toolchain 1.83.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.83.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-2-tc1/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/brettjnorris/adventofcode2024 [INFO] finished tweaking git repo https://github.com/brettjnorris/adventofcode2024 [INFO] tweaked toml for git repo https://github.com/brettjnorris/adventofcode2024 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/brettjnorris/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" "+1.83.0" "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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5b8e466c611f2c92377a8ed552f67f6b46be3591119fa9ec6d9a7cfb565d7a0d [INFO] running `Command { std: "docker" "start" "-a" "5b8e466c611f2c92377a8ed552f67f6b46be3591119fa9ec6d9a7cfb565d7a0d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5b8e466c611f2c92377a8ed552f67f6b46be3591119fa9ec6d9a7cfb565d7a0d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5b8e466c611f2c92377a8ed552f67f6b46be3591119fa9ec6d9a7cfb565d7a0d", kill_on_drop: false }` [INFO] [stdout] 5b8e466c611f2c92377a8ed552f67f6b46be3591119fa9ec6d9a7cfb565d7a0d [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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e50f6f846d42ed5ad1f00e40f61bc4eba41e6bbd7c73751428768ff5e7caeef3 [INFO] running `Command { std: "docker" "start" "-a" "e50f6f846d42ed5ad1f00e40f61bc4eba41e6bbd7c73751428768ff5e7caeef3", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.6.4 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling tinyjson v2.5.1 [INFO] [stderr] Compiling pico-args v0.5.0 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling advent_of_code v0.11.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/bin/07.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | if (parts.len() == 2) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 18 - if (parts.len() == 2) { [INFO] [stdout] 18 + if parts.len() == 2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/bin/05.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | if (valid) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 10 - if (valid) { [INFO] [stdout] 10 + if valid { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/bin/05.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | if (valid == expect_valid) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 56 - if (valid == expect_valid) { [INFO] [stdout] 56 + if valid == expect_valid { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operators` [INFO] [stdout] --> src/bin/07.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | let mut operators: Vec = vec![]; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operators` [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/bin/07.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | let mut operators: Vec = vec![]; [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: `input` [INFO] [stdout] --> src/bin/07.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn part_two(input: &str) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Calculation` is never used [INFO] [stdout] --> src/bin/07.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | enum Calculation { None, Add, Multiply } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Item` is never used [INFO] [stdout] --> src/bin/07.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | enum Item { Number(usize), Calculation(Calculation) } [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/bin/09.rs:17:17 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn part_two(input: &str) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `invalid_pages` [INFO] [stdout] --> src/bin/05.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let invalid_pages = get_pages(pages, rules, false); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_invalid_pages` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/bin/04.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn part_two(input: &str) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/bin/09.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn parse_input(input: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/bin/06.rs:142:17 [INFO] [stdout] | [INFO] [stdout] 142 | pub fn part_two(input: &str) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `index` is never read [INFO] [stdout] --> src/bin/06.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 15 | struct Cell { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 16 | index: isize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cell` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.79s [INFO] running `Command { std: "docker" "inspect" "e50f6f846d42ed5ad1f00e40f61bc4eba41e6bbd7c73751428768ff5e7caeef3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e50f6f846d42ed5ad1f00e40f61bc4eba41e6bbd7c73751428768ff5e7caeef3", kill_on_drop: false }` [INFO] [stdout] e50f6f846d42ed5ad1f00e40f61bc4eba41e6bbd7c73751428768ff5e7caeef3 [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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7de8723a499c4ac1b1140c6d9b3a5ea59042378992561ecf12fe2aac86743959 [INFO] running `Command { std: "docker" "start" "-a" "7de8723a499c4ac1b1140c6d9b3a5ea59042378992561ecf12fe2aac86743959", kill_on_drop: false }` [INFO] [stderr] Compiling advent_of_code v0.11.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/bin/07.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | if (parts.len() == 2) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 18 - if (parts.len() == 2) { [INFO] [stdout] 18 + if parts.len() == 2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/bin/04.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn part_two(input: &str) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/bin/05.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | if (valid) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 10 - if (valid) { [INFO] [stdout] 10 + if valid { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/bin/05.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | if (valid == expect_valid) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 56 - if (valid == expect_valid) { [INFO] [stdout] 56 + if valid == expect_valid { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operators` [INFO] [stdout] --> src/bin/07.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | let mut operators: Vec = vec![]; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operators` [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/bin/07.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | let mut operators: Vec = vec![]; [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: `input` [INFO] [stdout] --> src/bin/07.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn part_two(input: &str) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `invalid_pages` [INFO] [stdout] --> src/bin/05.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let invalid_pages = get_pages(pages, rules, false); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_invalid_pages` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Calculation` is never used [INFO] [stdout] --> src/bin/07.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | enum Calculation { None, Add, Multiply } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Item` is never used [INFO] [stdout] --> src/bin/07.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | enum Item { Number(usize), Calculation(Calculation) } [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/bin/09.rs:17:17 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn part_two(input: &str) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [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/bin/09.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | let mut chars = "2333133121414131402".chars().map(|c| c.to_string()).collect::>(); [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: function `parse_input` is never used [INFO] [stdout] --> src/bin/09.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn parse_input(input: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/bin/06.rs:142:17 [INFO] [stdout] | [INFO] [stdout] 142 | pub fn part_two(input: &str) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `position` [INFO] [stdout] --> src/bin/06.rs:164:13 [INFO] [stdout] | [INFO] [stdout] 164 | let position = Position(1, 1); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `index` is never read [INFO] [stdout] --> src/bin/06.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 15 | struct Cell { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 16 | index: isize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cell` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `permutations` [INFO] [stdout] --> src/matrix.rs:129:13 [INFO] [stdout] | [INFO] [stdout] 129 | let permutations: Vec> = Matrix::generate_row_permutations(3, 3); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_permutations` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `matrix` [INFO] [stdout] --> src/matrix.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | let matrix: Matrix = Matrix::from_string("0123\n4567\n8900"); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_matrix` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.69s [INFO] running `Command { std: "docker" "inspect" "7de8723a499c4ac1b1140c6d9b3a5ea59042378992561ecf12fe2aac86743959", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7de8723a499c4ac1b1140c6d9b3a5ea59042378992561ecf12fe2aac86743959", kill_on_drop: false }` [INFO] [stdout] 7de8723a499c4ac1b1140c6d9b3a5ea59042378992561ecf12fe2aac86743959 [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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 57fb5f3a3ee2a0d1a126edcb848235d520d74c88836560a5751845316d32cd1d [INFO] running `Command { std: "docker" "start" "-a" "57fb5f3a3ee2a0d1a126edcb848235d520d74c88836560a5751845316d32cd1d", kill_on_drop: false }` [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/bin/07.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | if (parts.len() == 2) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 18 - if (parts.len() == 2) { [INFO] [stderr] 18 + if parts.len() == 2 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `operators` [INFO] [stderr] --> src/bin/07.rs:14:17 [INFO] [stderr] | [INFO] [stderr] 14 | let mut operators: Vec = vec![]; [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operators` [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/bin/07.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | let mut operators: Vec = vec![]; [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: `input` [INFO] [stderr] --> src/bin/07.rs:100:17 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn part_two(input: &str) -> Option { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stderr] [INFO] [stderr] warning: enum `Calculation` is never used [INFO] [stderr] --> src/bin/07.rs:3:6 [INFO] [stderr] | [INFO] [stderr] 3 | enum Calculation { None, Add, Multiply } [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: enum `Item` is never used [INFO] [stderr] --> src/bin/07.rs:4:6 [INFO] [stderr] | [INFO] [stderr] 4 | enum Item { Number(usize), Calculation(Calculation) } [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: `advent_of_code` (bin "07" test) generated 6 warnings (run `cargo fix --bin "07" --tests` to apply 2 suggestions) [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/bin/05.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 10 | if (valid) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 10 - if (valid) { [INFO] [stderr] 10 + if valid { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/bin/05.rs:56:12 [INFO] [stderr] | [INFO] [stderr] 56 | if (valid == expect_valid) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 56 - if (valid == expect_valid) { [INFO] [stderr] 56 + if valid == expect_valid { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `invalid_pages` [INFO] [stderr] --> src/bin/05.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | let invalid_pages = get_pages(pages, rules, false); [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_invalid_pages` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `advent_of_code` (bin "05" test) generated 3 warnings (run `cargo fix --bin "05" --tests` to apply 2 suggestions) [INFO] [stderr] warning: unused variable: `input` [INFO] [stderr] --> src/bin/06.rs:142:17 [INFO] [stderr] | [INFO] [stderr] 142 | pub fn part_two(input: &str) -> Option { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `position` [INFO] [stderr] --> src/bin/06.rs:164:13 [INFO] [stderr] | [INFO] [stderr] 164 | let position = Position(1, 1); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position` [INFO] [stderr] [INFO] [stderr] warning: field `index` is never read [INFO] [stderr] --> src/bin/06.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 15 | struct Cell { [INFO] [stderr] | ---- field in this struct [INFO] [stderr] 16 | index: isize, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Cell` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `advent_of_code` (bin "06" test) generated 3 warnings [INFO] [stderr] warning: unused variable: `input` [INFO] [stderr] --> src/bin/09.rs:17:17 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn part_two(input: &str) -> Option { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [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/bin/09.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | let mut chars = "2333133121414131402".chars().map(|c| c.to_string()).collect::>(); [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: function `parse_input` is never used [INFO] [stderr] --> src/bin/09.rs:21:4 [INFO] [stderr] | [INFO] [stderr] 21 | fn parse_input(input: &str) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `input` [INFO] [stderr] --> src/bin/04.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn part_two(input: &str) -> Option { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `permutations` [INFO] [stderr] --> src/matrix.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | let permutations: Vec> = Matrix::generate_row_permutations(3, 3); [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_permutations` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `matrix` [INFO] [stderr] --> src/matrix.rs:135:13 [INFO] [stderr] | [INFO] [stderr] 135 | let matrix: Matrix = Matrix::from_string("0123\n4567\n8900"); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_matrix` [INFO] [stderr] [INFO] [stderr] warning: `advent_of_code` (bin "09" test) generated 3 warnings (run `cargo fix --bin "09" --tests` to apply 1 suggestion) [INFO] [stderr] warning: `advent_of_code` (bin "04" test) generated 1 warning [INFO] [stderr] warning: `advent_of_code` (lib test) generated 2 warnings [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/advent_of_code-fec8327debc3324a) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test matrix::tests::test_generate_row_permutations ... ok [INFO] [stdout] test matrix::tests::test_from_string ... ok [INFO] [stdout] test matrix::tests::test_get_row_strings ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/01.rs (/opt/rustwide/target/debug/deps/01-95f5bb01d4b1229b) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test tests::test_part_one ... ok [INFO] [stdout] test tests::test_part_two ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/02.rs (/opt/rustwide/target/debug/deps/02-6044924137aad738) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test tests::test_part_two ... ok [INFO] [stdout] test tests::test_part_one ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/03.rs (/opt/rustwide/target/debug/deps/03-57f62220fa5a52be) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test tests::test_part_two ... ok [INFO] [stdout] test tests::test_part_one ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/04.rs (/opt/rustwide/target/debug/deps/04-8d51607a87d21ec6) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test tests::test_part_two ... ok [INFO] [stdout] test tests::test_part_one ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/05.rs (/opt/rustwide/target/debug/deps/05-94c87fc9f75ee7af) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test tests::test_part_two ... ok [INFO] [stdout] test tests::test_part_one ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/06.rs (/opt/rustwide/target/debug/deps/06-5aa4ac405b13b47c) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test tests::test_part_one ... ok [INFO] [stdout] test tests::test_determine_next_position ... ok [INFO] [stdout] test tests::test_part_two ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/07.rs (/opt/rustwide/target/debug/deps/07-b2106f7149428b4b) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test tests::test_part_one ... ok [INFO] [stdout] test tests::test_part_two ... ok [INFO] [stdout] test tests::test_eval ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/09.rs (/opt/rustwide/target/debug/deps/09-c3eb8aceb6f1130b) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test tests::test_compact_fs ... ok [INFO] [stdout] test tests::test_expand_input ... ok [INFO] [stdout] test tests::test_part_one ... ok [INFO] [stdout] test tests::test_part_two ... ok [INFO] [stdout] test tests::test_checksum ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/advent_of_code-86e7b784fdaecb22) [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] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "57fb5f3a3ee2a0d1a126edcb848235d520d74c88836560a5751845316d32cd1d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "57fb5f3a3ee2a0d1a126edcb848235d520d74c88836560a5751845316d32cd1d", kill_on_drop: false }` [INFO] [stdout] 57fb5f3a3ee2a0d1a126edcb848235d520d74c88836560a5751845316d32cd1d