[INFO] cloning repository https://github.com/danplubell/advent-of-code-2024 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/danplubell/advent-of-code-2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdanplubell%2Fadvent-of-code-2024", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdanplubell%2Fadvent-of-code-2024'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a888b557ef4cec5607dccacc31ff358c92c21201 [INFO] testing danplubell/advent-of-code-2024 against beta-2026-04-21 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdanplubell%2Fadvent-of-code-2024" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-3-tc2/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/danplubell/advent-of-code-2024 [INFO] finished tweaking git repo https://github.com/danplubell/advent-of-code-2024 [INFO] tweaked toml for git repo https://github.com/danplubell/advent-of-code-2024 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/danplubell/advent-of-code-2024 on toolchain beta-2026-04-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/danplubell/advent-of-code-2024 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tinyjson v2.5.1 [INFO] [stderr] Downloaded quote v1.0.39 [INFO] [stderr] Downloaded cached_proc_macro_types v0.1.1 [INFO] [stderr] Downloaded cached_proc_macro v0.24.0 [INFO] [stderr] Downloaded windows-link v0.1.0 [INFO] [stderr] Downloaded mintex v0.1.3 [INFO] [stderr] Downloaded redox_syscall v0.5.10 [INFO] [stderr] Downloaded zerocopy-derive v0.7.35 [INFO] [stderr] Downloaded iana-time-zone v0.1.61 [INFO] [stderr] Downloaded cached v0.55.1 [INFO] [stderr] Downloaded indexmap v2.7.1 [INFO] [stderr] Downloaded serde_derive v1.0.218 [INFO] [stderr] Downloaded serde v1.0.218 [INFO] [stderr] Downloaded priority-queue v2.1.2 [INFO] [stderr] Downloaded zerocopy v0.7.35 [INFO] [stderr] Downloaded once_cell v1.20.3 [INFO] [stderr] Downloaded syn v2.0.99 [INFO] [stderr] Downloaded dhat v0.3.3 [INFO] [stderr] Downloaded chrono v0.4.40 [INFO] [stderr] Downloaded grid v0.16.1 [INFO] [stderr] Downloaded either v1.14.0 [INFO] [stderr] Downloaded libc v0.2.170 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 78456483886acc8a4db92614425ea5374ad9a5ebddb4731719c6194879688e4d [INFO] running `Command { std: "docker" "start" "-a" "78456483886acc8a4db92614425ea5374ad9a5ebddb4731719c6194879688e4d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "78456483886acc8a4db92614425ea5374ad9a5ebddb4731719c6194879688e4d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "78456483886acc8a4db92614425ea5374ad9a5ebddb4731719c6194879688e4d", kill_on_drop: false }` [INFO] [stdout] 78456483886acc8a4db92614425ea5374ad9a5ebddb4731719c6194879688e4d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] afbecce0ca5bbc2b9f99951ffc45ca3980f05547095258c062800eb54b3c9c1d [INFO] running `Command { std: "docker" "start" "-a" "afbecce0ca5bbc2b9f99951ffc45ca3980f05547095258c062800eb54b3c9c1d", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling once_cell v1.20.3 [INFO] [stderr] Compiling serde v1.0.218 [INFO] [stderr] Compiling hashbrown v0.15.2 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling either v1.14.0 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling cached_proc_macro_types v0.1.1 [INFO] [stderr] Compiling fixedbitset v0.5.7 [INFO] [stderr] Compiling itoa v1.0.15 [INFO] [stderr] Compiling web-time v1.1.0 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling tinyjson v2.5.1 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling grid v0.16.1 [INFO] [stderr] Compiling pico-args v0.5.0 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling indexmap v2.7.1 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling quote v1.0.39 [INFO] [stderr] Compiling syn v2.0.99 [INFO] [stderr] Compiling priority-queue v2.1.2 [INFO] [stderr] Compiling petgraph v0.7.1 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling darling_core v0.20.10 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling darling_macro v0.20.10 [INFO] [stderr] Compiling darling v0.20.10 [INFO] [stderr] Compiling cached_proc_macro v0.24.0 [INFO] [stderr] Compiling cached v0.55.1 [INFO] [stderr] Compiling advent_of_code v0.11.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/bin/find_all_shortest_paths.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/bin/06.rs:176:5 [INFO] [stdout] | [INFO] [stdout] 176 | 'main: for (i, r) in input.lines().enumerate() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/25.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | for mut chunks in &input.lines().chunks(8) { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/bin/25.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | 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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEY` is never used [INFO] [stdout] --> src/bin/25.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const KEY: &str = "....."; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::prelude` [INFO] [stdout] --> src/bin/11.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bin/11.rs:24:23 [INFO] [stdout] | [INFO] [stdout] 24 | (0..25).for_each(|i| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `work_list` is never read [INFO] [stdout] --> src/bin/11.rs:63:50 [INFO] [stdout] | [INFO] [stdout] 63 | let mut work_list: &mut std::vec::Vec = &mut vec![]; [INFO] [stdout] | ^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 76 | work_list = &mut odd_list; [INFO] [stdout] | ------------------------- `work_list` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_match` is never used [INFO] [stdout] --> src/bin/13.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn find_match(target: i64, a: i64, b: i64) -> Vec<(i64, i64)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/bin/19.rs:39:29 [INFO] [stdout] | [INFO] [stdout] 39 | let d = design.to_string(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Claw` is never constructed [INFO] [stdout] --> src/bin/13.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | struct Claw { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_cost` is never used [INFO] [stdout] --> src/bin/13.rs:60:4 [INFO] [stdout] | [INFO] [stdout] 60 | fn get_cost(button_a: Button, button_b: Button, prize: Prize) -> i64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `out_buffer` [INFO] [stdout] --> src/bin/17.rs:240:9 [INFO] [stdout] | [INFO] [stdout] 240 | let out_buffer: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_buffer` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::prelude` [INFO] [stdout] --> src/bin/06.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bin/09.rs:106:31 [INFO] [stdout] | [INFO] [stdout] 106 | let found = groups.find(|(i, g)| g.len() <= block_size as usize); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bin/09.rs:105:19 [INFO] [stdout] | [INFO] [stdout] 105 | .filter(|(i, g)| g[0] != -1); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/bin/06.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | for (j, c) in r.chars().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `guard` is never read [INFO] [stdout] --> src/bin/06.rs:172:28 [INFO] [stdout] | [INFO] [stdout] 172 | let mut guard: Guard = find_guard(input).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 180 | guard = find_guard(input).unwrap(); [INFO] [stdout] | ---------------------------------- `guard` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_distance` [INFO] [stdout] --> src/bin/20.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | let max_distance = path.len(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_distance` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bin/07.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | input.iter().enumerate().for_each(|(i, s)| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/bin/15.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input_copy` [INFO] [stdout] --> src/bin/07.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | let input_copy = input.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_copy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current` [INFO] [stdout] --> src/bin/15.rs:126:29 [INFO] [stdout] | [INFO] [stdout] 126 | if let Some(current) = opened_position { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/bin/15.rs:161:46 [INFO] [stdout] | [INFO] [stdout] 161 | l.chars().enumerate().for_each(|(col, c)| { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `row` [INFO] [stdout] --> src/bin/15.rs:159:42 [INFO] [stdout] | [INFO] [stdout] 159 | input.lines().enumerate().for_each(|(row, l)| { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_row` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bin/09.rs:118:45 [INFO] [stdout] | [INFO] [stdout] 118 | let result = gap_list.iter().find(|(i, g)| g.len() >= f.len()); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bin/09.rs:117:59 [INFO] [stdout] | [INFO] [stdout] 117 | let gap_list: Vec<_> = new_groups.iter().filter(|(i, g)| g[0] == -1).collect(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/bin/09.rs:119:25 [INFO] [stdout] | [INFO] [stdout] 119 | if let Some((j, v)) = result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bin/09.rs:112:52 [INFO] [stdout] | [INFO] [stdout] 112 | let mut files: Vec<_> = groups.iter().filter(|(i, g)| g[0] != -1).collect(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `np` [INFO] [stdout] --> src/bin/15.rs:364:29 [INFO] [stdout] | [INFO] [stdout] 364 | if let Some(np) = new_location { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_np` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_file` is never used [INFO] [stdout] --> src/bin/09.rs:100:4 [INFO] [stdout] | [INFO] [stdout] 100 | fn find_file(buffer: &Vec, block_size: i32) -> Option<(usize, Vec)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_p` [INFO] [stdout] --> src/bin/15.rs:456:33 [INFO] [stdout] | [INFO] [stdout] 456 | if let Some(new_p) = pos { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_new_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_pos` [INFO] [stdout] --> src/bin/15.rs:482:33 [INFO] [stdout] | [INFO] [stdout] 482 | if let Some(new_pos) = pos { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_pos` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_pos` [INFO] [stdout] --> src/bin/15.rs:509:33 [INFO] [stdout] | [INFO] [stdout] 509 | if let Some(new_pos) = pos { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_pos` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/bin/15.rs:609:46 [INFO] [stdout] | [INFO] [stdout] 609 | l.chars().enumerate().for_each(|(col, c)| { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `row` [INFO] [stdout] --> src/bin/15.rs:607:42 [INFO] [stdout] | [INFO] [stdout] 607 | input.lines().enumerate().for_each(|(row, l)| { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_row` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `grid_length` is never read [INFO] [stdout] --> src/bin/15.rs:550:27 [INFO] [stdout] | [INFO] [stdout] 550 | let mut grid_length = 0_usize; [INFO] [stdout] | ^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 576 | grid_length = new_map.len(); [INFO] [stdout] | --------------------------- `grid_length` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_distance` [INFO] [stdout] --> src/bin/20.rs:168:9 [INFO] [stdout] | [INFO] [stdout] 168 | let max_distance = path.len(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_distance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dc` [INFO] [stdout] --> src/bin/20.rs:179:21 [INFO] [stdout] | [INFO] [stdout] 179 | let dc = radius - dr; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_dc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/20.rs:221:9 [INFO] [stdout] | [INFO] [stdout] 221 | let mut total = 0; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total` [INFO] [stdout] --> src/bin/20.rs:221:9 [INFO] [stdout] | [INFO] [stdout] 221 | let mut total = 0; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_distance` [INFO] [stdout] --> src/bin/20.rs:272:9 [INFO] [stdout] | [INFO] [stdout] 272 | let max_distance = path.len(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_distance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total` [INFO] [stdout] --> src/bin/20.rs:371:9 [INFO] [stdout] | [INFO] [stdout] 371 | let total = 0; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_total` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d_n` [INFO] [stdout] --> src/bin/20.rs:403:17 [INFO] [stdout] | [INFO] [stdout] 403 | let d_n = match dists.get(nr, nc) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_d_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bin/07.rs:139:44 [INFO] [stdout] | [INFO] [stdout] 139 | let base_p = (0..len).into_iter().map(|i| PLUS).collect(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bin/07.rs:200:14 [INFO] [stdout] | [INFO] [stdout] 200 | for (i, pattern) in patterns.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_patterns` is never used [INFO] [stdout] --> src/bin/07.rs:138:4 [INFO] [stdout] | [INFO] [stdout] 138 | fn generate_patterns<'a>(len: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/bin/14.rs:173:26 [INFO] [stdout] | [INFO] [stdout] 173 | Some(x) => 'X', [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0428]: the name `part_two` is defined multiple times [INFO] [stdout] --> src/bin/08.rs:177:1 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn part_two(input: &str) -> Option { [INFO] [stdout] | ------------------------------------------- previous definition of the value `part_two` here [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn part_two(input: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `part_two` redefined here [INFO] [stdout] | [INFO] [stdout] = note: `part_two` must be defined only once in the value namespace of this module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/bin/08.rs:65:27 [INFO] [stdout] | [INFO] [stdout] 65 | ant.iter().for_each(|(k, v)| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/bin/08.rs:96:27 [INFO] [stdout] | [INFO] [stdout] 96 | ant.iter().for_each(|(k, v)| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/bin/08.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | 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] For more information about this error, try `rustc --explain E0428`. [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/bin/24.rs:1:43 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{BTreeMap, HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `advent_of_code` (bin "08") due to 1 previous error; 3 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/24.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | let mut l = l [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/24.rs:121:9 [INFO] [stdout] | [INFO] [stdout] 121 | let mut l = l [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/bin/24.rs:319:9 [INFO] [stdout] | [INFO] [stdout] 319 | let mut gate = gates.get(wire).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `wire_x` [INFO] [stdout] --> src/bin/24.rs:340:9 [INFO] [stdout] | [INFO] [stdout] 340 | let wire_x = "x".to_owned() + &num.to_string(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_wire_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `wire_y` [INFO] [stdout] --> src/bin/24.rs:341:9 [INFO] [stdout] | [INFO] [stdout] 341 | let wire_y = "y".to_owned() + &num.to_string(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_wire_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_string` is never used [INFO] [stdout] --> src/bin/24.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl Operator { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 22 | fn to_string(&self) -> &'static str { [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 `pp` is never used [INFO] [stdout] --> src/bin/24.rs:406:4 [INFO] [stdout] | [INFO] [stdout] 406 | fn pp(wire: &str, gates: &HashMap, depth: usize) -> String { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "afbecce0ca5bbc2b9f99951ffc45ca3980f05547095258c062800eb54b3c9c1d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "afbecce0ca5bbc2b9f99951ffc45ca3980f05547095258c062800eb54b3c9c1d", kill_on_drop: false }` [INFO] [stdout] afbecce0ca5bbc2b9f99951ffc45ca3980f05547095258c062800eb54b3c9c1d