[INFO] cloning repository https://github.com/byronwasti/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/byronwasti/advent-of-code-2019" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbyronwasti%2Fadvent-of-code-2019", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbyronwasti%2Fadvent-of-code-2019'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 04b7af2f5c29f8da14004a90e21cc1287d3ae887
[INFO] testing byronwasti/advent-of-code-2019 against beta-2022-02-22 for beta-1.60-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbyronwasti%2Fadvent-of-code-2019" "/workspace/builds/worker-8/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/byronwasti/advent-of-code-2019 on toolchain beta-2022-02-22
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-02-22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/byronwasti/advent-of-code-2019
[INFO] finished tweaking git repo https://github.com/byronwasti/advent-of-code-2019
[INFO] tweaked toml for git repo https://github.com/byronwasti/advent-of-code-2019 written to /workspace/builds/worker-8/source/Cargo.toml
[INFO] crate git repo https://github.com/byronwasti/advent-of-code-2019 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-02-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded termion v1.5.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-02-22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a7fe41a60431bf2e0d5d47eaffacab3736ca9e98228f96707fc8cbabae5f7db8
[INFO] running `Command { std: "docker" "start" "-a" "a7fe41a60431bf2e0d5d47eaffacab3736ca9e98228f96707fc8cbabae5f7db8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a7fe41a60431bf2e0d5d47eaffacab3736ca9e98228f96707fc8cbabae5f7db8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a7fe41a60431bf2e0d5d47eaffacab3736ca9e98228f96707fc8cbabae5f7db8", kill_on_drop: false }`
[INFO] [stdout] a7fe41a60431bf2e0d5d47eaffacab3736ca9e98228f96707fc8cbabae5f7db8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-02-22" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 94ba1ca7bfadaf7d7a2fafb6804cbbbe7bd98acd71ef19c295ef3bd05a2b5fb3
[INFO] running `Command { std: "docker" "start" "-a" "94ba1ca7bfadaf7d7a2fafb6804cbbbe7bd98acd71ef19c295ef3bd05a2b5fb3", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.66
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling numtoa v0.1.0
[INFO] [stderr]    Compiling permutohedron v0.2.4
[INFO] [stderr]    Compiling num-traits v0.2.10
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling time v0.1.42
[INFO] [stderr]    Compiling termion v1.5.4
[INFO] [stderr]    Compiling chrono v0.4.10
[INFO] [stderr]    Compiling fern v0.5.9
[INFO] [stderr]    Compiling advent-of-code-2019 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/cpu.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]  --> src/cpu.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `Read`, `self`
[INFO] [stdout]  --> src/cpu.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, BufReader, Read};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel`
[INFO] [stdout]  --> src/cpu.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/cpu.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cpu.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let mut output_val = 0;
[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: panic message is not a string literal
[INFO] [stdout]    --> src/cpu.rs:167:29
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 x => panic!(format!("Bad op: {} @ {}", x, self.pc)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout]     = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 167 -                 x => panic!(format!("Bad op: {} @ {}", x, self.pc)),
[INFO] [stdout] 167 +                 x => panic!("Bad op: {} @ {}", x, self.pc),
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cpu.rs:86:21
[INFO] [stdout]    |
[INFO] [stdout] 86 |                     self.input_signaler.send(());
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `advent_of_code_2019::cpu`
[INFO] [stdout]  --> src/bin/09.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use advent_of_code_2019::cpu;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `self`
[INFO] [stdout]  --> src/bin/09.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, BufReader};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `Sender`
[INFO] [stdout]  --> src/bin/09.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stdout]   |                                ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/bin/09.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]   --> src/bin/09.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut cpu = IntCodeVM::new(prog, cpu_in, cpu_out);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^ ----  ------  ------- supplied 3 arguments
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   expected 4 arguments
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/cpu.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `advent-of-code-2019` due to 2 previous errors; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0425]: cannot find function `run_prog` in module `cpu`
[INFO] [stdout]   --> src/bin/07.rs:54:18
[INFO] [stdout]    |
[INFO] [stdout] 54 |             cpu::run_prog(&p1, r40, s01);
[INFO] [stdout]    |                  ^^^^^^^^ not found in `cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `run_prog` in module `cpu`
[INFO] [stdout]   --> src/bin/07.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 |             cpu::run_prog(&p2, r01, s12);
[INFO] [stdout]    |                  ^^^^^^^^ not found in `cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `run_prog` in module `cpu`
[INFO] [stdout]   --> src/bin/07.rs:62:18
[INFO] [stdout]    |
[INFO] [stdout] 62 |             cpu::run_prog(&p3, r12, s23);
[INFO] [stdout]    |                  ^^^^^^^^ not found in `cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `run_prog` in module `cpu`
[INFO] [stdout]   --> src/bin/07.rs:66:18
[INFO] [stdout]    |
[INFO] [stdout] 66 |             cpu::run_prog(&p4, r23, s34);
[INFO] [stdout]    |                  ^^^^^^^^ not found in `cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `run_prog` in module `cpu`
[INFO] [stdout]   --> src/bin/07.rs:70:28
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let out = cpu::run_prog(&p5, r34, s40);
[INFO] [stdout]    |                            ^^^^^^^^ not found in `cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/bin/07.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `self`
[INFO] [stdout]  --> src/bin/07.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{self, BufReader};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `Sender`
[INFO] [stdout]  --> src/bin/07.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stdout]   |                                ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLock`
[INFO] [stdout]  --> src/bin/07.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::{Arc, RwLock};
[INFO] [stdout]   |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `self`
[INFO] [stdout]  --> src/bin/11.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::{self, BufReader};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `Sender`
[INFO] [stdout]  --> src/bin/11.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stdout]   |                                ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/bin/03.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, BufReader};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/bin/06.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{self, BufReader};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/bin/12.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]   --> src/bin/11.rs:26:19
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut cpu = IntCodeVM::new(prog, cpu_in, cpu_out);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^ ----  ------  ------- supplied 3 arguments
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   expected 4 arguments
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/cpu.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors; 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overwrite`
[INFO] [stdout]   --> src/bin/03.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 let overwrite = hash_map.insert(pos, dist);
[INFO] [stdout]    |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overwrite`
[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]  --> src/bin/03.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut file = File::open("input/03/input").unwrap();
[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]   --> src/bin/03.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut wire_paths: Vec<Vec<String>> = reader
[INFO] [stdout]    |         ----^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `p1`
[INFO] [stdout]   --> src/bin/03.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn p1<T: AsRef<str>>(wire_a: &[T], wire_b: &[T]) -> i64 {
[INFO] [stdout]    |    ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `get_loc_set`
[INFO] [stdout]   --> src/bin/03.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn get_loc_set<T: AsRef<str>>(wire: &[T]) -> HashSet<(i64, i64)> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/bin/13.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{debug, info};
[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/bin/13.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `self`
[INFO] [stdout]  --> src/bin/13.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{self, BufReader};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Receiver`
[INFO] [stdout]   --> src/bin/13.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stdout]    |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/bin/06.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let mut file = File::open("input/06/input").unwrap();
[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] error: aborting due to previous error; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `p1`
[INFO] [stdout]   --> src/bin/06.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn p1(orbit_pairs: &[(String, String)]) -> usize {
[INFO] [stdout]    |    ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `count_orbits`
[INFO] [stdout]   --> src/bin/06.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn count_orbits(rev_orbit_map: &RevOrbitMap, start: &String, depth: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `p1`
[INFO] [stdout]   --> src/bin/12.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn p1(moons: &mut [Moon]) -> i64 {
[INFO] [stdout]    |    ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_state_x`
[INFO] [stdout]    --> src/bin/12.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn get_state_x(&self) -> (i64, i64) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_state_y`
[INFO] [stdout]    --> src/bin/12.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn get_state_y(&self) -> (i64, i64) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_energy`
[INFO] [stdout]    --> src/bin/12.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub fn get_energy(&self) -> i64 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `self`
[INFO] [stdout]  --> src/bin/08.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{self, BufReader};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `self`
[INFO] [stdout]  --> src/bin/02.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{self, BufReader};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::consts::PI`
[INFO] [stdout]  --> src/bin/10.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f64::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/bin/10.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, BufReader};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/bin/10.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/bin/10.rs:91:14
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let mx = (a.0 - b.0);
[INFO] [stdout]    |              ^         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 91 -     let mx = (a.0 - b.0);
[INFO] [stdout] 91 +     let mx = a.0 - b.0;
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/bin/10.rs:92:14
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let my = (a.1 - b.1);
[INFO] [stdout]    |              ^         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 92 -     let my = (a.1 - b.1);
[INFO] [stdout] 92 +     let my = a.1 - b.1;
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `score` is never read
[INFO] [stdout]   --> src/bin/13.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let mut score = 0;
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `max_y` is assigned to, but never used
[INFO] [stdout]   --> src/bin/10.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut max_y = 0;
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout]    = note: consider using `_max_y` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `max_y` is never read
[INFO] [stdout]   --> src/bin/10.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         max_y = y;
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/10.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let mut file = File::open("input/10/input").unwrap();
[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: function is never used: `p1`
[INFO] [stdout]   --> src/bin/10.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn p1(asteroids: &[(i32, i32)]) -> i32 {
[INFO] [stdout]    |    ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `find_slope`
[INFO] [stdout]   --> src/bin/10.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn find_slope(a: (i32, i32), b: (i32, i32)) -> (i32, i32) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `gcd`
[INFO] [stdout]   --> src/bin/10.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn gcd(a: i32, b: i32) -> i32 {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op_char`
[INFO] [stdout]   --> src/bin/02.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let op_char = match op {
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_op_char`
[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]   --> src/bin/02.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut vals: Vec<usize> = contents
[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: function is never used: `p1`
[INFO] [stdout]   --> src/bin/08.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn p1(vals: &[i32], size: (usize, usize)) -> i32 {
[INFO] [stdout]    |    ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `p1`
[INFO] [stdout]   --> src/bin/02.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn p1(vals: &[usize]) -> usize {
[INFO] [stdout]    |    ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/bin/02.rs:67:25
[INFO] [stdout]    |
[INFO] [stdout] 67 |             x => panic!(format!("Bad op: {} @ {}", x, pc)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout]    = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 67 -             x => panic!(format!("Bad op: {} @ {}", x, pc)),
[INFO] [stdout] 67 +             x => panic!("Bad op: {} @ {}", x, pc),
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/13.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     logger::setup_logging();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/bin/01.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{self, BufReader};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/bin/01.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let fuel = ((mass / 3.).floor() - 2.);
[INFO] [stdout]    |                ^                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 24 -     let fuel = ((mass / 3.).floor() - 2.);
[INFO] [stdout] 24 +     let fuel = (mass / 3.).floor() - 2.;
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/13.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 send.send(-1);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/13.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 send.send(1);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/13.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 send.send(0);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/13.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     send.send(-2);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/13.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     write!(stdout, "{}", termion::clear::All);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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 `Result` that must be used
[INFO] [stdout]    --> src/bin/13.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |             send.send(send_val);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/13.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 | /             write!(
[INFO] [stdout] 119 | |                 stdout,
[INFO] [stdout] 120 | |                 "{}{}Score: {}",
[INFO] [stdout] 121 | |                 termion::cursor::Goto(1, 22),
[INFO] [stdout] 122 | |                 termion::clear::CurrentLine,
[INFO] [stdout] 123 | |                 score
[INFO] [stdout] 124 | |             );
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[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 `Result` that must be used
[INFO] [stdout]    --> src/bin/13.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 | /             write!(
[INFO] [stdout] 145 | |                 stdout,
[INFO] [stdout] 146 | |                 "{}{}",
[INFO] [stdout] 147 | |                 termion::cursor::Goto(x as u16 + 1, y as u16 + 1),
[INFO] [stdout] 148 | |                 tile_char
[INFO] [stdout] 149 | |             );
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[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: variable does not need to be mutable
[INFO] [stdout]  --> src/bin/01.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let mut file = File::open("input/01/input")?;
[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 import: `BufReader`
[INFO] [stdout]  --> src/bin/05.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{self, BufReader, Read};
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/bin/14.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, BufReader};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]  --> src/bin/05.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op_char`
[INFO] [stdout]   --> src/bin/05.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let op_char = match op {
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_op_char`
[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]   --> src/bin/05.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut vals: Vec<i32> = contents
[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]   --> src/bin/05.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let mut vals = vals.to_vec();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/bin/05.rs:116:25
[INFO] [stdout]     |
[INFO] [stdout] 116 |             x => panic!(format!("Bad op: {} @ {}", x, pc)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout]     = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 116 -             x => panic!(format!("Bad op: {} @ {}", x, pc)),
[INFO] [stdout] 116 +             x => panic!("Bad op: {} @ {}", x, pc),
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/05.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 io::stdin().read_line(&mut buffer);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ore_start_amount`
[INFO] [stdout]   --> src/bin/14.rs:21:27
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn p2(recipes: &[Recipe], ore_start_amount: i64) -> i64 {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ore_start_amount`
[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]  --> src/bin/14.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut file = File::open("input/14/input").unwrap();
[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: cannot borrow `*leftovers` as mutable because it is also borrowed as immutable
[INFO] [stdout]    --> src/bin/14.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     if let Some(already_available) = leftovers.get(&ingredient) {
[INFO] [stdout]     |                                      -------------------------- immutable borrow occurs here
[INFO] [stdout] 103 |         leftovers.insert(ingredient.clone(), leftover + already_available);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------------^
[INFO] [stdout]     |         |                                               |
[INFO] [stdout]     |         |                                               immutable borrow later used here
[INFO] [stdout]     |         mutable borrow occurs here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default
[INFO] [stdout]     = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]     = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `p1`
[INFO] [stdout]   --> src/bin/14.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn p1(recipes: &[Recipe]) -> i64 {
[INFO] [stdout]    |    ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: erroneous constant used
[INFO] [stdout]   --> src/bin/14.rs:76:23
[INFO] [stdout]    |
[INFO] [stdout] 76 |     if &ingredient == "ORE" {
[INFO] [stdout]    |                       ^^^^^ referenced constant has errors
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(const_err)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
[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] error: internal compiler error: /rustc/0a4f984a87c7ba6c74ec3e78442fec955a419e32/compiler/rustc_codegen_ssa/src/mir/constant.rs:42:20: encountered bad ConstKind after monomorphizing: Error(DelaySpanBugEmitted(()))
[INFO] [stdout]   --> src/bin/14.rs:76:23
[INFO] [stdout]    |
[INFO] [stdout] 76 |     if &ingredient == "ORE" {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] thread 'rustc' panicked at 'Box<dyn Any>', /rustc/0a4f984a87c7ba6c74ec3e78442fec955a419e32/compiler/rustc_errors/src/lib.rs:1106:9
[INFO] [stderr] stack backtrace:
[INFO] [stderr]    0:     0x7fc05949a84c - std::backtrace_rs::backtrace::libunwind::trace::h02555d7ca8aa068a
[INFO] [stderr]                                at /rustc/0a4f984a87c7ba6c74ec3e78442fec955a419e32/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
[INFO] [stderr]    1:     0x7fc05949a84c - std::backtrace_rs::backtrace::trace_unsynchronized::h8555a46024147da8
[INFO] [stderr]                                at /rustc/0a4f984a87c7ba6c74ec3e78442fec955a419e32/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stderr]    2:     0x7fc05949a84c - std::sys_common::backtrace::_print_fmt::h4c7f50b4f105da1e
[INFO] [stderr]                                at /rustc/0a4f984a87c7ba6c74ec3e78442fec955a419e32/library/std/src/sys_common/backtrace.rs:66:5
[INFO] [stderr]    3:     0x7fc05949a84c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::ha305a40dbc030444
[INFO] [stderr]                                at /rustc/0a4f984a87c7ba6c74ec3e78442fec955a419e32/library/std/src/sys_common/backtrace.rs:45:22
[INFO] [stderr]    4:     0x7fc0594fa2ec - core::fmt::write::hadd15acf4d6ce273
[INFO] [stderr]                                at /rustc/0a4f984a87c7ba6c74ec3e78442fec955a419e32/library/core/src/fmt/mod.rs:1190:17
[INFO] [stderr]    5:     0x7fc05948aa18 - std::io::Write::write_fmt::h0f87f6c0c21ec48a
[INFO] [stderr]                                at /rustc/0a4f984a87c7ba6c74ec3e78442fec955a419e32/library/std/src/io/mod.rs:1657:15
[INFO] [stderr]    6:     0x7fc05949e817 - std::sys_common::backtrace::_print::h0dd5c0810675bd8c
[INFO] [stderr]                                at /rustc/0a4f984a87c7ba6c74ec3e78442fec955a419e32/library/std/src/sys_common/backtrace.rs:48:5
[INFO] [stderr]    7:     0x7fc05949e817 - std::sys_common::backtrace::print::h20a2155fa0a22ca6
[INFO] [stderr]                                at /rustc/0a4f984a87c7ba6c74ec3e78442fec955a419e32/library/std/src/sys_common/backtrace.rs:35:9
[INFO] [stderr]    8:     0x7fc05949e817 - std::panicking::default_hook::{{closure}}::habb3b6f3ccdfe00a
[INFO] [stderr]                                at /rustc/0a4f984a87c7ba6c74ec3e78442fec955a419e32/library/std/src/panicking.rs:295:22
[INFO] [stderr]    9:     0x7fc05949e4df - std::panicking::default_hook::h1c5cf4d5063a38e4
[INFO] [stderr]                                at /rustc/0a4f984a87c7ba6c74ec3e78442fec955a419e32/library/std/src/panicking.rs:314:9
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   10:     0x7fc059c2ad01 - rustc_driver[6bef90fb01cd5c5b]::DEFAULT_HOOK::{closure#0}::{closure#0}
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   11:     0x7fc05949f0e5 - std::panicking::rust_panic_with_hook::hb5de7a3072d2cf59
[INFO] [stderr]                                at /rustc/0a4f984a87c7ba6c74ec3e78442fec955a419e32/library/std/src/panicking.rs:702:17
[INFO] [stderr]   12:     0x7fc059d5cd91 - std[f28d7f26b77e9927]::panicking::begin_panic::<rustc_errors[67cbba2d4402017b]::ExplicitBug>::{closure#0}
[INFO] [stderr]   13:     0x7fc059d5cb46 - std[f28d7f26b77e9927]::sys_common::backtrace::__rust_end_short_backtrace::<std[f28d7f26b77e9927]::panicking::begin_panic<rustc_errors[67cbba2d4402017b]::ExplicitBug>::{closure#0}, !>
[INFO] [stderr]   14:     0x7fc059d8d7ef - std[f28d7f26b77e9927]::panicking::begin_panic::<rustc_errors[67cbba2d4402017b]::ExplicitBug>
[INFO] [stderr]   15:     0x7fc059da3b6d - std[f28d7f26b77e9927]::panic::panic_any::<rustc_errors[67cbba2d4402017b]::ExplicitBug>
[INFO] [stderr]   16:     0x7fc059da0ca8 - <rustc_errors[67cbba2d4402017b]::HandlerInner>::span_bug::<rustc_span[9b900a4fc3e65ac3]::span_encoding::Span>
[INFO] [stderr]   17:     0x7fc059da0980 - <rustc_errors[67cbba2d4402017b]::Handler>::span_bug::<rustc_span[9b900a4fc3e65ac3]::span_encoding::Span>
[INFO] [stderr]   18:     0x7fc059d756e8 - rustc_middle[35226b2a2d959981]::ty::context::tls::with_opt::<rustc_middle[35226b2a2d959981]::util::bug::opt_span_bug_fmt<rustc_span[9b900a4fc3e65ac3]::span_encoding::Span>::{closure#0}, ()>
[INFO] [stderr]   19:     0x7fc059d759a0 - rustc_middle[35226b2a2d959981]::util::bug::opt_span_bug_fmt::<rustc_span[9b900a4fc3e65ac3]::span_encoding::Span>
[INFO] [stderr]   20:     0x7fc059d7596c - rustc_middle[35226b2a2d959981]::util::bug::span_bug_fmt::<rustc_span[9b900a4fc3e65ac3]::span_encoding::Span>
[INFO] [stderr]   21:     0x7fc05aeaf659 - <rustc_codegen_ssa[97459cfbebab0e68]::mir::FunctionCx<rustc_codegen_llvm[b55d4a142e2be4d5]::builder::Builder>>::codegen_rvalue_operand
[INFO] [stderr]   22:     0x7fc05aeb7861 - rustc_codegen_ssa[97459cfbebab0e68]::mir::codegen_mir::<rustc_codegen_llvm[b55d4a142e2be4d5]::builder::Builder>
[INFO] [stderr]   23:     0x7fc05ae741e2 - rustc_codegen_llvm[b55d4a142e2be4d5]::base::compile_codegen_unit::module_codegen
[INFO] [stderr]   24:     0x7fc05bafcaa6 - <rustc_query_system[775cdb3119b84101]::dep_graph::graph::DepGraph<rustc_middle[35226b2a2d959981]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[35226b2a2d959981]::ty::context::TyCtxt, rustc_span[9b900a4fc3e65ac3]::symbol::Symbol, rustc_codegen_ssa[97459cfbebab0e68]::ModuleCodegen<rustc_codegen_llvm[b55d4a142e2be4d5]::ModuleLlvm>>
[INFO] [stderr]   25:     0x7fc05bafa2bf - rustc_codegen_llvm[b55d4a142e2be4d5]::base::compile_codegen_unit
[INFO] [stderr]   26:     0x7fc05bb28495 - rustc_codegen_ssa[97459cfbebab0e68]::base::codegen_crate::<rustc_codegen_llvm[b55d4a142e2be4d5]::LlvmCodegenBackend>
[INFO] [stderr]   27:     0x7fc05bae907a - <rustc_codegen_llvm[b55d4a142e2be4d5]::LlvmCodegenBackend as rustc_codegen_ssa[97459cfbebab0e68]::traits::backend::CodegenBackend>::codegen_crate
[INFO] [stderr]   28:     0x7fc05badade7 - <rustc_session[57c84bb2e3ebdb5a]::session::Session>::time::<alloc[da114b4aa73c096c]::boxed::Box<dyn core[c37c5d1d9572cc31]::any::Any>, rustc_interface[b2fc20e59d639e2e]::passes::start_codegen::{closure#0}>
[INFO] [stderr]   29:     0x7fc05bac1336 - <rustc_interface[b2fc20e59d639e2e]::passes::QueryContext>::enter::<<rustc_interface[b2fc20e59d639e2e]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[c37c5d1d9572cc31]::result::Result<alloc[da114b4aa73c096c]::boxed::Box<dyn core[c37c5d1d9572cc31]::any::Any>, rustc_errors[67cbba2d4402017b]::ErrorReported>>
[INFO] [stderr]   30:     0x7fc05bab76af - <rustc_interface[b2fc20e59d639e2e]::queries::Queries>::ongoing_codegen
[INFO] [stderr]   31:     0x7fc05ba8f183 - rustc_interface[b2fc20e59d639e2e]::interface::create_compiler_and_run::<core[c37c5d1d9572cc31]::result::Result<(), rustc_errors[67cbba2d4402017b]::ErrorReported>, rustc_driver[6bef90fb01cd5c5b]::run_compiler::{closure#1}>
[INFO] [stderr]   32:     0x7fc05ba74804 - std[f28d7f26b77e9927]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[b2fc20e59d639e2e]::util::run_in_thread_pool_with_globals<rustc_interface[b2fc20e59d639e2e]::interface::run_compiler<core[c37c5d1d9572cc31]::result::Result<(), rustc_errors[67cbba2d4402017b]::ErrorReported>, rustc_driver[6bef90fb01cd5c5b]::run_compiler::{closure#1}>::{closure#0}, core[c37c5d1d9572cc31]::result::Result<(), rustc_errors[67cbba2d4402017b]::ErrorReported>>::{closure#0}, core[c37c5d1d9572cc31]::result::Result<(), rustc_errors[67cbba2d4402017b]::ErrorReported>>
[INFO] [stderr]   33:     0x7fc05baa7a99 - <<std[f28d7f26b77e9927]::thread::Builder>::spawn_unchecked_<rustc_interface[b2fc20e59d639e2e]::util::run_in_thread_pool_with_globals<rustc_interface[b2fc20e59d639e2e]::interface::run_compiler<core[c37c5d1d9572cc31]::result::Result<(), rustc_errors[67cbba2d4402017b]::ErrorReported>, rustc_driver[6bef90fb01cd5c5b]::run_compiler::{closure#1}>::{closure#0}, core[c37c5d1d9572cc31]::result::Result<(), rustc_errors[67cbba2d4402017b]::ErrorReported>>::{closure#0}, core[c37c5d1d9572cc31]::result::Result<(), rustc_errors[67cbba2d4402017b]::ErrorReported>>::{closure#1} as core[c37c5d1d9572cc31]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stderr]   34:     0x7fc0594aabd3 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h82a18723295373b7
[INFO] [stderr]                                at /rustc/0a4f984a87c7ba6c74ec3e78442fec955a419e32/library/alloc/src/boxed.rs:1854:9
[INFO] [stderr]   35:     0x7fc0594aabd3 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h4b9b8634f7a2a5a4
[INFO] [stderr]                                at /rustc/0a4f984a87c7ba6c74ec3e78442fec955a419e32/library/alloc/src/boxed.rs:1854:9
[INFO] [stderr]   36:     0x7fc0594aabd3 - std::sys::unix::thread::Thread::new::thread_start::h3dc341aa024c6852
[INFO] [stderr]                                at /rustc/0a4f984a87c7ba6c74ec3e78442fec955a419e32/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stderr]   37:     0x7fc0593bc609 - start_thread
[INFO] [stderr]   38:     0x7fc0592d6293 - clone
[INFO] [stderr]   39:                0x0 - <unknown>
[INFO] [stderr] 
[INFO] [stderr] note: the compiler unexpectedly panicked. this is a bug.
[INFO] [stderr] 
[INFO] [stderr] note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
[INFO] [stderr] 
[INFO] [stderr] note: rustc 1.60.0-beta.1 (0a4f984a8 2022-02-22) running on x86_64-unknown-linux-gnu
[INFO] [stderr] 
[INFO] [stderr] note: compiler flags: --crate-type bin -C embed-bitcode=no -C debuginfo=2
[INFO] [stderr] 
[INFO] [stderr] note: some of the compiler flags provided by cargo are hidden
[INFO] [stderr] 
[INFO] [stderr] query stack during panic:
[INFO] [stderr] end of query stack
[INFO] [stdout] error: aborting due to previous error; 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "94ba1ca7bfadaf7d7a2fafb6804cbbbe7bd98acd71ef19c295ef3bd05a2b5fb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "94ba1ca7bfadaf7d7a2fafb6804cbbbe7bd98acd71ef19c295ef3bd05a2b5fb3", kill_on_drop: false }`
[INFO] [stdout] 94ba1ca7bfadaf7d7a2fafb6804cbbbe7bd98acd71ef19c295ef3bd05a2b5fb3