[INFO] cloning repository https://github.com/manuel-woelker/advent-of-code-2024
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/manuel-woelker/advent-of-code-2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanuel-woelker%2Fadvent-of-code-2024", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanuel-woelker%2Fadvent-of-code-2024'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e97e07cf8c9925e15855beb94102d7bf704d5603
[INFO] testing manuel-woelker/advent-of-code-2024 against 1.99.0-beta.1+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanuel-woelker%2Fadvent-of-code-2024" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/manuel-woelker/advent-of-code-2024
[INFO] finished tweaking git repo https://github.com/manuel-woelker/advent-of-code-2024
[INFO] tweaked toml for git repo https://github.com/manuel-woelker/advent-of-code-2024 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/manuel-woelker/advent-of-code-2024 on toolchain 1.99.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/manuel-woelker/advent-of-code-2024 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2714d867287a7e6c44f2da8cc99f4ca60fa6e0cc7c2fd35a7733c57fa28c2bb2
[INFO] running `Command { std: "docker" "start" "2714d867287a7e6c44f2da8cc99f4ca60fa6e0cc7c2fd35a7733c57fa28c2bb2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2714d867287a7e6c44f2da8cc99f4ca60fa6e0cc7c2fd35a7733c57fa28c2bb2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2714d867287a7e6c44f2da8cc99f4ca60fa6e0cc7c2fd35a7733c57fa28c2bb2" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2714d867287a7e6c44f2da8cc99f4ca60fa6e0cc7c2fd35a7733c57fa28c2bb2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2714d867287a7e6c44f2da8cc99f4ca60fa6e0cc7c2fd35a7733c57fa28c2bb2" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling tinyjson v2.5.1
[INFO] [stderr]    Compiling unscanny v0.1.0
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling advent_of_code v0.11.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ToChar`
[INFO] [stdout]  --> src/bin/10.rs:1:40
[INFO] [stdout]   |
[INFO] [stdout] 1 | use advent_of_code::map::{Map, Scalar, ToChar};
[INFO] [stdout]   |                                        ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x` is never read
[INFO] [stdout]   --> src/bin/06.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut x = 0;
[INFO] [stdout]    |                 ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 39 |         x = 0;
[INFO] [stdout]    |         ----- `x` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x` is never read
[INFO] [stdout]    --> src/bin/06.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut x = 0;
[INFO] [stdout]     |                 ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 122 |         x = 0;
[INFO] [stdout]     |         ----- `x` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `visited_directions` is never read
[INFO] [stdout]  --> src/bin/06.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Tile {
[INFO] [stdout]   |        ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     pub visited_directions: HashSet<Direction>,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Tile` has a derived impl for the trait `Clone`, 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: comparison is useless due to type limits
[INFO] [stdout]   --> src/bin/06.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         if (next_x < 0 || next_x >= map.width) || (next_y < 0 || next_y >= map.height) {
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/bin/06.rs:86:52
[INFO] [stdout]    |
[INFO] [stdout] 86 |         if (next_x < 0 || next_x >= map.width) || (next_y < 0 || next_y >= map.height) {
[INFO] [stdout]    |                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bin/09.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let value = if entry.value == -1 {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `frequency` is never read
[INFO] [stdout]   --> src/bin/08.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Position {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] 15 |     frequency: char,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Position` 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Equation` is never constructed
[INFO] [stdout]  --> src/bin/07.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Equation {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `state` is never used
[INFO] [stdout]    --> src/bin/17.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl IntCodeVm {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn state(&self) -> State {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/24.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let mut i = number_of_input_bits;
[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: `logical_map`
[INFO] [stdout]   --> src/bin/24.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let logical_map: HashMap<String, &Gate> = HashMap::new();
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_logical_map`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/bin/24.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let name = scanner.eat_while(char::is_alphanumeric).to_string();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bin/24.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let value = scanner.eat();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/bin/24.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let mut i = number_of_input_bits;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::WideTile::Wall`
[INFO] [stdout]  --> src/bin/15.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::WideTile::Wall;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/15.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let mut skinny_map = Map::parse_ascii(map_input);
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/15.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |         let mut cx = rx + dx;
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/15.rs:203:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |         let mut cy = ry + dy;
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bin/25.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |             for i in 0..10 {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bin/25.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |             for i in 0..10 {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/bin/25.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn part_two(input: &str) -> Option<u32> {
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/14.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut quadrant_counts = vec![0, 0, 0, 0];
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seconds_to_simulate`
[INFO] [stdout]   --> src/bin/14.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let seconds_to_simulate = 100;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seconds_to_simulate`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w2`
[INFO] [stdout]   --> src/bin/14.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let w2 = width / 2;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_w2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h2`
[INFO] [stdout]   --> src/bin/14.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let h2 = height / 2;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_h2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `quadrant_counts`
[INFO] [stdout]    --> src/bin/14.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut quadrant_counts = vec![0, 0, 0, 0];
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_quadrant_counts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x`, `y`, `vx`, and `vy` are never read
[INFO] [stdout]   --> src/bin/14.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | struct Drone {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 84 |     x: i64,
[INFO] [stdout]    |     ^
[INFO] [stdout] 85 |     y: i64,
[INFO] [stdout]    |     ^
[INFO] [stdout] 86 |     vx: i64,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 87 |     vy: i64,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Index` is never used
[INFO] [stdout]   --> src/bin/22.rs:35:6
[INFO] [stdout]    |
[INFO] [stdout] 35 | type Index = [u8;4];
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Entry` is never constructed
[INFO] [stdout]   --> src/bin/22.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct Entry {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Scalar`
[INFO] [stdout]  --> src/bin/21.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use advent_of_code::map::{Map, Scalar};
[INFO] [stdout]   |                                ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 19.23s
[INFO] running `Command { std: "docker" "inspect" "2714d867287a7e6c44f2da8cc99f4ca60fa6e0cc7c2fd35a7733c57fa28c2bb2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2714d867287a7e6c44f2da8cc99f4ca60fa6e0cc7c2fd35a7733c57fa28c2bb2" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling advent_of_code v0.11.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::WideTile::Wall`
[INFO] [stdout]  --> src/bin/15.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::WideTile::Wall;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bin/25.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |             for i in 0..10 {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bin/25.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |             for i in 0..10 {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/bin/25.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn part_two(input: &str) -> Option<u32> {
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Equation` is never constructed
[INFO] [stdout]  --> src/bin/07.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Equation {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x` is never read
[INFO] [stdout]   --> src/bin/06.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut x = 0;
[INFO] [stdout]    |                 ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 39 |         x = 0;
[INFO] [stdout]    |         ----- `x` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x` is never read
[INFO] [stdout]    --> src/bin/06.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut x = 0;
[INFO] [stdout]     |                 ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 122 |         x = 0;
[INFO] [stdout]     |         ----- `x` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `visited_directions` is never read
[INFO] [stdout]  --> src/bin/06.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Tile {
[INFO] [stdout]   |        ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     pub visited_directions: HashSet<Direction>,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Tile` has a derived impl for the trait `Clone`, 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: comparison is useless due to type limits
[INFO] [stdout]   --> src/bin/06.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         if (next_x < 0 || next_x >= map.width) || (next_y < 0 || next_y >= map.height) {
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/bin/06.rs:86:52
[INFO] [stdout]    |
[INFO] [stdout] 86 |         if (next_x < 0 || next_x >= map.width) || (next_y < 0 || next_y >= map.height) {
[INFO] [stdout]    |                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `frequency` is never read
[INFO] [stdout]   --> src/bin/08.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Position {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] 15 |     frequency: char,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Position` 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bin/09.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let value = if entry.value == -1 {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/15.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let mut skinny_map = Map::parse_ascii(map_input);
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/15.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |         let mut cx = rx + dx;
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/15.rs:203:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |         let mut cy = ry + dy;
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/24.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let mut i = number_of_input_bits;
[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: `logical_map`
[INFO] [stdout]   --> src/bin/24.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let logical_map: HashMap<String, &Gate> = HashMap::new();
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_logical_map`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/bin/24.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let name = scanner.eat_while(char::is_alphanumeric).to_string();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bin/24.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let value = scanner.eat();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/bin/24.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let mut i = number_of_input_bits;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `state` is never used
[INFO] [stdout]    --> src/bin/17.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl IntCodeVm {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn state(&self) -> State {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/14.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut quadrant_counts = vec![0, 0, 0, 0];
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seconds_to_simulate`
[INFO] [stdout]   --> src/bin/14.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let seconds_to_simulate = 100;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seconds_to_simulate`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w2`
[INFO] [stdout]   --> src/bin/14.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let w2 = width / 2;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_w2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h2`
[INFO] [stdout]   --> src/bin/14.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let h2 = height / 2;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_h2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `quadrant_counts`
[INFO] [stdout]    --> src/bin/14.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut quadrant_counts = vec![0, 0, 0, 0];
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_quadrant_counts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x`, `y`, `vx`, and `vy` are never read
[INFO] [stdout]   --> src/bin/14.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | struct Drone {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 84 |     x: i64,
[INFO] [stdout]    |     ^
[INFO] [stdout] 85 |     y: i64,
[INFO] [stdout]    |     ^
[INFO] [stdout] 86 |     vx: i64,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 87 |     vy: i64,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Index` is never used
[INFO] [stdout]   --> src/bin/22.rs:35:6
[INFO] [stdout]    |
[INFO] [stdout] 35 | type Index = [u8;4];
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Entry` is never constructed
[INFO] [stdout]   --> src/bin/22.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct Entry {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_part_two_x` is never used
[INFO] [stdout]   --> src/bin/22.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn test_part_two_x() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Scalar`
[INFO] [stdout]  --> src/bin/21.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use advent_of_code::map::{Map, Scalar};
[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: `ToChar`
[INFO] [stdout]  --> src/bin/10.rs:1:40
[INFO] [stdout]   |
[INFO] [stdout] 1 | use advent_of_code::map::{Map, Scalar, ToChar};
[INFO] [stdout]   |                                        ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 4.77s
[INFO] running `Command { std: "docker" "inspect" "2714d867287a7e6c44f2da8cc99f4ca60fa6e0cc7c2fd35a7733c57fa28c2bb2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2714d867287a7e6c44f2da8cc99f4ca60fa6e0cc7c2fd35a7733c57fa28c2bb2" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/bin/14.rs:100:9
[INFO] [stderr]     |
[INFO] [stderr] 100 |     let mut quadrant_counts = vec![0, 0, 0, 0];
[INFO] [stderr]     |         ----^^^^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `seconds_to_simulate`
[INFO] [stderr]   --> src/bin/14.rs:91:9
[INFO] [stderr]    |
[INFO] [stderr] 91 |     let seconds_to_simulate = 100;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seconds_to_simulate`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `w2`
[INFO] [stderr]   --> src/bin/14.rs:95:9
[INFO] [stderr]    |
[INFO] [stderr] 95 |     let w2 = width / 2;
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_w2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `h2`
[INFO] [stderr]   --> src/bin/14.rs:98:9
[INFO] [stderr]    |
[INFO] [stderr] 98 |     let h2 = height / 2;
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_h2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `quadrant_counts`
[INFO] [stderr]    --> src/bin/14.rs:100:9
[INFO] [stderr]     |
[INFO] [stderr] 100 |     let mut quadrant_counts = vec![0, 0, 0, 0];
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_quadrant_counts`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `x`, `y`, `vx`, and `vy` are never read
[INFO] [stderr]   --> src/bin/14.rs:84:5
[INFO] [stderr]    |
[INFO] [stderr] 83 | struct Drone {
[INFO] [stderr]    |        ----- fields in this struct
[INFO] [stderr] 84 |     x: i64,
[INFO] [stderr]    |     ^
[INFO] [stderr] 85 |     y: i64,
[INFO] [stderr]    |     ^
[INFO] [stderr] 86 |     vx: i64,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 87 |     vy: i64,
[INFO] [stderr]    |     ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Index` is never used
[INFO] [stderr]   --> src/bin/22.rs:35:6
[INFO] [stderr]    |
[INFO] [stderr] 35 | type Index = [u8;4];
[INFO] [stderr]    |      ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Entry` is never constructed
[INFO] [stderr]   --> src/bin/22.rs:37:8
[INFO] [stderr]    |
[INFO] [stderr] 37 | struct Entry {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_part_two_x` is never used
[INFO] [stderr]   --> src/bin/22.rs:90:8
[INFO] [stderr]    |
[INFO] [stderr] 90 |     fn test_part_two_x() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Scalar`
[INFO] [stderr]  --> src/bin/21.rs:2:32
[INFO] [stderr]   |
[INFO] [stderr] 2 | use advent_of_code::map::{Map, Scalar};
[INFO] [stderr]   |                                ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `advent_of_code` (bin "14" test) generated 6 warnings (run `cargo fix --bin "14" -p advent_of_code --tests` to apply 5 suggestions)
[INFO] [stderr] warning: `advent_of_code` (bin "22" test) generated 3 warnings
[INFO] [stderr] warning: `advent_of_code` (bin "21" test) generated 1 warning (run `cargo fix --bin "21" -p advent_of_code --tests` to apply 1 suggestion)
[INFO] [stderr] warning: unused import: `ToChar`
[INFO] [stderr]  --> src/bin/10.rs:1:40
[INFO] [stderr]   |
[INFO] [stderr] 1 | use advent_of_code::map::{Map, Scalar, ToChar};
[INFO] [stderr]   |                                        ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bin/09.rs:108:13
[INFO] [stderr]     |
[INFO] [stderr] 108 |         let value = if entry.value == -1 {
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `frequency` is never read
[INFO] [stderr]   --> src/bin/08.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | struct Position {
[INFO] [stderr]    |        -------- field in this struct
[INFO] [stderr] 15 |     frequency: char,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Position` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Equation` is never constructed
[INFO] [stderr]  --> src/bin/07.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | struct Equation {
[INFO] [stderr]   |        ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `state` is never used
[INFO] [stderr]    --> src/bin/17.rs:118:12
[INFO] [stderr]     |
[INFO] [stderr]  22 | impl IntCodeVm {
[INFO] [stderr]     | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 118 |     pub fn state(&self) -> State {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `x` is never read
[INFO] [stderr]   --> src/bin/06.rs:32:17
[INFO] [stderr]    |
[INFO] [stderr] 32 |     let mut x = 0;
[INFO] [stderr]    |                 ^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 39 |         x = 0;
[INFO] [stderr]    |         ----- `x` is overwritten here before the previous value is read
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `x` is never read
[INFO] [stderr]    --> src/bin/06.rs:115:17
[INFO] [stderr]     |
[INFO] [stderr] 115 |     let mut x = 0;
[INFO] [stderr]     |                 ^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 122 |         x = 0;
[INFO] [stderr]     |         ----- `x` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: field `visited_directions` is never read
[INFO] [stderr]  --> src/bin/06.rs:9:9
[INFO] [stderr]   |
[INFO] [stderr] 6 | struct Tile {
[INFO] [stderr]   |        ---- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 9 |     pub visited_directions: HashSet<Direction>,
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Tile` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]   --> src/bin/06.rs:86:13
[INFO] [stderr]    |
[INFO] [stderr] 86 |         if (next_x < 0 || next_x >= map.width) || (next_y < 0 || next_y >= map.height) {
[INFO] [stderr]    |             ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]   --> src/bin/06.rs:86:52
[INFO] [stderr]    |
[INFO] [stderr] 86 |         if (next_x < 0 || next_x >= map.width) || (next_y < 0 || next_y >= map.height) {
[INFO] [stderr]    |                                                    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::WideTile::Wall`
[INFO] [stderr]  --> src/bin/15.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::WideTile::Wall;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/bin/15.rs:163:9
[INFO] [stderr]     |
[INFO] [stderr] 163 |     let mut skinny_map = Map::parse_ascii(map_input);
[INFO] [stderr]     |         ----^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/bin/15.rs:202:13
[INFO] [stderr]     |
[INFO] [stderr] 202 |         let mut cx = rx + dx;
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/bin/15.rs:203:13
[INFO] [stderr]     |
[INFO] [stderr] 203 |         let mut cy = ry + dy;
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/bin/24.rs:147:9
[INFO] [stderr]     |
[INFO] [stderr] 147 |     let mut i = number_of_input_bits;
[INFO] [stderr]     |         ----^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `logical_map`
[INFO] [stderr]   --> src/bin/24.rs:99:9
[INFO] [stderr]    |
[INFO] [stderr] 99 |     let logical_map: HashMap<String, &Gate> = HashMap::new();
[INFO] [stderr]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_logical_map`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> src/bin/24.rs:101:13
[INFO] [stderr]     |
[INFO] [stderr] 101 |         let name = scanner.eat_while(char::is_alphanumeric).to_string();
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bin/24.rs:103:13
[INFO] [stderr]     |
[INFO] [stderr] 103 |         let value = scanner.eat();
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/bin/24.rs:147:9
[INFO] [stderr]     |
[INFO] [stderr] 147 |     let mut i = number_of_input_bits;
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/bin/25.rs:19:17
[INFO] [stderr]    |
[INFO] [stderr] 19 |             for i in 0..10 {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/bin/25.rs:35:17
[INFO] [stderr]    |
[INFO] [stderr] 35 |             for i in 0..10 {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]   --> src/bin/25.rs:70:17
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub fn part_two(input: &str) -> Option<u32> {
[INFO] [stderr]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr] 
[INFO] [stderr] warning: `advent_of_code` (bin "10" test) generated 1 warning (run `cargo fix --bin "10" -p advent_of_code --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `advent_of_code` (bin "09" test) generated 1 warning (run `cargo fix --bin "09" -p advent_of_code --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `advent_of_code` (bin "08" test) generated 1 warning
[INFO] [stderr] warning: `advent_of_code` (bin "07" test) generated 1 warning
[INFO] [stderr] warning: `advent_of_code` (bin "17" test) generated 1 warning
[INFO] [stderr] warning: `advent_of_code` (bin "06" test) generated 5 warnings
[INFO] [stderr] warning: `advent_of_code` (bin "15" test) generated 4 warnings (run `cargo fix --bin "15" -p advent_of_code --tests` to apply 4 suggestions)
[INFO] [stderr] warning: `advent_of_code` (bin "24" test) generated 5 warnings (run `cargo fix --bin "24" -p advent_of_code --tests` to apply 5 suggestions)
[INFO] [stderr] warning: `advent_of_code` (bin "25" test) generated 3 warnings (run `cargo fix --bin "25" -p advent_of_code --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/advent_of_code-7d686c2f32c62496)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/01.rs (/opt/rustwide/target/release/deps/01-4475239c266cab88)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_part_one ... ok
[INFO] [stdout] test tests::test_part_two ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]      Running unittests src/bin/02.rs (/opt/rustwide/target/release/deps/02-c623b657757ba311)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_part_two ... ok
[INFO] [stdout] test tests::test_part_one ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/03.rs (/opt/rustwide/target/release/deps/03-4c37cd48f0b207b2)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_part_one ... ok
[INFO] [stdout] test tests::test_part_two ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/04.rs (/opt/rustwide/target/release/deps/04-21770600d935d597)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_part_one ... ok
[INFO] [stdout] test tests::test_part_two ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]      Running unittests src/bin/05.rs (/opt/rustwide/target/release/deps/05-98e9d626e8636851)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_part_one ... ok
[INFO] [stdout] test tests::test_part_two ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/06.rs (/opt/rustwide/target/release/deps/06-da029e68254c5fff)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_part_one ... ok
[INFO] [stdout] test tests::test_part_two ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/07.rs (/opt/rustwide/target/release/deps/07-ffd0b43818325479)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_part_two ... ok
[INFO] [stdout] test tests::test_part_one ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/08.rs (/opt/rustwide/target/release/deps/08-ee9217c4d02360dd)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_part_one ... ok
[INFO] [stdout] test tests::test_part_two ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/09.rs (/opt/rustwide/target/release/deps/09-9a583b88196be220)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_part_one ... ok
[INFO] [stdout] test tests::test_part_two ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/10.rs (/opt/rustwide/target/release/deps/10-7113a2a1267e07e8)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_part_one ... ok
[INFO] [stdout] test tests::test_part_two ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/11.rs (/opt/rustwide/target/release/deps/11-17fa632eaf8079c7)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_part_one ... ok
[INFO] [stdout] test tests::test_part_two ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_part_two stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_part_two' (1911) panicked at src/bin/11.rs:103:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: Some(65601038650482)
[INFO] [stdout]  right: Some(55312)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x653a911220a1 - <<std[104cf6e2632825ea]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[7c831bd917ebf35f]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x653a911362ea - core[7c831bd917ebf35f]::fmt::write
[INFO] [stdout]    2:     0x653a9112653c - <alloc[2fdc3f7464fcf288]::vec::Vec<u8> as core[7c831bd917ebf35f]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x653a910fe186 - std[104cf6e2632825ea]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x653a9111a449 - std[104cf6e2632825ea]::panicking::default_hook
[INFO] [stdout]    5:     0x653a910b5ee0 - test[73009c9f9aebf890]::test_main_inner::<test[73009c9f9aebf890]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x653a9111a602 - std[104cf6e2632825ea]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x653a910fe232 - std[104cf6e2632825ea]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x653a910f6689 - std[104cf6e2632825ea]::sys::backtrace::__rust_end_short_backtrace::<std[104cf6e2632825ea]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x653a910fee2d - __rustc[b0d56fa5b193ad05]::rust_begin_unwind
[INFO] [stdout]   10:     0x653a91136a1c - core[7c831bd917ebf35f]::panicking::panic_fmt
[INFO] [stdout]   11:     0x653a91136933 - core[7c831bd917ebf35f]::panicking::assert_failed_inner
[INFO] [stdout]   12:     0x653a910a71e1 - core[7c831bd917ebf35f]::panicking::assert_failed::<core[7c831bd917ebf35f]::option::Option<u64>, core[7c831bd917ebf35f]::option::Option<u64>>
[INFO] [stdout]   13:     0x653a910a861c - <11[ba4dd6b880d65c2c]::tests::test_part_two::{closure#0} as core[7c831bd917ebf35f]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   14:     0x653a910a91cb - test[73009c9f9aebf890]::__rust_begin_short_backtrace::<core[7c831bd917ebf35f]::result::Result<(), alloc[2fdc3f7464fcf288]::string::String>, fn() -> core[7c831bd917ebf35f]::result::Result<(), alloc[2fdc3f7464fcf288]::string::String>>
[INFO] [stdout]   15:     0x653a910b6835 - test[73009c9f9aebf890]::run_test::{closure#0}
[INFO] [stdout]   16:     0x653a910afbf4 - std[104cf6e2632825ea]::sys::backtrace::__rust_begin_short_backtrace::<test[73009c9f9aebf890]::run_test::{closure#1}, ()>
[INFO] [stdout]   17:     0x653a910b9992 - <std[104cf6e2632825ea]::thread::lifecycle::spawn_unchecked<test[73009c9f9aebf890]::run_test::{closure#1}, ()>::{closure#1} as core[7c831bd917ebf35f]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   18:     0x653a91121609 - <std[104cf6e2632825ea]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   19:     0x7ea514dae07a - <unknown>
[INFO] [stderr] error: test failed, to rerun pass `--bin 11`
[INFO] [stdout]   20:     0x7ea514e41534 - clone
[INFO] [stdout]   21:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::test_part_two
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2714d867287a7e6c44f2da8cc99f4ca60fa6e0cc7c2fd35a7733c57fa28c2bb2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2714d867287a7e6c44f2da8cc99f4ca60fa6e0cc7c2fd35a7733c57fa28c2bb2", kill_on_drop: false }`
[INFO] [stdout] 2714d867287a7e6c44f2da8cc99f4ca60fa6e0cc7c2fd35a7733c57fa28c2bb2
