[INFO] cloning repository https://github.com/VidVrbnjak/aoc2023 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/VidVrbnjak/aoc2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVidVrbnjak%2Faoc2023", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVidVrbnjak%2Faoc2023'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c6c57db647faa7a4558c0be2cf7d8ae317f81a7d [INFO] checking VidVrbnjak/aoc2023 against try#f77b5bc6c7c84df104f86b0dd01d9490e3923fa8 for pr-147834 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVidVrbnjak%2Faoc2023" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/VidVrbnjak/aoc2023 [INFO] finished tweaking git repo https://github.com/VidVrbnjak/aoc2023 [INFO] tweaked toml for git repo https://github.com/VidVrbnjak/aoc2023 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/VidVrbnjak/aoc2023 on toolchain f77b5bc6c7c84df104f86b0dd01d9490e3923fa8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/VidVrbnjak/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" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "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] 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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 59d7718150e662b8e0515d22a84b4cb4412b34e2e8e7eb04abf3f30c157a9d05 [INFO] running `Command { std: "docker" "start" "-a" "59d7718150e662b8e0515d22a84b4cb4412b34e2e8e7eb04abf3f30c157a9d05", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "59d7718150e662b8e0515d22a84b4cb4412b34e2e8e7eb04abf3f30c157a9d05", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "59d7718150e662b8e0515d22a84b4cb4412b34e2e8e7eb04abf3f30c157a9d05", kill_on_drop: false }` [INFO] [stdout] 59d7718150e662b8e0515d22a84b4cb4412b34e2e8e7eb04abf3f30c157a9d05 [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=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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2a057115de4dfdb3da679dc3f8e398bce9ca081c3e45c7c0d0571f4eafcbba22 [INFO] running `Command { std: "docker" "start" "-a" "2a057115de4dfdb3da679dc3f8e398bce9ca081c3e45c7c0d0571f4eafcbba22", kill_on_drop: false }` [INFO] [stderr] Checking aoc2023 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `usize::MAX` [INFO] [stdout] --> src/day_12.rs:1:47 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, fmt::Display, usize::MAX}; [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 import: `std::str::FromStr` [INFO] [stdout] --> src/day_15.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/day_20.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Add` [INFO] [stdout] --> src/day_5.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::{Add, Range}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `usize::MAX` [INFO] [stdout] --> src/day_12.rs:1:47 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, fmt::Display, usize::MAX}; [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 import: `std::ops::Add` [INFO] [stdout] --> src/day_5_p2.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> src/day_15.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/day_20.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Add` [INFO] [stdout] --> src/day_5.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::{Add, Range}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> src/day_5_p2.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/day_16.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 21 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 22 | let contraption = parse_contraption(input); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/day_17.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 11 | let map = Map::from_str(input).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/day_17.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 23 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 24 | let map = Map::from_str(input).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/day_18.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 20 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 21 | let dp = DigPlan::from_str(input).unwrap().correct(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/day_16.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 21 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 22 | let contraption = parse_contraption(input); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/day_19.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 6 | [INFO] [stdout] 7 | let workflows = parse_workflows(input); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/day_17.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 11 | let map = Map::from_str(input).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/day_17.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 23 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 24 | let map = Map::from_str(input).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/day_19.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 42 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 43 | assert!(Parts::all().count() == 256_000_000_000_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/day_18.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 20 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 21 | let dp = DigPlan::from_str(input).unwrap().correct(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/day_19.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 6 | [INFO] [stdout] 7 | let workflows = parse_workflows(input); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/day_19.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 42 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 43 | assert!(Parts::all().count() == 256_000_000_000_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day_11.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | let mut min_dx = usize::MAX; [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: `min_dx` [INFO] [stdout] --> src/day_11.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | let mut min_dx = usize::MAX; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_dx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `old` [INFO] [stdout] --> src/day_11.rs:87:32 [INFO] [stdout] | [INFO] [stdout] 87 | let map = map.iter().map(|(old, new)| new).collect::>(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_old` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day_11.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | let mut min_dx = usize::MAX; [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: `min_dx` [INFO] [stdout] --> src/day_11.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | let mut min_dx = usize::MAX; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_dx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `old` [INFO] [stdout] --> src/day_11.rs:87:32 [INFO] [stdout] | [INFO] [stdout] 87 | let map = map.iter().map(|(old, new)| new).collect::>(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_old` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top` [INFO] [stdout] --> src/day_13.rs:13:46 [INFO] [stdout] | [INFO] [stdout] 13 | Reflection::Horizontal { top, bottom } => bottom * 100, [INFO] [stdout] | ^^^ help: try ignoring the field: `top: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left` [INFO] [stdout] --> src/day_13.rs:14:44 [INFO] [stdout] | [INFO] [stdout] 14 | Reflection::Vertical { left, right } => *right, [INFO] [stdout] | ^^^^ help: try ignoring the field: `left: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top` [INFO] [stdout] --> src/day_13.rs:35:46 [INFO] [stdout] | [INFO] [stdout] 35 | Reflection::Horizontal { top, bottom } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `top: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left` [INFO] [stdout] --> src/day_13.rs:43:44 [INFO] [stdout] | [INFO] [stdout] 43 | Reflection::Vertical { left, right } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `left: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `summary` [INFO] [stdout] --> src/day_13.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let summary = patterns [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_summary` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top` [INFO] [stdout] --> src/day_13.rs:13:46 [INFO] [stdout] | [INFO] [stdout] 13 | Reflection::Horizontal { top, bottom } => bottom * 100, [INFO] [stdout] | ^^^ help: try ignoring the field: `top: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left` [INFO] [stdout] --> src/day_13.rs:14:44 [INFO] [stdout] | [INFO] [stdout] 14 | Reflection::Vertical { left, right } => *right, [INFO] [stdout] | ^^^^ help: try ignoring the field: `left: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top` [INFO] [stdout] --> src/day_13.rs:35:46 [INFO] [stdout] | [INFO] [stdout] 35 | Reflection::Horizontal { top, bottom } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `top: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left` [INFO] [stdout] --> src/day_13.rs:43:44 [INFO] [stdout] | [INFO] [stdout] 43 | Reflection::Vertical { left, right } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `left: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `summary` [INFO] [stdout] --> src/day_13.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let summary = patterns [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_summary` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `org_reflection` [INFO] [stdout] --> src/day_13.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | let org_reflection = find_reflections(pattern) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_org_reflection` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `org_pattern` [INFO] [stdout] --> src/day_13.rs:162:17 [INFO] [stdout] | [INFO] [stdout] 162 | let org_pattern = pattern.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_org_pattern` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `org_reflection` [INFO] [stdout] --> src/day_13.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | let org_reflection = find_reflections(pattern) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_org_reflection` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `org_pattern` [INFO] [stdout] --> src/day_13.rs:162:17 [INFO] [stdout] | [INFO] [stdout] 162 | let org_pattern = pattern.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_org_pattern` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/day_16.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn p2(input: &str) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contraption` [INFO] [stdout] --> src/day_16.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | let contraption = parse_contraption(input); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contraption` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `best` [INFO] [stdout] --> src/day_16.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let mut best = ( [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_best` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ridx` [INFO] [stdout] --> src/day_16.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | for ridx in 0..contraption.rows { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_ridx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/day_16.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | let start = Beam { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mem` [INFO] [stdout] --> src/day_16.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | let mem = run_beam(start.clone(), &contraption); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_mem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/day_16.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | let start = Beam { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mem` [INFO] [stdout] --> src/day_16.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | let mem = run_beam(start.clone(), &contraption); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_mem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cidx` [INFO] [stdout] --> src/day_16.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | for cidx in 0..contraption.cols { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cidx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/day_16.rs:51:13 [INFO] [stdout] | [INFO] [stdout] 51 | let start = Beam { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mem` [INFO] [stdout] --> src/day_16.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | let mem = run_beam(start.clone(), &contraption); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_mem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/day_16.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let start = Beam { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mem` [INFO] [stdout] --> src/day_16.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let mem = run_beam(start.clone(), &contraption); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_mem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/day_17.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn p1(input: &str) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/day_17.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let map = Map::from_str(input).unwrap(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `steps` [INFO] [stdout] --> src/day_17.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let steps = find_shortest_path(&map, (0, 0), (map.rows - 1, map.cols - 1), 3, 1); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_steps` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/day_17.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn p2(input: &str) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/day_17.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | let map = Map::from_str(input).unwrap(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `steps` [INFO] [stdout] --> src/day_17.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | let steps = find_shortest_path(&map, (0, 0), (map.rows - 1, map.cols - 1), 10, 4); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_steps` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/day_16.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn p2(input: &str) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contraption` [INFO] [stdout] --> src/day_16.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | let contraption = parse_contraption(input); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contraption` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `best` [INFO] [stdout] --> src/day_16.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let mut best = ( [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_best` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ridx` [INFO] [stdout] --> src/day_16.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | for ridx in 0..contraption.rows { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_ridx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/day_16.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | let start = Beam { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mem` [INFO] [stdout] --> src/day_16.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | let mem = run_beam(start.clone(), &contraption); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_mem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/day_16.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | let start = Beam { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mem` [INFO] [stdout] --> src/day_16.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | let mem = run_beam(start.clone(), &contraption); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_mem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cidx` [INFO] [stdout] --> src/day_16.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | for cidx in 0..contraption.cols { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cidx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/day_16.rs:51:13 [INFO] [stdout] | [INFO] [stdout] 51 | let start = Beam { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mem` [INFO] [stdout] --> src/day_16.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | let mem = run_beam(start.clone(), &contraption); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_mem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/day_16.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let start = Beam { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mem` [INFO] [stdout] --> src/day_16.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let mem = run_beam(start.clone(), &contraption); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_mem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/day_18.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn p2(input: &str) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dp` [INFO] [stdout] --> src/day_18.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let dp = DigPlan::from_str(input).unwrap().correct(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_dp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enclosed_area` [INFO] [stdout] --> src/day_18.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | let enclosed_area = trench_enclosed_area_fast(&dp); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enclosed_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/day_17.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn p1(input: &str) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/day_17.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let map = Map::from_str(input).unwrap(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `steps` [INFO] [stdout] --> src/day_17.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let steps = find_shortest_path(&map, (0, 0), (map.rows - 1, map.cols - 1), 3, 1); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_steps` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/day_17.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn p2(input: &str) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/day_17.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | let map = Map::from_str(input).unwrap(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `steps` [INFO] [stdout] --> src/day_17.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | let steps = find_shortest_path(&map, (0, 0), (map.rows - 1, map.cols - 1), 10, 4); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_steps` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/day_19.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn p1(input: &str) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `workflows` [INFO] [stdout] --> src/day_19.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let workflows = parse_workflows(input); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workflows` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parts` [INFO] [stdout] --> src/day_19.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let parts = parse_parts(input); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_parts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sum` [INFO] [stdout] --> src/day_19.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let mut sum = 0; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sum` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `part` [INFO] [stdout] --> src/day_19.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | for part in parts.iter() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_part` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `wf_res` [INFO] [stdout] --> src/day_19.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | let mut wf_res = PartCmd::GoToWorkflow("in".to_string()); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wf_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `wf_name` [INFO] [stdout] --> src/day_19.rs:22:39 [INFO] [stdout] | [INFO] [stdout] 22 | PartCmd::GoToWorkflow(ref wf_name) => { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wf_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `wf` [INFO] [stdout] --> src/day_19.rs:23:25 [INFO] [stdout] | [INFO] [stdout] 23 | let wf = workflows.get(wf_name).unwrap(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_wf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond_range` [INFO] [stdout] --> src/day_19.rs:24:27 [INFO] [stdout] | [INFO] [stdout] 24 | for ((cond_range, cond_part), res) in wf { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cond_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond_part` [INFO] [stdout] --> src/day_19.rs:24:39 [INFO] [stdout] | [INFO] [stdout] 24 | for ((cond_range, cond_part), res) in wf { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cond_part` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/day_19.rs:24:51 [INFO] [stdout] | [INFO] [stdout] 24 | for ((cond_range, cond_part), res) in wf { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/day_19.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn p2(input: &str) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `workflows` [INFO] [stdout] --> src/day_19.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let workflows = wf2(parse_workflows(input)); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workflows` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `q` [INFO] [stdout] --> src/day_19.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | let mut q = vec![(Parts::all(), Cmd2::Wf("in".to_string(), 0))]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_q` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `accepted` [INFO] [stdout] --> src/day_19.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | let mut accepted = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_accepted` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rejected` [INFO] [stdout] --> src/day_19.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | let mut rejected = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rejected` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parts` [INFO] [stdout] --> src/day_19.rs:50:21 [INFO] [stdout] | [INFO] [stdout] 50 | while let Some((parts, cmd)) = q.pop() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_parts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cmd` [INFO] [stdout] --> src/day_19.rs:50:28 [INFO] [stdout] | [INFO] [stdout] 50 | while let Some((parts, cmd)) = q.pop() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `wf` [INFO] [stdout] --> src/day_19.rs:58:22 [INFO] [stdout] | [INFO] [stdout] 58 | Cmd2::Wf(wf, step) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_wf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `step` [INFO] [stdout] --> src/day_19.rs:58:26 [INFO] [stdout] | [INFO] [stdout] 58 | Cmd2::Wf(wf, step) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> src/day_19.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | let (filter, cmd) = workflows.get(wf.as_str()).unwrap().get(step).unwrap(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cmd` [INFO] [stdout] --> src/day_19.rs:59:30 [INFO] [stdout] | [INFO] [stdout] 59 | let (filter, cmd) = workflows.get(wf.as_str()).unwrap().get(step).unwrap(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filtered` [INFO] [stdout] --> src/day_19.rs:60:21 [INFO] [stdout] | [INFO] [stdout] 60 | let filtered = filter_parts(&parts, filter); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filtered` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/day_18.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn p2(input: &str) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dp` [INFO] [stdout] --> src/day_18.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let dp = DigPlan::from_str(input).unwrap().correct(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_dp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enclosed_area` [INFO] [stdout] --> src/day_18.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | let enclosed_area = trench_enclosed_area_fast(&dp); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enclosed_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/day_19.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn p1(input: &str) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `workflows` [INFO] [stdout] --> src/day_19.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let workflows = parse_workflows(input); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workflows` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parts` [INFO] [stdout] --> src/day_19.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let parts = parse_parts(input); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_parts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sum` [INFO] [stdout] --> src/day_19.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let mut sum = 0; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sum` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `part` [INFO] [stdout] --> src/day_19.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | for part in parts.iter() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_part` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `wf_res` [INFO] [stdout] --> src/day_19.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | let mut wf_res = PartCmd::GoToWorkflow("in".to_string()); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wf_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `wf_name` [INFO] [stdout] --> src/day_19.rs:22:39 [INFO] [stdout] | [INFO] [stdout] 22 | PartCmd::GoToWorkflow(ref wf_name) => { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wf_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `wf` [INFO] [stdout] --> src/day_19.rs:23:25 [INFO] [stdout] | [INFO] [stdout] 23 | let wf = workflows.get(wf_name).unwrap(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_wf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond_range` [INFO] [stdout] --> src/day_19.rs:24:27 [INFO] [stdout] | [INFO] [stdout] 24 | for ((cond_range, cond_part), res) in wf { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cond_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond_part` [INFO] [stdout] --> src/day_19.rs:24:39 [INFO] [stdout] | [INFO] [stdout] 24 | for ((cond_range, cond_part), res) in wf { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cond_part` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/day_19.rs:24:51 [INFO] [stdout] | [INFO] [stdout] 24 | for ((cond_range, cond_part), res) in wf { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `on` [INFO] [stdout] --> src/day_20.rs:29:40 [INFO] [stdout] | [INFO] [stdout] 29 | Module::FlipFlop { on, targets } => { [INFO] [stdout] | ^^ help: try ignoring the field: `on: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/day_19.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn p2(input: &str) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `workflows` [INFO] [stdout] --> src/day_19.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let workflows = wf2(parse_workflows(input)); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workflows` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inputs` [INFO] [stdout] --> src/day_20.rs:34:43 [INFO] [stdout] | [INFO] [stdout] 34 | Module::Conjunction { inputs, targets } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `inputs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `q` [INFO] [stdout] --> src/day_19.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | let mut q = vec![(Parts::all(), Cmd2::Wf("in".to_string(), 0))]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_q` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `accepted` [INFO] [stdout] --> src/day_19.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | let mut accepted = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_accepted` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rejected` [INFO] [stdout] --> src/day_19.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | let mut rejected = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rejected` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parts` [INFO] [stdout] --> src/day_19.rs:50:21 [INFO] [stdout] | [INFO] [stdout] 50 | while let Some((parts, cmd)) = q.pop() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_parts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cmd` [INFO] [stdout] --> src/day_19.rs:50:28 [INFO] [stdout] | [INFO] [stdout] 50 | while let Some((parts, cmd)) = q.pop() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `wf` [INFO] [stdout] --> src/day_19.rs:58:22 [INFO] [stdout] | [INFO] [stdout] 58 | Cmd2::Wf(wf, step) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_wf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `step` [INFO] [stdout] --> src/day_19.rs:58:26 [INFO] [stdout] | [INFO] [stdout] 58 | Cmd2::Wf(wf, step) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> src/day_19.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | let (filter, cmd) = workflows.get(wf.as_str()).unwrap().get(step).unwrap(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cmd` [INFO] [stdout] --> src/day_19.rs:59:30 [INFO] [stdout] | [INFO] [stdout] 59 | let (filter, cmd) = workflows.get(wf.as_str()).unwrap().get(step).unwrap(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filtered` [INFO] [stdout] --> src/day_19.rs:60:21 [INFO] [stdout] | [INFO] [stdout] 60 | let filtered = filter_parts(&parts, filter); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filtered` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `on` [INFO] [stdout] --> src/day_20.rs:95:40 [INFO] [stdout] | [INFO] [stdout] 95 | Module::FlipFlop { on, targets } => { [INFO] [stdout] | ^^ help: try ignoring the field: `on: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inputs` [INFO] [stdout] --> src/day_20.rs:100:43 [INFO] [stdout] | [INFO] [stdout] 100 | Module::Conjunction { inputs, targets } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `inputs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `on` [INFO] [stdout] --> src/day_20.rs:199:32 [INFO] [stdout] | [INFO] [stdout] 199 | Module::FlipFlop { on, targets } => { [INFO] [stdout] | ^^ help: try ignoring the field: `on: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `targets` [INFO] [stdout] --> src/day_20.rs:202:55 [INFO] [stdout] | [INFO] [stdout] 202 | Module::Conjunction { inputs, targets } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `targets: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inputs` [INFO] [stdout] --> src/day_20.rs:209:35 [INFO] [stdout] | [INFO] [stdout] 209 | Module::Conjunction { inputs, targets } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `inputs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `targets` [INFO] [stdout] --> src/day_20.rs:212:60 [INFO] [stdout] | [INFO] [stdout] 212 | Some(Module::Conjunction { inputs, targets }) => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `targets: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `targets` [INFO] [stdout] --> src/day_20.rs:222:55 [INFO] [stdout] | [INFO] [stdout] 222 | Module::Conjunction { inputs, targets } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `targets: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `targets` [INFO] [stdout] --> src/day_20.rs:232:55 [INFO] [stdout] | [INFO] [stdout] 232 | Module::Conjunction { inputs, targets } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `targets: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `targets` [INFO] [stdout] --> src/day_20.rs:248:32 [INFO] [stdout] | [INFO] [stdout] 248 | Module::FlipFlop { on, targets } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `targets: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `targets` [INFO] [stdout] --> src/day_20.rs:260:39 [INFO] [stdout] | [INFO] [stdout] 260 | Module::Conjunction { inputs, targets } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `targets: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `targets` [INFO] [stdout] --> src/day_20.rs:268:29 [INFO] [stdout] | [INFO] [stdout] 268 | Module::Broadcast { targets } => Some(pulse), [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `targets: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `targets` [INFO] [stdout] --> src/day_20.rs:269:26 [INFO] [stdout] | [INFO] [stdout] 269 | Module::Button { targets } => Some(Pulse::Low), [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `targets: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `on` [INFO] [stdout] --> src/day_20.rs:29:40 [INFO] [stdout] | [INFO] [stdout] 29 | Module::FlipFlop { on, targets } => { [INFO] [stdout] | ^^ help: try ignoring the field: `on: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inputs` [INFO] [stdout] --> src/day_20.rs:34:43 [INFO] [stdout] | [INFO] [stdout] 34 | Module::Conjunction { inputs, targets } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `inputs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `on` [INFO] [stdout] --> src/day_20.rs:95:40 [INFO] [stdout] | [INFO] [stdout] 95 | Module::FlipFlop { on, targets } => { [INFO] [stdout] | ^^ help: try ignoring the field: `on: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inputs` [INFO] [stdout] --> src/day_20.rs:100:43 [INFO] [stdout] | [INFO] [stdout] 100 | Module::Conjunction { inputs, targets } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `inputs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dr` [INFO] [stdout] --> src/day_5.rs:36:21 [INFO] [stdout] | [INFO] [stdout] 36 | .find(|(dr, sr)| sr.contains(&nr)) [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_dr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `seed_range_starts` [INFO] [stdout] --> src/day_5.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | let seed_range_starts = seeds [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seed_range_starts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `on` [INFO] [stdout] --> src/day_20.rs:199:32 [INFO] [stdout] | [INFO] [stdout] 199 | Module::FlipFlop { on, targets } => { [INFO] [stdout] | ^^ help: try ignoring the field: `on: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `targets` [INFO] [stdout] --> src/day_20.rs:202:55 [INFO] [stdout] | [INFO] [stdout] 202 | Module::Conjunction { inputs, targets } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `targets: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inputs` [INFO] [stdout] --> src/day_20.rs:209:35 [INFO] [stdout] | [INFO] [stdout] 209 | Module::Conjunction { inputs, targets } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `inputs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `targets` [INFO] [stdout] --> src/day_20.rs:212:60 [INFO] [stdout] | [INFO] [stdout] 212 | Some(Module::Conjunction { inputs, targets }) => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `targets: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `targets` [INFO] [stdout] --> src/day_20.rs:222:55 [INFO] [stdout] | [INFO] [stdout] 222 | Module::Conjunction { inputs, targets } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `targets: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `targets` [INFO] [stdout] --> src/day_20.rs:232:55 [INFO] [stdout] | [INFO] [stdout] 232 | Module::Conjunction { inputs, targets } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `targets: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `targets` [INFO] [stdout] --> src/day_20.rs:248:32 [INFO] [stdout] | [INFO] [stdout] 248 | Module::FlipFlop { on, targets } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `targets: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `targets` [INFO] [stdout] --> src/day_20.rs:260:39 [INFO] [stdout] | [INFO] [stdout] 260 | Module::Conjunction { inputs, targets } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `targets: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `targets` [INFO] [stdout] --> src/day_20.rs:268:29 [INFO] [stdout] | [INFO] [stdout] 268 | Module::Broadcast { targets } => Some(pulse), [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `targets: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `targets` [INFO] [stdout] --> src/day_20.rs:269:26 [INFO] [stdout] | [INFO] [stdout] 269 | Module::Button { targets } => Some(Pulse::Low), [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `targets: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `seed_range_lengths` [INFO] [stdout] --> src/day_5.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | let seed_range_lengths = seeds [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seed_range_lengths` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dr` [INFO] [stdout] --> src/day_5.rs:36:21 [INFO] [stdout] | [INFO] [stdout] 36 | .find(|(dr, sr)| sr.contains(&nr)) [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_dr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `seed_range_starts` [INFO] [stdout] --> src/day_5.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | let seed_range_starts = seeds [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seed_range_starts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `seed_range_lengths` [INFO] [stdout] --> src/day_5.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | let seed_range_lengths = seeds [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seed_range_lengths` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print` is never used [INFO] [stdout] --> src/day_11.rs:121:4 [INFO] [stdout] | [INFO] [stdout] 121 | fn print(map: &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: function `pos_distance` is never used [INFO] [stdout] --> src/day_11.rs:186:4 [INFO] [stdout] | [INFO] [stdout] 186 | fn pos_distance(p1: &POS, p2: &POS) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_pattern` is never used [INFO] [stdout] --> src/day_13.rs:229:4 [INFO] [stdout] | [INFO] [stdout] 229 | fn print_pattern(pattern: &Vec>) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_energized` is never used [INFO] [stdout] --> src/day_16.rs:268:4 [INFO] [stdout] | [INFO] [stdout] 268 | fn print_energized(contraption: &Contraption, mem: &HashMap>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `area` is never used [INFO] [stdout] --> src/day_17.rs:218:14 [INFO] [stdout] | [INFO] [stdout] 217 | impl Map { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] 218 | const fn area(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_steps_on_map` is never used [INFO] [stdout] --> src/day_17.rs:309:4 [INFO] [stdout] | [INFO] [stdout] 309 | fn print_steps_on_map(map: &Map, steps: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Vertical` is never used [INFO] [stdout] --> src/day_18.rs:246:6 [INFO] [stdout] | [INFO] [stdout] 246 | enum Vertical { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Horizontal` is never used [INFO] [stdout] --> src/day_18.rs:251:6 [INFO] [stdout] | [INFO] [stdout] 251 | enum Horizontal { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dir` is never constructed [INFO] [stdout] --> src/day_18.rs:256:8 [INFO] [stdout] | [INFO] [stdout] 256 | struct Dir { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `nr` is never read [INFO] [stdout] --> src/day_4.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 31 | struct Card { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 32 | nr: u32, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/day_13.rs:57:39 [INFO] [stdout] | [INFO] [stdout] 57 | println!("Static SUMMARY {}", SUMMARY.get_mut().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/day_13.rs:171:18 [INFO] [stdout] | [INFO] [stdout] 171 | *SUMMARY.get_mut().unwrap() += bottom_idx * 100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/day_13.rs:202:18 [INFO] [stdout] | [INFO] [stdout] 202 | *SUMMARY.get_mut().unwrap() += rhs_idx; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print` is never used [INFO] [stdout] --> src/day_11.rs:121:4 [INFO] [stdout] | [INFO] [stdout] 121 | fn print(map: &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: function `pos_distance` is never used [INFO] [stdout] --> src/day_11.rs:186:4 [INFO] [stdout] | [INFO] [stdout] 186 | fn pos_distance(p1: &POS, p2: &POS) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_pattern` is never used [INFO] [stdout] --> src/day_13.rs:229:4 [INFO] [stdout] | [INFO] [stdout] 229 | fn print_pattern(pattern: &Vec>) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rocks_to_str` is never used [INFO] [stdout] --> src/day_14.rs:103:4 [INFO] [stdout] | [INFO] [stdout] 103 | fn rocks_to_str(rocks: &Vec>>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_energized` is never used [INFO] [stdout] --> src/day_16.rs:268:4 [INFO] [stdout] | [INFO] [stdout] 268 | fn print_energized(contraption: &Contraption, mem: &HashMap>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `area` is never used [INFO] [stdout] --> src/day_17.rs:218:14 [INFO] [stdout] | [INFO] [stdout] 217 | impl Map { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] 218 | const fn area(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_steps_on_map` is never used [INFO] [stdout] --> src/day_17.rs:309:4 [INFO] [stdout] | [INFO] [stdout] 309 | fn print_steps_on_map(map: &Map, steps: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Vertical` is never used [INFO] [stdout] --> src/day_18.rs:246:6 [INFO] [stdout] | [INFO] [stdout] 246 | enum Vertical { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Horizontal` is never used [INFO] [stdout] --> src/day_18.rs:251:6 [INFO] [stdout] | [INFO] [stdout] 251 | enum Horizontal { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dir` is never constructed [INFO] [stdout] --> src/day_18.rs:256:8 [INFO] [stdout] | [INFO] [stdout] 256 | struct Dir { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `nr` is never read [INFO] [stdout] --> src/day_4.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 31 | struct Card { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 32 | nr: u32, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/day_13.rs:57:39 [INFO] [stdout] | [INFO] [stdout] 57 | println!("Static SUMMARY {}", SUMMARY.get_mut().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/day_13.rs:171:18 [INFO] [stdout] | [INFO] [stdout] 171 | *SUMMARY.get_mut().unwrap() += bottom_idx * 100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/day_13.rs:202:18 [INFO] [stdout] | [INFO] [stdout] 202 | *SUMMARY.get_mut().unwrap() += rhs_idx; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/main.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 182 | struct Game { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 183 | id: u32, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Game` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/main.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 182 | struct Game { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 183 | id: u32, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Game` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.89s [INFO] running `Command { std: "docker" "inspect" "2a057115de4dfdb3da679dc3f8e398bce9ca081c3e45c7c0d0571f4eafcbba22", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2a057115de4dfdb3da679dc3f8e398bce9ca081c3e45c7c0d0571f4eafcbba22", kill_on_drop: false }` [INFO] [stdout] 2a057115de4dfdb3da679dc3f8e398bce9ca081c3e45c7c0d0571f4eafcbba22