[INFO] cloning repository https://github.com/sim82/aoc2019
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sim82/aoc2019" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsim82%2Faoc2019", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsim82%2Faoc2019'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3f60ca1ef3993d59d8e5e491f84511f34ff34ee6
[INFO] testing sim82/aoc2019 against 1.75.0 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsim82%2Faoc2019" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/sim82/aoc2019 on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/sim82/aoc2019
[INFO] finished tweaking git repo https://github.com/sim82/aoc2019
[INFO] tweaked toml for git repo https://github.com/sim82/aoc2019 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/sim82/aoc2019 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.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded termion v1.5.4
[INFO] [stderr]   Downloaded pathfinding v2.0.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a3f16c6e0e96528650c3bd61d78626ef1408cddf7c71ec768ee136a5d687a91c
[INFO] running `Command { std: "docker" "start" "-a" "a3f16c6e0e96528650c3bd61d78626ef1408cddf7c71ec768ee136a5d687a91c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a3f16c6e0e96528650c3bd61d78626ef1408cddf7c71ec768ee136a5d687a91c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a3f16c6e0e96528650c3bd61d78626ef1408cddf7c71ec768ee136a5d687a91c", kill_on_drop: false }`
[INFO] [stdout] a3f16c6e0e96528650c3bd61d78626ef1408cddf7c71ec768ee136a5d687a91c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3bc58b03d976748597084f5d9ccaff8a993a4e00f3b22847426f788796706bf4
[INFO] running `Command { std: "docker" "start" "-a" "3bc58b03d976748597084f5d9ccaff8a993a4e00f3b22847426f788796706bf4", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.66
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling getrandom v0.1.13
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.6
[INFO] [stderr]    Compiling nix v0.14.1
[INFO] [stderr]    Compiling either v1.5.3
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling fixedbitset v0.2.0
[INFO] [stderr]    Compiling numtoa v0.1.0
[INFO] [stderr]    Compiling permutohedron v0.2.4
[INFO] [stderr]    Compiling smallvec v1.0.0
[INFO] [stderr]    Compiling itertools v0.8.2
[INFO] [stderr]    Compiling num-traits v0.2.10
[INFO] [stderr]    Compiling indexmap v1.3.0
[INFO] [stderr]    Compiling c2-chacha v0.2.3
[INFO] [stderr]    Compiling termion v1.5.4
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_chacha v0.2.1
[INFO] [stderr]    Compiling rand v0.7.2
[INFO] [stderr]    Compiling pathfinding v2.0.1
[INFO] [stderr]    Compiling ctrlc v3.1.3
[INFO] [stderr]    Compiling aoc2019 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `pathfinding::prelude::dijkstra`
[INFO] [stdout]  --> src/graph.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use pathfinding::prelude::dijkstra;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/graph.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/graph.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::FromIterator`
[INFO] [stdout]  --> src/intcode.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::iter::FromIterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::intcode::Io2`
[INFO] [stdout]  --> src/test.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::intcode::Io2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod test;
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::intcode::*`
[INFO] [stdout]  --> src/test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::intcode::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod test;
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `permutohedron::LexicalPermutation`
[INFO] [stdout]  --> src/test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use permutohedron::LexicalPermutation;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod test;
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `Sender`, `channel`
[INFO] [stdout]  --> src/test.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stdout]   |                       ^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod test;
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2.58s
[INFO] running `Command { std: "docker" "inspect" "3bc58b03d976748597084f5d9ccaff8a993a4e00f3b22847426f788796706bf4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3bc58b03d976748597084f5d9ccaff8a993a4e00f3b22847426f788796706bf4", kill_on_drop: false }`
[INFO] [stdout] 3bc58b03d976748597084f5d9ccaff8a993a4e00f3b22847426f788796706bf4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0f01cba25151bd6fcac7fc9f65c2d7b3df46a6c67c2cd83e5b6370cb19b13daf
[INFO] running `Command { std: "docker" "start" "-a" "0f01cba25151bd6fcac7fc9f65c2d7b3df46a6c67c2cd83e5b6370cb19b13daf", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `pathfinding::prelude::dijkstra`
[INFO] [stdout]  --> src/graph.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use pathfinding::prelude::dijkstra;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/graph.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/graph.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::FromIterator`
[INFO] [stdout]  --> src/intcode.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::iter::FromIterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::intcode::Io2`
[INFO] [stdout]  --> src/test.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::intcode::Io2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod test;
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::intcode::*`
[INFO] [stdout]  --> src/test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::intcode::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod test;
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `permutohedron::LexicalPermutation`
[INFO] [stdout]  --> src/test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use permutohedron::LexicalPermutation;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod test;
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling aoc2019 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Receiver`, `Sender`, `channel`
[INFO] [stdout]  --> src/test.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stdout]   |                       ^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod test;
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> examples/part14.rs:178:12
[INFO] [stdout]     |
[INFO] [stdout] 178 |         if (upper - lower <= 1) {
[INFO] [stdout]     |            ^                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 178 -         if (upper - lower <= 1) {
[INFO] [stdout] 178 +         if upper - lower <= 1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pathfinding::directed::dijkstra`
[INFO] [stdout]  --> examples/termion_fun.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use pathfinding::directed::dijkstra;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pathfinding::prelude::dijkstra`
[INFO] [stdout]  --> examples/termion_fun.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use pathfinding::prelude::dijkstra;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pathfinding::prelude::fringe`
[INFO] [stdout]  --> examples/termion_fun.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use pathfinding::prelude::fringe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> examples/termion_fun.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> examples/termion_fun.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stdin`
[INFO] [stdout]   --> examples/termion_fun.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::{Stdin, Write};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sender`
[INFO] [stdout]   --> examples/termion_fun.rs:11:42
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stdout]    |                                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Keys`
[INFO] [stdout]   --> examples/termion_fun.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | use termion::input::{Keys, TermRead};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pathfinding::prelude::dijkstra`
[INFO] [stdout]  --> src/graph.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use pathfinding::prelude::dijkstra;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/graph.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/graph.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::FromIterator`
[INFO] [stdout]  --> src/intcode.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::iter::FromIterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `Sender`
[INFO] [stdout]  --> src/test.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stdout]   |                                ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]   --> examples/part5.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 32 |             while (modenum != 0) {
[INFO] [stdout]    |                   ^            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 32 -             while (modenum != 0) {
[INFO] [stdout] 32 +             while modenum != 0 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> examples/part24.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 |     for (i, pat) in PATTERN.iter().enumerate() {
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> examples/part11.rs:107:45
[INFO] [stdout]     |
[INFO] [stdout] 107 |         (&mut context, &mut painter as &mut Io2).run();
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 107 |         (&mut context, &mut painter as &mut dyn Io2).run();
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> examples/part5.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 |     input: &'a mut std::io::BufRead,
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     input: &'a mut dyn std::io::BufRead,
[INFO] [stdout]   |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> examples/part11.rs:116:45
[INFO] [stdout]     |
[INFO] [stdout] 116 |         (&mut context, &mut painter as &mut Io2).run();
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 116 |         (&mut context, &mut painter as &mut dyn Io2).run();
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> examples/part5.rs:13:35
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn default(input: &'a mut std::io::BufRead) -> Self {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn default(input: &'a mut dyn std::io::BufRead) -> Self {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> examples/part25.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{Read, Write};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sub`
[INFO] [stdout]  --> examples/part12.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Add, Sub};
[INFO] [stdout]   |                     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel`
[INFO] [stdout]   --> examples/part25.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::mpsc::{channel, Receiver};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/part2_1.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut data = line
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> examples/part18.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let data = data18();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> examples/part5.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |     for i in 0..2 {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> examples/part5.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |                     std::io::stdout().lock().flush();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 70 |                     let _ = std::io::stdout().lock().flush();
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> examples/part5.rs:72:21
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     context.input.read_line(&mut input);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     let _ = context.input.read_line(&mut input);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&aoc2019::monitoring::Point` instead of cloning the inner type
[INFO] [stdout]    --> examples/part10.rs:124:31
[INFO] [stdout]     |
[INFO] [stdout] 124 |             shot.insert(*point.clone());
[INFO] [stdout]     |                               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cycles`
[INFO] [stdout]    --> examples/part12.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let mut cycles = [0 as i64; 4];
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_cycles`
[INFO] [stdout]    --> examples/part12.rs:176:13
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let mut num_cycles = 0;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_cycles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> examples/part12.rs:210:14
[INFO] [stdout]     |
[INFO] [stdout] 210 |         for (j, (init, s)) in initial_state.iter().zip(&state).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/part12.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let mut cycles = [0 as i64; 4];
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/part12.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let mut num_cycles = 0;
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_primes` is never used
[INFO] [stdout]    --> examples/part12.rs:111:4
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn calc_primes() {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> examples/part25.rs:256:30
[INFO] [stdout]     |
[INFO] [stdout] 256 |                         Some(location) => {
[INFO] [stdout]     |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map_size`
[INFO] [stdout]    --> examples/part25.rs:330:17
[INFO] [stdout]     |
[INFO] [stdout] 330 |             let map_size = self.map.draw(&self.current_coord, &mut self.stdout);
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> examples/part25.rs:301:13
[INFO] [stdout]     |
[INFO] [stdout] 301 |             write!(self.log_file, "{}", self.input_buf);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/test.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         for i in 0..2 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `max_seq` is assigned to, but never used
[INFO] [stdout]   --> src/test.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let mut max_seq = [0; 5];
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_max_seq` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/test.rs:67:18
[INFO] [stdout]    |
[INFO] [stdout] 67 |             for (i, setting) in seq.iter().enumerate() {
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `max_seq` is never read
[INFO] [stdout]   --> src/test.rs:79:17
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 max_seq = seq.clone();
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> examples/part13.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stdin`
[INFO] [stdout]  --> examples/part13.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{Stdin, Write};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `termion::event::Key`
[INFO] [stdout]  --> examples/part13.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use termion::event::Key;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `termion::input::TermRead`
[INFO] [stdout]  --> examples/part13.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use termion::input::TermRead;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice::Iter`
[INFO] [stdout]  --> examples/part8.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::slice::Iter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stdin` is never read
[INFO] [stdout]   --> examples/part13.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct ArcadeScreen {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     stdin: std::io::Stdin,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> examples/part13.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         write!(self.stdout, "{}", termion::cursor::Show);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> examples/part7.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     for i in 0..2 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `max_seq` is assigned to, but never used
[INFO] [stdout]   --> examples/part7.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut max_seq = [0; 5];
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_max_seq` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> examples/part7.rs:67:14
[INFO] [stdout]    |
[INFO] [stdout] 67 |         for (i, setting) in seq.iter().enumerate() {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `max_seq` is never read
[INFO] [stdout]   --> examples/part7.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |             max_seq = seq.clone();
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `max_seq` is assigned to, but never used
[INFO] [stdout]   --> examples/part7.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let mut max_seq = [0; 5];
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_max_seq` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> examples/part7.rs:109:18
[INFO] [stdout]     |
[INFO] [stdout] 109 |             for (i, ios) in &mut state.iter_mut().enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `max_seq` is never read
[INFO] [stdout]    --> examples/part7.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |             max_seq = seq.clone();
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `max_seq` is assigned to, but never used
[INFO] [stdout]    --> examples/part7.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let mut max_seq = [0; 5];
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_max_seq` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `max_seq` is never read
[INFO] [stdout]    --> examples/part7.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 192 |             max_seq = seq.clone();
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> examples/part7.rs:171:19
[INFO] [stdout]     |
[INFO] [stdout] 171 |             .map(|x| (Context::new(code71()).break_on_output(), false))
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `Inner` is named the same as one of the variants of the type `Side`
[INFO] [stdout]   --> examples/part20.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |             Inner => Side::Outer,
[INFO] [stdout]    |             ^^^^^ help: to match on the variant, qualify the path: `Side::Inner`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bindings_with_variant_name)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `Outer` is named the same as one of the variants of the type `Side`
[INFO] [stdout]   --> examples/part20.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |             Outer => Side::Inner,
[INFO] [stdout]    |             ^^^^^ help: to match on the variant, qualify the path: `Side::Outer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> examples/part20.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |             Inner => Side::Outer,
[INFO] [stdout]    |             ----- matches any value
[INFO] [stdout] 17 |             Outer => Side::Inner,
[INFO] [stdout]    |             ^^^^^ unreachable pattern
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Inner`
[INFO] [stdout]   --> examples/part20.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |             Inner => Side::Outer,
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_Inner`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Outer`
[INFO] [stdout]   --> examples/part20.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |             Outer => Side::Inner,
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_Outer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `point_to_node`
[INFO] [stdout]   --> examples/part20.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let point_to_node: HashMap<Point, String> = nodes
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_point_to_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> examples/part20.rs:88:41
[INFO] [stdout]    |
[INFO] [stdout] 88 |                         .map(|(ref dir, c)| (s.move_into(dir), 1))
[INFO] [stdout]    |                                         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/part22.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 |             StackOp::Cut(mut p) => {
[INFO] [stdout]    |                          ----^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_other` is never used
[INFO] [stdout]   --> examples/part20.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Side {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 14 |     fn get_other(&self) -> Side {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Inner` should have a snake case name
[INFO] [stdout]   --> examples/part20.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |             Inner => Side::Outer,
[INFO] [stdout]    |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `inner`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Outer` should have a snake case name
[INFO] [stdout]   --> examples/part20.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |             Outer => Side::Inner,
[INFO] [stdout]    |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `outer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `input1_1` is never used
[INFO] [stdout]   --> examples/part22.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn input1_1() -> (&'static [u8], usize) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `input1_2` is never used
[INFO] [stdout]    --> examples/part22.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn input1_2() -> (&'static [u8], usize) {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `input1_3` is never used
[INFO] [stdout]    --> examples/part22.rs:113:4
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn input1_3() -> (&'static [u8], usize) {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::FromIterator`
[INFO] [stdout]  --> examples/part3_1.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::iter::FromIterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> examples/part16.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |           return;
[INFO] [stdout]    |           ------ any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 65 | /     {
[INFO] [stdout] 66 | |         let mut input: Vec<i32> = input_msg().collect();
[INFO] [stdout] 67 | |         for i in 0..100 {
[INFO] [stdout] 68 | |             input = intermingle2(input);
[INFO] [stdout] ...  |
[INFO] [stdout] 75 | |         println!("");
[INFO] [stdout] 76 | |     }
[INFO] [stdout]    | |_____^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> examples/part16.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |         for i in 0..100 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `intermingle` is never used
[INFO] [stdout]   --> examples/part16.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn intermingle(input: Vec<i32>) -> Vec<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `pattern` should have an upper case name
[INFO] [stdout]  --> examples/part16.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 |     const pattern: [i32; 4] = [0, 1, 0, -1];
[INFO] [stdout]   |           ^^^^^^^ help: convert the identifier to upper case: `PATTERN`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `input` should have an upper case name
[INFO] [stdout]   --> examples/part16.rs:99:11
[INFO] [stdout]    |
[INFO] [stdout] 99 |     const input : &str = "597734197946315604128867465500492107148541070660280810320965917595751456802949957707412049551833956401035273718...
[INFO] [stdout]    |           ^^^^^ help: convert the identifier to upper case: `INPUT`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> examples/part23.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, VecDeque};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: include macro expected single expression in source
[INFO] [stdout]  --> examples/code23.int:1:2
[INFO] [stdout]   |
[INFO] [stdout] 1 | 3,62,1001,62,11,10,109,2229,105,1,0,2093,2165,1216,1505,789,1660,758,1693,2064,1183,602,2198,1759,950,1445,1117,1014,1280,2134,1379,851,1...
[INFO] [stdout]   |  ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(incomplete_include)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> examples/part18_2.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let data = data18();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `io`
[INFO] [stdout]   --> examples/part23.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut io = (&output_tx, &input_rx, addr.clone());
[INFO] [stdout]    |                 ^^ help: if this is intentional, prefix it with an underscore: `_io`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/part23.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut io = (&output_tx, &input_rx, addr.clone());
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/part23.rs:62:37
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn start(addr: i64, code: Vec<i64>, mut idle: Arc<Mutex<i64>>) -> Nic {
[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]   --> examples/part23.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let mut idle_tmp = Arc::new(Mutex::new(0i64));
[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]   --> examples/part23.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let mut idle = idle_tmp.clone();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_bufs`
[INFO] [stdout]    --> examples/part23.rs:149:13
[INFO] [stdout]     |
[INFO] [stdout] 149 |     let mut out_bufs = HashMap::<i64, smallvec::SmallVec<[i64; 3]>>::new();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_bufs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/part23.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |     let mut out_bufs = HashMap::<i64, smallvec::SmallVec<[i64; 3]>>::new();
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `join_handle` is never read
[INFO] [stdout]   --> examples/part23.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | struct Nic {
[INFO] [stdout]    |        --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     join_handle: JoinHandle<()>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `code23` is never used
[INFO] [stdout]    --> examples/part23.rs:180:4
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn code23() -> Vec<i64> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> examples/part23.rs:166:21
[INFO] [stdout]     |
[INFO] [stdout] 166 |                     nics[nic_id].tx.send(send_bufs[i][1]);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 166 |                     let _ = nics[nic_id].tx.send(send_bufs[i][1]);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> examples/part23.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     nics[nic_id].tx.send(send_bufs[i][2]);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     let _ = nics[nic_id].tx.send(send_bufs[i][2]);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stdin`
[INFO] [stdout]  --> examples/part15.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{Stdin, Write};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `termion::event::Key`
[INFO] [stdout]  --> examples/part15.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use termion::event::Key;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `termion::input::TermRead`
[INFO] [stdout]  --> examples/part15.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use termion::input::TermRead;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> examples/part15.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stdin` is never read
[INFO] [stdout]   --> examples/part15.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct RepairBot {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     stdin: std::io::Stdin,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> examples/part17.rs:145:44
[INFO] [stdout]     |
[INFO] [stdout] 145 |         (&mut context, &mut camera as &mut Io2).run();
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |         (&mut context, &mut camera as &mut dyn Io2).run();
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> examples/part17.rs:160:40
[INFO] [stdout]     |
[INFO] [stdout] 160 |         (&mut context, &mut io as &mut Io2).run();
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 160 |         (&mut context, &mut io as &mut dyn Io2).run();
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/part17.rs:63:49
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn trace_segment(&mut self, mut pos: Point, mut dir: Dir) -> Option<(Point, Dir, char, usize)> {
[INFO] [stdout]    |                                                 ----^^^
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/part17.rs:65:14
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let (mut dir, cmd) = {
[INFO] [stdout]    |              ----^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `acc` is never read
[INFO] [stdout]  --> examples/part17.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Camera {
[INFO] [stdout]   |        ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     acc: String,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent`
[INFO] [stdout]   --> examples/part6.rs:45:23
[INFO] [stdout]    |
[INFO] [stdout] 45 |         .map(|(child, parent)| input.len_to(child, "COM"))
[INFO] [stdout]    |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0170`.
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.36s
[INFO] running `Command { std: "docker" "inspect" "0f01cba25151bd6fcac7fc9f65c2d7b3df46a6c67c2cd83e5b6370cb19b13daf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0f01cba25151bd6fcac7fc9f65c2d7b3df46a6c67c2cd83e5b6370cb19b13daf", kill_on_drop: false }`
[INFO] [stdout] 0f01cba25151bd6fcac7fc9f65c2d7b3df46a6c67c2cd83e5b6370cb19b13daf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 6647130f7cc3c4f74e0b41e22bffe2dbaa14d54be374cf372cc67ad9c2200e90
[INFO] running `Command { std: "docker" "start" "-a" "6647130f7cc3c4f74e0b41e22bffe2dbaa14d54be374cf372cc67ad9c2200e90", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `pathfinding::prelude::dijkstra`
[INFO] [stderr]  --> src/graph.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use pathfinding::prelude::dijkstra;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/graph.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str::FromStr`
[INFO] [stderr]  --> src/graph.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::str::FromStr;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::iter::FromIterator`
[INFO] [stderr]  --> src/intcode.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::iter::FromIterator;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::intcode::Io2`
[INFO] [stderr]  --> src/test.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use super::intcode::Io2;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider adding a `#[cfg(test)]` to the containing module
[INFO] [stderr]  --> src/lib.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | mod test;
[INFO] [stderr]   | ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::intcode::*`
[INFO] [stderr]  --> src/test.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use super::intcode::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider adding a `#[cfg(test)]` to the containing module
[INFO] [stderr]  --> src/lib.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | mod test;
[INFO] [stderr]   | ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `permutohedron::LexicalPermutation`
[INFO] [stderr]  --> src/test.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use permutohedron::LexicalPermutation;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider adding a `#[cfg(test)]` to the containing module
[INFO] [stderr]  --> src/lib.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | mod test;
[INFO] [stderr]   | ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Receiver`, `Sender`, `channel`
[INFO] [stderr]  --> src/test.rs:4:23
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stderr]   |                       ^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider adding a `#[cfg(test)]` to the containing module
[INFO] [stderr]  --> src/lib.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | mod test;
[INFO] [stderr]   | ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Receiver`, `Sender`
[INFO] [stderr]  --> src/test.rs:4:32
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stderr]   |                                ^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/test.rs:46:13
[INFO] [stderr]    |
[INFO] [stderr] 46 |         for i in 0..2 {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `max_seq` is assigned to, but never used
[INFO] [stderr]   --> src/test.rs:64:17
[INFO] [stderr]    |
[INFO] [stderr] 64 |         let mut max_seq = [0; 5];
[INFO] [stderr]    |                 ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: consider using `_max_seq` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/test.rs:67:18
[INFO] [stderr]    |
[INFO] [stderr] 67 |             for (i, setting) in seq.iter().enumerate() {
[INFO] [stderr]    |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `max_seq` is never read
[INFO] [stderr]   --> src/test.rs:79:17
[INFO] [stderr]    |
[INFO] [stderr] 79 |                 max_seq = seq.clone();
[INFO] [stderr]    |                 ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `aoc2019` (lib) generated 8 warnings (run `cargo fix --lib -p aoc2019` to apply 8 suggestions)
[INFO] [stderr] warning: `aoc2019` (lib test) generated 9 warnings (4 duplicates) (run `cargo fix --lib -p aoc2019 --tests` to apply 3 suggestions)
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> examples/part24.rs:53:10
[INFO] [stderr]    |
[INFO] [stderr] 53 |     for (i, pat) in PATTERN.iter().enumerate() {
[INFO] [stderr]    |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Read`
[INFO] [stderr]  --> examples/part13.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::io::Read;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Stdin`
[INFO] [stderr]  --> examples/part13.rs:4:15
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::io::{Stdin, Write};
[INFO] [stderr]   |               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `termion::event::Key`
[INFO] [stderr]  --> examples/part13.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use termion::event::Key;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `termion::input::TermRead`
[INFO] [stderr]  --> examples/part13.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use termion::input::TermRead;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `stdin` is never read
[INFO] [stderr]   --> examples/part13.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 33 | struct ArcadeScreen {
[INFO] [stderr]    |        ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 37 |     stdin: std::io::Stdin,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> examples/part13.rs:144:9
[INFO] [stderr]     |
[INFO] [stderr] 144 |         write!(self.stdout, "{}", termion::cursor::Show);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]     = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> examples/part2_1.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 29 |     let mut data = line
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning[E0170]: pattern binding `Inner` is named the same as one of the variants of the type `Side`
[INFO] [stderr]   --> examples/part20.rs:16:13
[INFO] [stderr]    |
[INFO] [stderr] 16 |             Inner => Side::Outer,
[INFO] [stderr]    |             ^^^^^ help: to match on the variant, qualify the path: `Side::Inner`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bindings_with_variant_name)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning[E0170]: pattern binding `Outer` is named the same as one of the variants of the type `Side`
[INFO] [stderr]   --> examples/part20.rs:17:13
[INFO] [stderr]    |
[INFO] [stderr] 17 |             Outer => Side::Inner,
[INFO] [stderr]    |             ^^^^^ help: to match on the variant, qualify the path: `Side::Outer`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> examples/part20.rs:17:13
[INFO] [stderr]    |
[INFO] [stderr] 16 |             Inner => Side::Outer,
[INFO] [stderr]    |             ----- matches any value
[INFO] [stderr] 17 |             Outer => Side::Inner,
[INFO] [stderr]    |             ^^^^^ unreachable pattern
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Inner`
[INFO] [stderr]   --> examples/part20.rs:16:13
[INFO] [stderr]    |
[INFO] [stderr] 16 |             Inner => Side::Outer,
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_Inner`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Outer`
[INFO] [stderr]   --> examples/part20.rs:17:13
[INFO] [stderr]    |
[INFO] [stderr] 17 |             Outer => Side::Inner,
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_Outer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `point_to_node`
[INFO] [stderr]   --> examples/part20.rs:72:9
[INFO] [stderr]    |
[INFO] [stderr] 72 |     let point_to_node: HashMap<Point, String> = nodes
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_point_to_node`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c`
[INFO] [stderr]   --> examples/part20.rs:88:41
[INFO] [stderr]    |
[INFO] [stderr] 88 |                         .map(|(ref dir, c)| (s.move_into(dir), 1))
[INFO] [stderr]    |                                         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_other` is never used
[INFO] [stderr]   --> examples/part20.rs:14:8
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl Side {
[INFO] [stderr]    | --------- method in this implementation
[INFO] [stderr] 14 |     fn get_other(&self) -> Side {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Inner` should have a snake case name
[INFO] [stderr]   --> examples/part20.rs:16:13
[INFO] [stderr]    |
[INFO] [stderr] 16 |             Inner => Side::Outer,
[INFO] [stderr]    |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `inner`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Outer` should have a snake case name
[INFO] [stderr]   --> examples/part20.rs:17:13
[INFO] [stderr]    |
[INFO] [stderr] 17 |             Outer => Side::Inner,
[INFO] [stderr]    |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `outer`
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0170`.
[INFO] [stderr] warning: unused import: `pathfinding::directed::dijkstra`
[INFO] [stderr]  --> examples/termion_fun.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use pathfinding::directed::dijkstra;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `pathfinding::prelude::dijkstra`
[INFO] [stderr]  --> examples/termion_fun.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use pathfinding::prelude::dijkstra;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `pathfinding::prelude::fringe`
[INFO] [stderr]  --> examples/termion_fun.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use pathfinding::prelude::fringe;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::prelude::*`
[INFO] [stderr]  --> examples/termion_fun.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use rand::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Read`
[INFO] [stderr]  --> examples/termion_fun.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::io::Read;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Stdin`
[INFO] [stderr]   --> examples/termion_fun.rs:10:15
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::io::{Stdin, Write};
[INFO] [stderr]    |               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Sender`
[INFO] [stderr]   --> examples/termion_fun.rs:11:42
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stderr]    |                                          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Keys`
[INFO] [stderr]   --> examples/termion_fun.rs:13:22
[INFO] [stderr]    |
[INFO] [stderr] 13 | use termion::input::{Keys, TermRead};
[INFO] [stderr]    |                      ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> examples/part18_2.rs:173:9
[INFO] [stderr]     |
[INFO] [stderr] 173 |     let data = data18();
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> examples/part11.rs:107:45
[INFO] [stderr]     |
[INFO] [stderr] 107 |         (&mut context, &mut painter as &mut Io2).run();
[INFO] [stderr]     |                                             ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 107 |         (&mut context, &mut painter as &mut dyn Io2).run();
[INFO] [stderr]     |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> examples/part11.rs:116:45
[INFO] [stderr]     |
[INFO] [stderr] 116 |         (&mut context, &mut painter as &mut Io2).run();
[INFO] [stderr]     |                                             ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 116 |         (&mut context, &mut painter as &mut dyn Io2).run();
[INFO] [stderr]     |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parent`
[INFO] [stderr]   --> examples/part6.rs:45:23
[INFO] [stderr]    |
[INFO] [stderr] 45 |         .map(|(child, parent)| input.len_to(child, "COM"))
[INFO] [stderr]    |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> examples/part22.rs:18:26
[INFO] [stderr]    |
[INFO] [stderr] 18 |             StackOp::Cut(mut p) => {
[INFO] [stderr]    |                          ----^
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `input1_1` is never used
[INFO] [stderr]   --> examples/part22.rs:84:4
[INFO] [stderr]    |
[INFO] [stderr] 84 | fn input1_1() -> (&'static [u8], usize) {
[INFO] [stderr]    |    ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `input1_2` is never used
[INFO] [stderr]    --> examples/part22.rs:102:4
[INFO] [stderr]     |
[INFO] [stderr] 102 | fn input1_2() -> (&'static [u8], usize) {
[INFO] [stderr]     |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `input1_3` is never used
[INFO] [stderr]    --> examples/part22.rs:113:4
[INFO] [stderr]     |
[INFO] [stderr] 113 | fn input1_3() -> (&'static [u8], usize) {
[INFO] [stderr]     |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Read`
[INFO] [stderr]  --> examples/part25.rs:9:15
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::io::{Read, Write};
[INFO] [stderr]   |               ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `channel`
[INFO] [stderr]   --> examples/part25.rs:10:23
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::sync::mpsc::{channel, Receiver};
[INFO] [stderr]    |                       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `location`
[INFO] [stderr]    --> examples/part25.rs:256:30
[INFO] [stderr]     |
[INFO] [stderr] 256 |                         Some(location) => {
[INFO] [stderr]     |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `map_size`
[INFO] [stderr]    --> examples/part25.rs:330:17
[INFO] [stderr]     |
[INFO] [stderr] 330 |             let map_size = self.map.draw(&self.current_coord, &mut self.stdout);
[INFO] [stderr]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_size`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> examples/part25.rs:301:13
[INFO] [stderr]     |
[INFO] [stderr] 301 |             write!(self.log_file, "{}", self.input_buf);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]     = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> examples/part18.rs:107:9
[INFO] [stderr]     |
[INFO] [stderr] 107 |     let data = data18();
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `aoc2019` (example "part24") generated 1 warning (run `cargo fix --example "part24"` to apply 1 suggestion)
[INFO] [stderr] warning: `aoc2019` (example "part13") generated 6 warnings (run `cargo fix --example "part13"` to apply 3 suggestions)
[INFO] [stderr] warning: `aoc2019` (example "part2_1") generated 1 warning (run `cargo fix --example "part2_1"` to apply 1 suggestion)
[INFO] [stderr] warning: `aoc2019` (example "part20") generated 10 warnings (run `cargo fix --example "part20"` to apply 6 suggestions)
[INFO] [stderr] warning: `aoc2019` (example "termion_fun") generated 8 warnings (run `cargo fix --example "termion_fun"` to apply 8 suggestions)
[INFO] [stderr] warning: `aoc2019` (example "part18_2") generated 1 warning (run `cargo fix --example "part18_2"` to apply 1 suggestion)
[INFO] [stderr] warning: `aoc2019` (example "part11") generated 2 warnings (run `cargo fix --example "part11"` to apply 2 suggestions)
[INFO] [stderr] warning: `aoc2019` (example "part6") generated 1 warning (run `cargo fix --example "part6"` to apply 1 suggestion)
[INFO] [stderr] warning: `aoc2019` (example "part22") generated 4 warnings (run `cargo fix --example "part22"` to apply 1 suggestion)
[INFO] [stderr] warning: `aoc2019` (example "part25") generated 5 warnings (run `cargo fix --example "part25"` to apply 4 suggestions)
[INFO] [stderr] warning: `aoc2019` (example "part18") generated 1 warning (run `cargo fix --example "part18"` to apply 1 suggestion)
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> examples/part7.rs:51:9
[INFO] [stderr]    |
[INFO] [stderr] 51 |     for i in 0..2 {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `max_seq` is assigned to, but never used
[INFO] [stderr]   --> examples/part7.rs:64:13
[INFO] [stderr]    |
[INFO] [stderr] 64 |     let mut max_seq = [0; 5];
[INFO] [stderr]    |             ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: consider using `_max_seq` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> examples/part7.rs:67:14
[INFO] [stderr]    |
[INFO] [stderr] 67 |         for (i, setting) in seq.iter().enumerate() {
[INFO] [stderr]    |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `max_seq` is never read
[INFO] [stderr]   --> examples/part7.rs:79:13
[INFO] [stderr]    |
[INFO] [stderr] 79 |             max_seq = seq.clone();
[INFO] [stderr]    |             ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `max_seq` is assigned to, but never used
[INFO] [stderr]   --> examples/part7.rs:93:13
[INFO] [stderr]    |
[INFO] [stderr] 93 |     let mut max_seq = [0; 5];
[INFO] [stderr]    |             ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: consider using `_max_seq` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> examples/part7.rs:109:18
[INFO] [stderr]     |
[INFO] [stderr] 109 |             for (i, ios) in &mut state.iter_mut().enumerate() {
[INFO] [stderr]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `max_seq` is never read
[INFO] [stderr]    --> examples/part7.rs:140:13
[INFO] [stderr]     |
[INFO] [stderr] 140 |             max_seq = seq.clone();
[INFO] [stderr]     |             ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable `max_seq` is assigned to, but never used
[INFO] [stderr]    --> examples/part7.rs:155:13
[INFO] [stderr]     |
[INFO] [stderr] 155 |     let mut max_seq = [0; 5];
[INFO] [stderr]     |             ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_max_seq` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `max_seq` is never read
[INFO] [stderr]    --> examples/part7.rs:192:13
[INFO] [stderr]     |
[INFO] [stderr] 192 |             max_seq = seq.clone();
[INFO] [stderr]     |             ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> examples/part7.rs:171:19
[INFO] [stderr]     |
[INFO] [stderr] 171 |             .map(|x| (Context::new(code71()).break_on_output(), false))
[INFO] [stderr]     |                   ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&aoc2019::monitoring::Point` instead of cloning the inner type
[INFO] [stderr]    --> examples/part10.rs:124:31
[INFO] [stderr]     |
[INFO] [stderr] 124 |             shot.insert(*point.clone());
[INFO] [stderr]     |                               ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Stdin`
[INFO] [stderr]  --> examples/part15.rs:6:15
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::io::{Stdin, Write};
[INFO] [stderr]   |               ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `termion::event::Key`
[INFO] [stderr]  --> examples/part15.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use termion::event::Key;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `termion::input::TermRead`
[INFO] [stderr]  --> examples/part15.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use termion::input::TermRead;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Read`
[INFO] [stderr]  --> examples/part15.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::io::Read;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `stdin` is never read
[INFO] [stderr]   --> examples/part15.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | struct RepairBot {
[INFO] [stderr]    |        --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 14 |     stdin: std::io::Stdin,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> examples/part14.rs:178:12
[INFO] [stderr]     |
[INFO] [stderr] 178 |         if (upper - lower <= 1) {
[INFO] [stderr]     |            ^                  ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 178 -         if (upper - lower <= 1) {
[INFO] [stderr] 178 +         if upper - lower <= 1 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::iter::FromIterator`
[INFO] [stderr]  --> examples/part3_1.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::iter::FromIterator;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `VecDeque`
[INFO] [stderr]  --> examples/part23.rs:4:33
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::collections::{HashMap, VecDeque};
[INFO] [stderr]   |                                 ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: include macro expected single expression in source
[INFO] [stderr]  --> examples/code23.int:1:2
[INFO] [stderr]   |
[INFO] [stderr] 1 | 3,62,1001,62,11,10,109,2229,105,1,0,2093,2165,1216,1505,789,1660,758,1693,2064,1183,602,2198,1759,950,1445,1117,1014,1280,2134,1379,851,1...
[INFO] [stderr]   |  ^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(incomplete_include)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `io`
[INFO] [stderr]   --> examples/part23.rs:69:17
[INFO] [stderr]    |
[INFO] [stderr] 69 |         let mut io = (&output_tx, &input_rx, addr.clone());
[INFO] [stderr]    |                 ^^ help: if this is intentional, prefix it with an underscore: `_io`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> examples/part23.rs:69:13
[INFO] [stderr]    |
[INFO] [stderr] 69 |         let mut io = (&output_tx, &input_rx, addr.clone());
[INFO] [stderr]    |             ----^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> examples/part23.rs:62:37
[INFO] [stderr]    |
[INFO] [stderr] 62 | fn start(addr: i64, code: Vec<i64>, mut idle: Arc<Mutex<i64>>) -> Nic {
[INFO] [stderr]    |                                     ----^^^^
[INFO] [stderr]    |                                     |
[INFO] [stderr]    |                                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> examples/part23.rs:93:9
[INFO] [stderr]    |
[INFO] [stderr] 93 |     let mut idle_tmp = Arc::new(Mutex::new(0i64));
[INFO] [stderr]    |         ----^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> examples/part23.rs:94:9
[INFO] [stderr]    |
[INFO] [stderr] 94 |     let mut idle = idle_tmp.clone();
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `out_bufs`
[INFO] [stderr]    --> examples/part23.rs:149:13
[INFO] [stderr]     |
[INFO] [stderr] 149 |     let mut out_bufs = HashMap::<i64, smallvec::SmallVec<[i64; 3]>>::new();
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_bufs`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> examples/part23.rs:149:9
[INFO] [stderr]     |
[INFO] [stderr] 149 |     let mut out_bufs = HashMap::<i64, smallvec::SmallVec<[i64; 3]>>::new();
[INFO] [stderr]     |         ----^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `join_handle` is never read
[INFO] [stderr]   --> examples/part23.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 55 | struct Nic {
[INFO] [stderr]    |        --- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 59 |     join_handle: JoinHandle<()>,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `code23` is never used
[INFO] [stderr]    --> examples/part23.rs:180:4
[INFO] [stderr]     |
[INFO] [stderr] 180 | fn code23() -> Vec<i64> {
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> examples/part23.rs:166:21
[INFO] [stderr]     |
[INFO] [stderr] 166 |                     nics[nic_id].tx.send(send_bufs[i][1]);
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 166 |                     let _ = nics[nic_id].tx.send(send_bufs[i][1]);
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> examples/part23.rs:167:21
[INFO] [stderr]     |
[INFO] [stderr] 167 |                     nics[nic_id].tx.send(send_bufs[i][2]);
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 167 |                     let _ = nics[nic_id].tx.send(send_bufs[i][2]);
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `while` condition
[INFO] [stderr]   --> examples/part5.rs:32:19
[INFO] [stderr]    |
[INFO] [stderr] 32 |             while (modenum != 0) {
[INFO] [stderr]    |                   ^            ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 32 -             while (modenum != 0) {
[INFO] [stderr] 32 +             while modenum != 0 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> examples/part5.rs:9:20
[INFO] [stderr]   |
[INFO] [stderr] 9 |     input: &'a mut std::io::BufRead,
[INFO] [stderr]   |                    ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 9 |     input: &'a mut dyn std::io::BufRead,
[INFO] [stderr]   |                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> examples/part5.rs:13:35
[INFO] [stderr]    |
[INFO] [stderr] 13 |     pub fn default(input: &'a mut std::io::BufRead) -> Self {
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 13 |     pub fn default(input: &'a mut dyn std::io::BufRead) -> Self {
[INFO] [stderr]    |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> examples/part5.rs:158:9
[INFO] [stderr]     |
[INFO] [stderr] 158 |     for i in 0..2 {
[INFO] [stderr]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> examples/part5.rs:70:21
[INFO] [stderr]    |
[INFO] [stderr] 70 |                     std::io::stdout().lock().flush();
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 70 |                     let _ = std::io::stdout().lock().flush();
[INFO] [stderr]    |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> examples/part5.rs:72:21
[INFO] [stderr]    |
[INFO] [stderr] 72 |                     context.input.read_line(&mut input);
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 72 |                     let _ = context.input.read_line(&mut input);
[INFO] [stderr]    |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Sub`
[INFO] [stderr]  --> examples/part12.rs:2:21
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::ops::{Add, Sub};
[INFO] [stderr]   |                     ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cycles`
[INFO] [stderr]    --> examples/part12.rs:175:13
[INFO] [stderr]     |
[INFO] [stderr] 175 |     let mut cycles = [0 as i64; 4];
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `num_cycles`
[INFO] [stderr]    --> examples/part12.rs:176:13
[INFO] [stderr]     |
[INFO] [stderr] 176 |     let mut num_cycles = 0;
[INFO] [stderr]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_cycles`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `j`
[INFO] [stderr]    --> examples/part12.rs:210:14
[INFO] [stderr]     |
[INFO] [stderr] 210 |         for (j, (init, s)) in initial_state.iter().zip(&state).enumerate() {
[INFO] [stderr]     |              ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> examples/part12.rs:175:9
[INFO] [stderr]     |
[INFO] [stderr] 175 |     let mut cycles = [0 as i64; 4];
[INFO] [stderr]     |         ----^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> examples/part12.rs:176:9
[INFO] [stderr]     |
[INFO] [stderr] 176 |     let mut num_cycles = 0;
[INFO] [stderr]     |         ----^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: function `calc_primes` is never used
[INFO] [stderr]    --> examples/part12.rs:111:4
[INFO] [stderr]     |
[INFO] [stderr] 111 | fn calc_primes() {
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable statement
[INFO] [stderr]   --> examples/part16.rs:65:5
[INFO] [stderr]    |
[INFO] [stderr] 62 |           return;
[INFO] [stderr]    |           ------ any code following this expression is unreachable
[INFO] [stderr] ...
[INFO] [stderr] 65 | /     {
[INFO] [stderr] 66 | |         let mut input: Vec<i32> = input_msg().collect();
[INFO] [stderr] 67 | |         for i in 0..100 {
[INFO] [stderr] 68 | |             input = intermingle2(input);
[INFO] [stderr] ...  |
[INFO] [stderr] 75 | |         println!("");
[INFO] [stderr] 76 | |     }
[INFO] [stderr]    | |_____^ unreachable statement
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> examples/part16.rs:67:13
[INFO] [stderr]    |
[INFO] [stderr] 67 |         for i in 0..100 {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `intermingle` is never used
[INFO] [stderr]   --> examples/part16.rs:17:4
[INFO] [stderr]    |
[INFO] [stderr] 17 | fn intermingle(input: Vec<i32>) -> Vec<i32> {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `pattern` should have an upper case name
[INFO] [stderr]  --> examples/part16.rs:4:11
[INFO] [stderr]   |
[INFO] [stderr] 4 |     const pattern: [i32; 4] = [0, 1, 0, -1];
[INFO] [stderr]   |           ^^^^^^^ help: convert the identifier to upper case: `PATTERN`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `input` should have an upper case name
[INFO] [stderr]   --> examples/part16.rs:99:11
[INFO] [stderr]    |
[INFO] [stderr] 99 |     const input : &str = "597734197946315604128867465500492107148541070660280810320965917595751456802949957707412049551833956401035273718...
[INFO] [stderr]    |           ^^^^^ help: convert the identifier to upper case: `INPUT`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::slice::Iter`
[INFO] [stderr]  --> examples/part8.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::slice::Iter;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> examples/part17.rs:145:44
[INFO] [stderr]     |
[INFO] [stderr] 145 |         (&mut context, &mut camera as &mut Io2).run();
[INFO] [stderr]     |                                            ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 145 |         (&mut context, &mut camera as &mut dyn Io2).run();
[INFO] [stderr]     |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> examples/part17.rs:160:40
[INFO] [stderr]     |
[INFO] [stderr] 160 |         (&mut context, &mut io as &mut Io2).run();
[INFO] [stderr]     |                                        ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 160 |         (&mut context, &mut io as &mut dyn Io2).run();
[INFO] [stderr]     |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> examples/part17.rs:63:49
[INFO] [stderr]    |
[INFO] [stderr] 63 |     fn trace_segment(&mut self, mut pos: Point, mut dir: Dir) -> Option<(Point, Dir, char, usize)> {
[INFO] [stderr]    |                                                 ----^^^
[INFO] [stderr]    |                                                 |
[INFO] [stderr]    |                                                 help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> examples/part17.rs:65:14
[INFO] [stderr]    |
[INFO] [stderr] 65 |         let (mut dir, cmd) = {
[INFO] [stderr]    |              ----^^^
[INFO] [stderr]    |              |
[INFO] [stderr]    |              help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `acc` is never read
[INFO] [stderr]  --> examples/part17.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | struct Camera {
[INFO] [stderr]   |        ------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 8 |     acc: String,
[INFO] [stderr]   |     ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `aoc2019` (example "part7") generated 10 warnings (run `cargo fix --example "part7"` to apply 4 suggestions)
[INFO] [stderr] warning: `aoc2019` (example "part10") generated 1 warning
[INFO] [stderr] warning: `aoc2019` (example "part15") generated 5 warnings (run `cargo fix --example "part15"` to apply 3 suggestions)
[INFO] [stderr] warning: `aoc2019` (example "part14") generated 1 warning (run `cargo fix --example "part14"` to apply 1 suggestion)
[INFO] [stderr] warning: `aoc2019` (example "part3_1") generated 1 warning (run `cargo fix --example "part3_1"` to apply 1 suggestion)
[INFO] [stderr] warning: `aoc2019` (example "part23") generated 13 warnings (run `cargo fix --example "part23"` to apply 8 suggestions)
[INFO] [stderr] warning: `aoc2019` (example "part5") generated 6 warnings (run `cargo fix --example "part5"` to apply 4 suggestions)
[INFO] [stderr] warning: `aoc2019` (example "part12") generated 7 warnings (run `cargo fix --example "part12"` to apply 6 suggestions)
[INFO] [stderr] warning: `aoc2019` (example "part16") generated 5 warnings (run `cargo fix --example "part16"` to apply 1 suggestion)
[INFO] [stderr] warning: `aoc2019` (example "part8") generated 1 warning (run `cargo fix --example "part8"` to apply 1 suggestion)
[INFO] [stderr] warning: `aoc2019` (example "part17") generated 5 warnings (run `cargo fix --example "part17"` to apply 4 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/aoc2019-65262d3415e8ac93)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test monitoring::test::minimize ... ok
[INFO] [stdout] test test::tests::day5 ... ok
[INFO] [stdout] test test::tests::day7 ... ok
[INFO] [stdout] test test::tests::day7_1_nt ... ok
[INFO] [stdout] test test::tests::day2 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/aoc2019-ec6fa4ab165af0b1)
[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]    Doc-tests aoc2019
[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] running `Command { std: "docker" "inspect" "6647130f7cc3c4f74e0b41e22bffe2dbaa14d54be374cf372cc67ad9c2200e90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6647130f7cc3c4f74e0b41e22bffe2dbaa14d54be374cf372cc67ad9c2200e90", kill_on_drop: false }`
[INFO] [stdout] 6647130f7cc3c4f74e0b41e22bffe2dbaa14d54be374cf372cc67ad9c2200e90
