[INFO] cloning repository https://github.com/waldirborbajr/aoc2024
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/waldirborbajr/aoc2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwaldirborbajr%2Faoc2024", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwaldirborbajr%2Faoc2024'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 759736692d430eea6a2ce9c4b2c8fc76a086f6a7
[INFO] checking waldirborbajr/aoc2024 against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwaldirborbajr%2Faoc2024" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/waldirborbajr/aoc2024
[INFO] finished tweaking git repo https://github.com/waldirborbajr/aoc2024
[INFO] tweaked toml for git repo https://github.com/waldirborbajr/aoc2024 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/waldirborbajr/aoc2024 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/waldirborbajr/aoc2024 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded proc-macro2 v1.0.70
[INFO] [stderr]   Downloaded num v0.4.1
[INFO] [stderr]   Downloaded syn v2.0.41
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 69060fd701f440eae41744c7c42375b71920ff09c6efa3a5f339d722dd1d1d3c
[INFO] running `Command { std: "docker" "start" "-a" "69060fd701f440eae41744c7c42375b71920ff09c6efa3a5f339d722dd1d1d3c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "69060fd701f440eae41744c7c42375b71920ff09c6efa3a5f339d722dd1d1d3c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "69060fd701f440eae41744c7c42375b71920ff09c6efa3a5f339d722dd1d1d3c", kill_on_drop: false }`
[INFO] [stdout] 69060fd701f440eae41744c7c42375b71920ff09c6efa3a5f339d722dd1d1d3c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e1010f65d565ac0ece2e41d00987805c5103c6ec261f5f4b7ec374998643332a
[INFO] running `Command { std: "docker" "start" "-a" "e1010f65d565ac0ece2e41d00987805c5103c6ec261f5f4b7ec374998643332a", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]     Checking memchr v2.6.4
[INFO] [stderr]     Checking zerocopy v0.7.31
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]     Checking allocator-api2 v0.2.16
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]    Compiling ahash v0.8.6
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]     Checking num-complex v0.4.4
[INFO] [stderr]     Checking regex-automata v0.4.3
[INFO] [stderr]     Checking num v0.4.1
[INFO] [stderr]     Checking regex v1.10.2
[INFO] [stderr]     Checking aoc2023 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ops::Rem`
[INFO] [stdout]  --> src/puzzles/day21.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashSet, ops::Rem};
[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: `ops::Rem`
[INFO] [stdout]  --> src/puzzles/day21.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashSet, ops::Rem};
[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: `num::traits::Euclid`
[INFO] [stdout]  --> src/puzzles/day21.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use num::traits::Euclid;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mirrored_lines` is never read
[INFO] [stdout]    --> src/puzzles/day13.rs:135:17
[INFO] [stdout]     |
[INFO] [stdout] 135 |                 mirrored_lines += 2;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::traits::Euclid`
[INFO] [stdout]  --> src/puzzles/day21.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use num::traits::Euclid;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/puzzles/day20.rs:150:24
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 .map(|(n, m)| m.least_to_send(Pulse::High, modules, least_memo))
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/puzzles/day20.rs:140:24
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 .map(|(n, m)| {
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/puzzles/day20.rs:126:28
[INFO] [stdout]     |
[INFO] [stdout] 126 |                     .map(|(n, m)| m.least_to_send(Pulse::Low, modules, least_memo))
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/puzzles/day20.rs:120:24
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 .map(|(n, m)| m.least_to_send(Pulse::High, modules, least_memo))
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mirrored_lines` is never read
[INFO] [stdout]    --> src/puzzles/day13.rs:135:17
[INFO] [stdout]     |
[INFO] [stdout] 135 |                 mirrored_lines += 2;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/puzzles/day12.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Operational(u32),
[INFO] [stdout]    |     ----------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpringRun` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 23 -     Operational(u32),
[INFO] [stdout] 23 +     Operational(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/puzzles/day12.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Damaged(u32),
[INFO] [stdout]    |     ------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpringRun` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 24 -     Damaged(u32),
[INFO] [stdout] 24 +     Damaged(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/puzzles/day12.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Unknown(u32),
[INFO] [stdout]    |     ------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpringRun` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 25 -     Unknown(u32),
[INFO] [stdout] 25 +     Unknown(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pending` is never read
[INFO] [stdout]   --> src/puzzles/day20.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | struct Module {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pending: Either<Option<Pulse>, VecDeque<Pulse>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Module` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `least_memo` and `presses` are never read
[INFO] [stdout]   --> src/puzzles/day20.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | struct ModuleArray {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 61 |     modules: HashMap<String, Module>,
[INFO] [stdout] 62 |     least_memo: HashMap<(String, Pulse), u64>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 63 |     presses: usize,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModuleArray` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `receive_pulse`, `has_pending`, and `get_pending` are never used
[INFO] [stdout]    --> src/puzzles/day20.rs:169:8
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl Module {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 169 |     fn receive_pulse(&mut self, origin: &str, pulse: Pulse) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn has_pending(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     fn get_pending(&mut self) -> Option<Pulse> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push_button` and `tick` are never used
[INFO] [stdout]    --> src/puzzles/day20.rs:244:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | impl ModuleArray {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 244 |     fn push_button(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn tick(&mut self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/puzzles/day20.rs:150:24
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 .map(|(n, m)| m.least_to_send(Pulse::High, modules, least_memo))
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/puzzles/day20.rs:140:24
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 .map(|(n, m)| {
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/puzzles/day20.rs:126:28
[INFO] [stdout]     |
[INFO] [stdout] 126 |                     .map(|(n, m)| m.least_to_send(Pulse::Low, modules, least_memo))
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/puzzles/day20.rs:120:24
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 .map(|(n, m)| m.least_to_send(Pulse::High, modules, least_memo))
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/puzzles/day12.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Operational(u32),
[INFO] [stdout]    |     ----------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpringRun` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 23 -     Operational(u32),
[INFO] [stdout] 23 +     Operational(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/puzzles/day12.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Damaged(u32),
[INFO] [stdout]    |     ------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpringRun` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 24 -     Damaged(u32),
[INFO] [stdout] 24 +     Damaged(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/puzzles/day12.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Unknown(u32),
[INFO] [stdout]    |     ------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpringRun` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 25 -     Unknown(u32),
[INFO] [stdout] 25 +     Unknown(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pending` is never read
[INFO] [stdout]   --> src/puzzles/day20.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | struct Module {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pending: Either<Option<Pulse>, VecDeque<Pulse>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Module` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `least_memo` and `presses` are never read
[INFO] [stdout]   --> src/puzzles/day20.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | struct ModuleArray {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 61 |     modules: HashMap<String, Module>,
[INFO] [stdout] 62 |     least_memo: HashMap<(String, Pulse), u64>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 63 |     presses: usize,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModuleArray` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `receive_pulse`, `has_pending`, and `get_pending` are never used
[INFO] [stdout]    --> src/puzzles/day20.rs:169:8
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl Module {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 169 |     fn receive_pulse(&mut self, origin: &str, pulse: Pulse) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn has_pending(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     fn get_pending(&mut self) -> Option<Pulse> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push_button` and `tick` are never used
[INFO] [stdout]    --> src/puzzles/day20.rs:244:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | impl ModuleArray {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 244 |     fn push_button(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn tick(&mut self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.31s
[INFO] running `Command { std: "docker" "inspect" "e1010f65d565ac0ece2e41d00987805c5103c6ec261f5f4b7ec374998643332a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e1010f65d565ac0ece2e41d00987805c5103c6ec261f5f4b7ec374998643332a", kill_on_drop: false }`
[INFO] [stdout] e1010f65d565ac0ece2e41d00987805c5103c6ec261f5f4b7ec374998643332a
