[INFO] cloning repository https://github.com/imccoy/advent-of-code-2019
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/imccoy/advent-of-code-2019" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fimccoy%2Fadvent-of-code-2019", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fimccoy%2Fadvent-of-code-2019'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0ec62ec9ab678935061884adf6376d22cf5c4ba7
[INFO] testing imccoy/advent-of-code-2019 against 1.99.0-beta.1+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fimccoy%2Fadvent-of-code-2019" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/imccoy/advent-of-code-2019
[INFO] finished tweaking git repo https://github.com/imccoy/advent-of-code-2019
[INFO] tweaked toml for git repo https://github.com/imccoy/advent-of-code-2019 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/imccoy/advent-of-code-2019 on toolchain 1.99.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/imccoy/advent-of-code-2019 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f65ba281f37a5140a41eacd8d1e0522c0adc57c0640f5b13e2e9452bd446af12
[INFO] running `Command { std: "docker" "start" "f65ba281f37a5140a41eacd8d1e0522c0adc57c0640f5b13e2e9452bd446af12", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f65ba281f37a5140a41eacd8d1e0522c0adc57c0640f5b13e2e9452bd446af12", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f65ba281f37a5140a41eacd8d1e0522c0adc57c0640f5b13e2e9452bd446af12" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f65ba281f37a5140a41eacd8d1e0522c0adc57c0640f5b13e2e9452bd446af12", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f65ba281f37a5140a41eacd8d1e0522c0adc57c0640f5b13e2e9452bd446af12" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-iter v0.1.39
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]    Compiling num-complex v0.2.3
[INFO] [stderr]    Compiling num-rational v0.2.2
[INFO] [stderr]    Compiling num v0.2.0
[INFO] [stderr]    Compiling aoc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/day12a.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |     for step in (0..1000) {
[INFO] [stdout]    |                 ^       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 42 -     for step in (0..1000) {
[INFO] [stdout] 42 +     for step in 0..1000 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/day12a.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 43 |         for moon_a_index in (0..moons.len()) {
[INFO] [stdout]    |                             ^              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 43 -         for moon_a_index in (0..moons.len()) {
[INFO] [stdout] 43 +         for moon_a_index in 0..moons.len() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/day12a.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 |             for moon_b_index in ((moon_a_index+1)..moons.len()) {
[INFO] [stdout]    |                                 ^                             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 44 -             for moon_b_index in ((moon_a_index+1)..moons.len()) {
[INFO] [stdout] 44 +             for moon_b_index in (moon_a_index+1)..moons.len() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/day10b.rs:121:24
[INFO] [stdout]     |
[INFO] [stdout] 121 |                     if (asteroid_number > 200) {
[INFO] [stdout]     |                        ^                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 121 -                     if (asteroid_number > 200) {
[INFO] [stdout] 121 +                     if asteroid_number > 200 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/day10b.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 113 | /     loop {
[INFO] [stdout] 114 | |         for mut grouped_asteroid_set in &mut grouped_asteroid_sets {
[INFO] [stdout] 115 | |             match grouped_asteroid_set.first() {
[INFO] [stdout] 116 | |                 None => { 
[INFO] [stdout] ...   |
[INFO] [stdout] 128 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 129 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day12a.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         for mut moon in &mut moons {
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day10b.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     for mut grouped_asteroid_set in &mut grouped_asteroid_sets {
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day10b.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         for mut grouped_asteroid_set in &mut grouped_asteroid_sets {
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAP_WIDTH` is never used
[INFO] [stdout]  --> src/day10b.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const MAP_WIDTH : i32 = 24;
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAP_HEIGHT` is never used
[INFO] [stdout]  --> src/day10b.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const MAP_HEIGHT : i32 = 24;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `asteroid_blocked` is never used
[INFO] [stdout]   --> src/day10b.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn asteroid_blocked((asteroid_x, asteroid_y) : (i32, i32), (start_x, start_y): (i32, i32), (potential_blocker_x, potential_blocker_y...
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/day13b.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(FromPrimitive, Eq, PartialEq, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `FromPrimitive` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day13b.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 |         if (false && screen_drawn != screen) {
[INFO] [stdout]    |            ^                               ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 96 -         if (false && screen_drawn != screen) {
[INFO] [stdout] 96 +         if false && screen_drawn != screen {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/day13a.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::{self, BufRead,Write};
[INFO] [stdout]   |                             ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]  --> src/day13a.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/day13a.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(FromPrimitive, Eq, PartialEq)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `FromPrimitive` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]   --> src/day12b.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 |     while (done_x.is_none() || done_y.is_none() || done_z.is_none()) {
[INFO] [stdout]    |           ^                                                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 82 -     while (done_x.is_none() || done_y.is_none() || done_z.is_none()) {
[INFO] [stdout] 82 +     while done_x.is_none() || done_y.is_none() || done_z.is_none() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/day12b.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 |         if (done_x.is_none()) {
[INFO] [stdout]     |            ^                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 112 -         if (done_x.is_none()) {
[INFO] [stdout] 112 +         if done_x.is_none() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/day12b.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 115 |         if (done_y.is_none()) {
[INFO] [stdout]     |            ^                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 115 -         if (done_y.is_none()) {
[INFO] [stdout] 115 +         if done_y.is_none() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/day12b.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 118 |         if (done_z.is_none()) {
[INFO] [stdout]     |            ^                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 118 -         if (done_z.is_none()) {
[INFO] [stdout] 118 +         if done_z.is_none() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::FromPrimitive`
[INFO] [stdout]  --> src/day13a.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use num_traits::FromPrimitive;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::FromPrimitive`
[INFO] [stdout]  --> src/day13b.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use num_traits::FromPrimitive;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day12b.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |         for mut moon in &mut moons {
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_moon` is never used
[INFO] [stdout]   --> src/day12b.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn print_moon(moon : &Moon) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_moons` is never used
[INFO] [stdout]   --> src/day12b.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn print_moons(moons : &Vec<Moon>) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/day13a.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(FromPrimitive, Eq, PartialEq)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Tile`
[INFO] [stdout] 14 | enum Tile { Empty = 0, Wall = 1, Block = 2, HorizontalPaddle = 3, Ball = 4 }
[INFO] [stdout]    |      ---- `Tile` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/day13b.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(FromPrimitive, Eq, PartialEq, Clone)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Tile`
[INFO] [stdout] 13 | enum Tile { Empty = 0, Wall = 1, Block = 2, HorizontalPaddle = 3, Ball = 4 }
[INFO] [stdout]    |      ---- `Tile` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `output_iter` in module `intcode`
[INFO] [stdout]   --> src/day17.rs:53:28
[INFO] [stdout]    |
[INFO] [stdout] 53 |     for output in intcode::output_iter(program) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in `intcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/day17.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/day17.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_derive::FromPrimitive`
[INFO] [stdout]  --> src/day17.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use num_derive::FromPrimitive;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::cast::FromPrimitive`
[INFO] [stdout]  --> src/day17.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use num_traits::cast::FromPrimitive;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/day15.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Copy,Clone,FromPrimitive, Eq, PartialEq,Debug)]
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `FromPrimitive` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/day15.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Copy,Clone,FromPrimitive, Eq, PartialEq,Debug)]
[INFO] [stdout]    |                     ^------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `FromPrimitive` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Cell`
[INFO] [stdout] 14 | enum Cell { Wall = 0, Clear = 1, OxygenSystem = 2 }
[INFO] [stdout]    |      ---- `Cell` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/day15.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     draw_map((0,0), &map);
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let _ = draw_map((0,0), &map);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base_pattern`
[INFO] [stdout]   --> src/day16.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let base_pattern : [i32;4] = [0, 1, 0, -1];
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_pattern`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RepeatEach` is never constructed
[INFO] [stdout]  --> src/day16.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct RepeatEach<T, I>
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `repeat_each` is never used
[INFO] [stdout]   --> src/day16.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn repeat_each<T : Copy, I : Iterator<Item = T>>(iter: I, num: usize) -> RepeatEach<T, I> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `aoc` (bin "day17") due to 1 previous error; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day14.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 |     if (already_made >= goal_quantity) {
[INFO] [stdout]    |        ^                             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 -     if (already_made >= goal_quantity) {
[INFO] [stdout] 26 +     if already_made >= goal_quantity {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day14.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |         if (excess != 0) {
[INFO] [stdout]    |            ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 45 -         if (excess != 0) {
[INFO] [stdout] 45 +         if excess != 0 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f65ba281f37a5140a41eacd8d1e0522c0adc57c0640f5b13e2e9452bd446af12", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f65ba281f37a5140a41eacd8d1e0522c0adc57c0640f5b13e2e9452bd446af12", kill_on_drop: false }`
[INFO] [stdout] f65ba281f37a5140a41eacd8d1e0522c0adc57c0640f5b13e2e9452bd446af12
