[INFO] cloning repository https://github.com/1in1/aoc2024
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/1in1/aoc2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F1in1%2Faoc2024", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F1in1%2Faoc2024'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f94dca13ec26c2ba1e5b1e359decfc74c66df418
[INFO] checking 1in1/aoc2024 against try#e117153a45c546e883c1f91d82611775fcaeffe0 for pr-146470
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F1in1%2Faoc2024" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/1in1/aoc2024
[INFO] finished tweaking git repo https://github.com/1in1/aoc2024
[INFO] tweaked toml for git repo https://github.com/1in1/aoc2024 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/1in1/aoc2024 on toolchain e117153a45c546e883c1f91d82611775fcaeffe0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e117153a45c546e883c1f91d82611775fcaeffe0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/1in1/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" "+e117153a45c546e883c1f91d82611775fcaeffe0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+e117153a45c546e883c1f91d82611775fcaeffe0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c6b49c6f407259f736783a1e8d7486e330c9757d9e63c4415ee25632ec62d819
[INFO] running `Command { std: "docker" "start" "-a" "c6b49c6f407259f736783a1e8d7486e330c9757d9e63c4415ee25632ec62d819", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c6b49c6f407259f736783a1e8d7486e330c9757d9e63c4415ee25632ec62d819", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c6b49c6f407259f736783a1e8d7486e330c9757d9e63c4415ee25632ec62d819", kill_on_drop: false }`
[INFO] [stdout] c6b49c6f407259f736783a1e8d7486e330c9757d9e63c4415ee25632ec62d819
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+e117153a45c546e883c1f91d82611775fcaeffe0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5a69366f06cd2ecdf2a638debaba449f28d6a78f7617b87ae0177591f096f314
[INFO] running `Command { std: "docker" "start" "-a" "5a69366f06cd2ecdf2a638debaba449f28d6a78f7617b87ae0177591f096f314", kill_on_drop: false }`
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking gcd v2.3.0
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking aoc2024 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::ops`
[INFO] [stdout]  --> src/days/day17.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops;
[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: `crate::days::day17`
[INFO] [stdout]  --> src/days/day18.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::days::day17;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/days/day18.rs:140:25
[INFO] [stdout]     |
[INFO] [stdout] 140 |             seen.insert((pos));
[INFO] [stdout]     |                         ^   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 140 -             seen.insert((pos));
[INFO] [stdout] 140 +             seen.insert(pos );
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops`
[INFO] [stdout]  --> src/days/day17.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops;
[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::collections::HashSet`
[INFO] [stdout]  --> src/days/day19.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/days/day20.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BinaryHeap`
[INFO] [stdout]  --> src/days/day20.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::BinaryHeap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day17`
[INFO] [stdout]  --> src/days/day18.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::days::day17;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/days/day20.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/days/day20.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/days/day18.rs:140:25
[INFO] [stdout]     |
[INFO] [stdout] 140 |             seen.insert((pos));
[INFO] [stdout]     |                         ^   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 140 -             seen.insert((pos));
[INFO] [stdout] 140 +             seen.insert(pos );
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/days/day21.rs:113:18
[INFO] [stdout]     |
[INFO] [stdout] 113 |         for i in (0..n) {
[INFO] [stdout]     |                  ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 113 -         for i in (0..n) {
[INFO] [stdout] 113 +         for i in 0..n  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops`
[INFO] [stdout]  --> src/days/day22.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/days/day19.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/days/day22.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/days/day20.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BinaryHeap`
[INFO] [stdout]  --> src/days/day20.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::BinaryHeap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/days/day20.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/days/day20.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/days/day24.rs:91:25
[INFO] [stdout]    |
[INFO] [stdout] 91 |                 let x = (1 << i);
[INFO] [stdout]    |                         ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 91 -                 let x = (1 << i);
[INFO] [stdout] 91 +                 let x = 1 << i ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/days/day21.rs:113:18
[INFO] [stdout]     |
[INFO] [stdout] 113 |         for i in (0..n) {
[INFO] [stdout]     |                  ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 113 -         for i in (0..n) {
[INFO] [stdout] 113 +         for i in 0..n  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/days/day24.rs:92:25
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 let y = (1 << j);
[INFO] [stdout]    |                         ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 92 -                 let y = (1 << j);
[INFO] [stdout] 92 +                 let y = 1 << j ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops`
[INFO] [stdout]  --> src/days/day22.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/days/day22.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/days/day24.rs:91:25
[INFO] [stdout]    |
[INFO] [stdout] 91 |                 let x = (1 << i);
[INFO] [stdout]    |                         ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 91 -                 let x = (1 << i);
[INFO] [stdout] 91 +                 let x = 1 << i ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/days/day24.rs:92:25
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 let y = (1 << j);
[INFO] [stdout]    |                         ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 92 -                 let y = (1 << j);
[INFO] [stdout] 92 +                 let y = 1 << j ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/days/day24.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/days/day24.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `robot_pos`
[INFO] [stdout]    --> src/days/day15.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let robot_pos = instructions
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_robot_pos`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `robot_pos`
[INFO] [stdout]    --> src/days/day15.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let robot_pos = instructions
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_robot_pos`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `robot_pos`
[INFO] [stdout]    --> src/days/day15.rs:237:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let robot_pos = instructions
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_robot_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `robot_pos`
[INFO] [stdout]    --> src/days/day15.rs:237:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let robot_pos = instructions
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_robot_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/days/day17.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 | ...   let mut initial_state = match &input.lines().take(3).map(|line| re.captures(line).unwrap()[1].parse::<u64>().unwrap()).collec...
[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/days/day17.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 | ...   let mut initial_state = match &input.lines().take(3).map(|line| re.captures(line).unwrap()[1].parse::<u64>().unwrap()).collec...
[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/days/day24.rs:183:24
[INFO] [stdout]     |
[INFO] [stdout] 183 |     fn solve_p2(&self, input: &str) -> String {
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/days/day24.rs:183:24
[INFO] [stdout]     |
[INFO] [stdout] 183 |     fn solve_p2(&self, input: &str) -> String {
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]  --> src/days/day25.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn solve_p2(&self, input: &str) -> String {
[INFO] [stdout]   |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]  --> src/days/day25.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn solve_p2(&self, input: &str) -> String {
[INFO] [stdout]   |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `connected_2` is never used
[INFO] [stdout]   --> src/days/day15.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Day15 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn connected_2(
[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 `pause` is never used
[INFO] [stdout]   --> src/days/day17.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn pause() {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CheatId` is never constructed
[INFO] [stdout]   --> src/days/day20.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct CheatId {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `end` is never read
[INFO] [stdout]   --> src/days/day20.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct WalkIterator<'life> {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |     end: (usize, usize),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `add_using_circuit`, `bad_inputs`, `bad_gates`, `swap`, `has_cycle`, and `dfs_has_cycle` are never used
[INFO] [stdout]    --> src/days/day24.rs:53:8
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl Day24 {
[INFO] [stdout]     | ---------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  53 |     fn add_using_circuit(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     fn bad_inputs(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn bad_gates(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn swap(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fn has_cycle(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     fn dfs_has_cycle(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `connected_2` is never used
[INFO] [stdout]   --> src/days/day15.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Day15 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn connected_2(
[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 `pause` is never used
[INFO] [stdout]   --> src/days/day17.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn pause() {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CheatId` is never constructed
[INFO] [stdout]   --> src/days/day20.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct CheatId {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `end` is never read
[INFO] [stdout]   --> src/days/day20.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct WalkIterator<'life> {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |     end: (usize, usize),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `add_using_circuit`, `bad_inputs`, `bad_gates`, `swap`, `has_cycle`, and `dfs_has_cycle` are never used
[INFO] [stdout]    --> src/days/day24.rs:53:8
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl Day24 {
[INFO] [stdout]     | ---------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  53 |     fn add_using_circuit(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     fn bad_inputs(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn bad_gates(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn swap(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fn has_cycle(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     fn dfs_has_cycle(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]    --> src/days/day23.rs:135:49
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...                   let mut tmp = [a.clone(), b.clone(), c.clone()]
[INFO] [stdout]     |                                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]    --> src/days/day23.rs:135:60
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...                   let mut tmp = [a.clone(), b.clone(), c.clone()]
[INFO] [stdout]     |                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]    --> src/days/day23.rs:135:71
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...                   let mut tmp = [a.clone(), b.clone(), c.clone()]
[INFO] [stdout]     |                                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]    --> src/days/day23.rs:135:49
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...                   let mut tmp = [a.clone(), b.clone(), c.clone()]
[INFO] [stdout]     |                                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]    --> src/days/day23.rs:135:60
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...                   let mut tmp = [a.clone(), b.clone(), c.clone()]
[INFO] [stdout]     |                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]    --> src/days/day23.rs:135:71
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...                   let mut tmp = [a.clone(), b.clone(), c.clone()]
[INFO] [stdout]     |                                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.48s
[INFO] running `Command { std: "docker" "inspect" "5a69366f06cd2ecdf2a638debaba449f28d6a78f7617b87ae0177591f096f314", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5a69366f06cd2ecdf2a638debaba449f28d6a78f7617b87ae0177591f096f314", kill_on_drop: false }`
[INFO] [stdout] 5a69366f06cd2ecdf2a638debaba449f28d6a78f7617b87ae0177591f096f314
