[INFO] cloning repository https://github.com/Esteth/aoc2019
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Esteth/aoc2019" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEsteth%2Faoc2019", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEsteth%2Faoc2019'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0f88c117d201df8dc952943069684b5a091d1f64
[INFO] testing Esteth/aoc2019 against 1.69.0 for beta-1.70-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEsteth%2Faoc2019" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Esteth/aoc2019 on toolchain 1.69.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Esteth/aoc2019
[INFO] finished tweaking git repo https://github.com/Esteth/aoc2019
[INFO] tweaked toml for git repo https://github.com/Esteth/aoc2019 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/Esteth/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.69.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded simple-error v0.2.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:97d61d7686bf65f8ecb15491ab51835e82dc9176a96a831f143a431b191fc501" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5153d022d99b596b81c08b0aba14d7c3ae0c1d6e14467fea67d3c2958d110182
[INFO] running `Command { std: "docker" "start" "-a" "5153d022d99b596b81c08b0aba14d7c3ae0c1d6e14467fea67d3c2958d110182", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5153d022d99b596b81c08b0aba14d7c3ae0c1d6e14467fea67d3c2958d110182", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5153d022d99b596b81c08b0aba14d7c3ae0c1d6e14467fea67d3c2958d110182", kill_on_drop: false }`
[INFO] [stdout] 5153d022d99b596b81c08b0aba14d7c3ae0c1d6e14467fea67d3c2958d110182
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:97d61d7686bf65f8ecb15491ab51835e82dc9176a96a831f143a431b191fc501" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 109b51e00b39d47030f636e58f87c4b9bd4a742b6e14c97daf674e109a088948
[INFO] running `Command { std: "docker" "start" "-a" "109b51e00b39d47030f636e58f87c4b9bd4a742b6e14c97daf674e109a088948", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling either v1.5.3
[INFO] [stderr]    Compiling simple-error v0.2.1
[INFO] [stderr]    Compiling itertools v0.8.2
[INFO] [stderr]    Compiling crossbeam-utils v0.7.0
[INFO] [stderr]    Compiling crossbeam-channel v0.4.0
[INFO] [stderr]    Compiling soc2019 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/computer.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 206 |             _ => {
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/computer.rs:224:34
[INFO] [stdout]     |
[INFO] [stdout] 224 |             Parameter::Immediate(x) =>  panic!("wat"),
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/day6/main.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `distance_from_root` is never used
[INFO] [stdout]  --> src/day6/main.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn distance_from_root(parents: &HashMap<String, String>, node: &String) -> i32 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/day8/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `simple_error::SimpleError`
[INFO] [stdout]  --> src/day8/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use simple_error::SimpleError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/day7/main.rs:52:64
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn run_pipeline(memory: &Vec<i32>, phases: [i32; 5]) -> Result<(i32), Box<dyn Error>> {
[INFO] [stdout]    |                                                                ^   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 52 - fn run_pipeline(memory: &Vec<i32>, phases: [i32; 5]) -> Result<(i32), Box<dyn Error>> {
[INFO] [stdout] 52 + fn run_pipeline(memory: &Vec<i32>, phases: [i32; 5]) -> Result<i32, Box<dyn Error>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/day13/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/day13/main.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RecvError`, `TryRecvError`
[INFO] [stdout]  --> src/day13/main.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crossbeam_channel::{RecvError, TryRecvError, Select};
[INFO] [stdout]   |                         ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `simple_error::SimpleError`
[INFO] [stdout]  --> src/day13/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use simple_error::SimpleError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossbeam_channel::internal::select`
[INFO] [stdout]   --> src/day13/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crossbeam_channel::internal::select;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRANSPARENT_LAYER` is never used
[INFO] [stdout]   --> src/day8/main.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const TRANSPARENT_LAYER: Layer = Layer {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/day10/main.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashSet, BTreeSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Formatter`
[INFO] [stdout]  --> src/day10/main.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fmt::{Debug, Formatter};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/day10/main.rs:21:31
[INFO] [stdout]    |
[INFO] [stdout] 21 |         (self.y as f64).atan2((self.x as f64))
[INFO] [stdout]    |                               ^             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 21 -         (self.y as f64).atan2((self.x as f64))
[INFO] [stdout] 21 +         (self.y as f64).atan2(self.x as f64)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `panels`
[INFO] [stdout]   --> src/day13/main.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut panels: HashMap<(i32, i32), bool> = HashMap::new();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_panels`
[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/day13/main.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut panels: HashMap<(i32, i32), bool> = HashMap::new();
[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 `Result` that must be used
[INFO] [stdout]   --> src/day13/main.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         computer.run_to_completion();
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/day13/main.rs:54:25
[INFO] [stdout]    |
[INFO] [stdout] 54 |                         input_sender.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] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]   --> src/day7/main.rs:63:32
[INFO] [stdout]    |
[INFO] [stdout] 63 |             let mut computer = Computer::new(memory.clone(), rx, tx);
[INFO] [stdout]    |                                ^^^^^^^^^^^^^------------------------ an argument of type `crossbeam_channel::Sender<i64>` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: expected `Vec<i64>`, found `Vec<i32>`
[INFO] [stdout]   --> src/day7/main.rs:63:46
[INFO] [stdout]    |
[INFO] [stdout] 63 |             let mut computer = Computer::new(memory.clone(), rx, tx);
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected struct `Vec<i64>`
[INFO] [stdout]               found struct `Vec<i32>`
[INFO] [stdout] note: expected `Receiver<i64>`, found `Receiver<i32>`
[INFO] [stdout]   --> src/day7/main.rs:63:62
[INFO] [stdout]    |
[INFO] [stdout] 63 |             let mut computer = Computer::new(memory.clone(), rx, tx);
[INFO] [stdout]    |                                                              ^^
[INFO] [stdout]    = note: expected struct `crossbeam_channel::Receiver<i64>`
[INFO] [stdout]               found struct `crossbeam_channel::Receiver<i32>`
[INFO] [stdout] note: expected `Sender<()>`, found `Sender<i32>`
[INFO] [stdout]   --> src/day7/main.rs:63:66
[INFO] [stdout]    |
[INFO] [stdout] 63 |             let mut computer = Computer::new(memory.clone(), rx, tx);
[INFO] [stdout]    |                                                                  ^^
[INFO] [stdout]    = note: expected struct `crossbeam_channel::Sender<()>`
[INFO] [stdout]               found struct `crossbeam_channel::Sender<i32>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/computer.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 63 |             let mut computer = Computer::new(/* Vec<i64> */, /* crossbeam_channel::Receiver<i64> */, /* crossbeam_channel::Sender<()> */, /* crossbeam_channel::Sender<i64> */);
[INFO] [stdout]    |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `destroyed`
[INFO] [stdout]    --> src/day10/main.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let mut destroyed: i32 = 0;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_destroyed`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/day10/main.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let mut i: usize = 0 as usize;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/day10/main.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn ith_asteroid(i: i32, (station_x, station_y): (i32, i32), input: &str) -> (i32, i32) {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day12/main.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |             let mut diff = self.asteroids.iter().fold(0, |acc, other_asteroid| {
[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[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]   --> src/day7/main.rs:69:24
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut computer = Computer::new(memory.clone(), chans[4].1.clone(), chans[0].0.clone());
[INFO] [stdout]    |                        ^^^^^^^^^^^^^-------------------------------------------------------- an argument of type `crossbeam_channel::Sender<i64>` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: expected `Vec<i64>`, found `Vec<i32>`
[INFO] [stdout]   --> src/day7/main.rs:69:38
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut computer = Computer::new(memory.clone(), chans[4].1.clone(), chans[0].0.clone());
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected struct `Vec<i64>`
[INFO] [stdout]               found struct `Vec<i32>`
[INFO] [stdout] note: expected `Receiver<i64>`, found `Receiver<i32>`
[INFO] [stdout]   --> src/day7/main.rs:69:54
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut computer = Computer::new(memory.clone(), chans[4].1.clone(), chans[0].0.clone());
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected struct `crossbeam_channel::Receiver<i64>`
[INFO] [stdout]               found struct `crossbeam_channel::Receiver<i32>`
[INFO] [stdout] note: expected `Sender<()>`, found `Sender<i32>`
[INFO] [stdout]   --> src/day7/main.rs:69:74
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut computer = Computer::new(memory.clone(), chans[4].1.clone(), chans[0].0.clone());
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected struct `crossbeam_channel::Sender<()>`
[INFO] [stdout]               found struct `crossbeam_channel::Sender<i32>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/computer.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut computer = Computer::new(/* Vec<i64> */, /* crossbeam_channel::Receiver<i64> */, /* crossbeam_channel::Sender<()> */, /* crossbeam_channel::Sender<i64> */);
[INFO] [stdout]    |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] warning: field `asteroids` is never read
[INFO] [stdout]   --> src/day12/main.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct System {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 62 |     asteroids: Vec<Asteroid>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `System` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `potential_energy` is never used
[INFO] [stdout]   --> src/day12/main.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn potential_energy(&self) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `energy` is never used
[INFO] [stdout]   --> src/day12/main.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn energy(&self) -> i32 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `energy` is never used
[INFO] [stdout]   --> src/day12/main.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn energy(&self) -> i32 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `energy` is never used
[INFO] [stdout]   --> src/day12/main.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn energy(&self) -> i32 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `step` is never used
[INFO] [stdout]   --> src/day12/main.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn step(&mut self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `soc2019` due to 3 previous errors; 1 warning emitted
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day10/main.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let mut destroyed: i32 = 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] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day10/main.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let mut i: usize = 0 as usize;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `best_asteroid` is never used
[INFO] [stdout]   --> src/day10/main.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn best_asteroid(input: &str) -> Result<(i32, i32), Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_field` is never used
[INFO] [stdout]   --> src/day10/main.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn get_field(input: &str) -> BTreeSet<Point>{
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_angles` is never used
[INFO] [stdout]   --> src/day10/main.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn get_angles(field: &BTreeSet<Point>, (station_x, station_y): (i32, i32)) -> Vec<(Point, f64)> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ith_asteroid` is never used
[INFO] [stdout]   --> src/day10/main.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn ith_asteroid(i: i32, (station_x, station_y): (i32, i32), input: &str) -> (i32, i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "109b51e00b39d47030f636e58f87c4b9bd4a742b6e14c97daf674e109a088948", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "109b51e00b39d47030f636e58f87c4b9bd4a742b6e14c97daf674e109a088948", kill_on_drop: false }`
[INFO] [stdout] 109b51e00b39d47030f636e58f87c4b9bd4a742b6e14c97daf674e109a088948
