[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] checking Esteth/aoc2019 against try#2b39fe756f52bc2825bf5b2bfc385cab922dae10 for pr-143011
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEsteth%2Faoc2019" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[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-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Esteth/aoc2019 on toolchain 2b39fe756f52bc2825bf5b2bfc385cab922dae10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3331db5b9419da718a9d18444c5aaa4487b92ec56aa762b54cb41f9eeb8282a7
[INFO] running `Command { std: "docker" "start" "-a" "3331db5b9419da718a9d18444c5aaa4487b92ec56aa762b54cb41f9eeb8282a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3331db5b9419da718a9d18444c5aaa4487b92ec56aa762b54cb41f9eeb8282a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3331db5b9419da718a9d18444c5aaa4487b92ec56aa762b54cb41f9eeb8282a7", kill_on_drop: false }`
[INFO] [stdout] 3331db5b9419da718a9d18444c5aaa4487b92ec56aa762b54cb41f9eeb8282a7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b090f5fc544cc37cbf30847fcd1713e5b544129ae630c71ea73f5b68165792e5
[INFO] running `Command { std: "docker" "start" "-a" "b090f5fc544cc37cbf30847fcd1713e5b544129ae630c71ea73f5b68165792e5", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking either v1.5.3
[INFO] [stderr]     Checking simple-error v0.2.1
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]    Compiling crossbeam-utils v0.7.0
[INFO] [stderr]     Checking crossbeam-channel v0.4.0
[INFO] [stderr]     Checking soc2019 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/computer.rs:242:13
[INFO] [stdout]     |
[INFO] [stdout] 242 |               Computer::new(
[INFO] [stdout]     |  _____________^^^^^^^^^^^^^-
[INFO] [stdout] 243 | |                 vec![1, 9, 10, 3,
[INFO] [stdout] 244 | |                      2, 3, 11, 0,
[INFO] [stdout] 245 | |                      99,
[INFO] [stdout] 246 | |                      30, 40, 50],
[INFO] [stdout] 247 | |                 rx1,
[INFO] [stdout] 248 | |                 tx2);
[INFO] [stdout]     | |____________________- argument #4 of type `crossbeam_channel::Sender<i64>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/computer.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout] 72  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |         output: Sender<i64>) -> Computer {
[INFO] [stdout]     |         -------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 242 ~             Computer::new(vec![1, 9, 10, 3,
[INFO] [stdout] 243 +                      2, 3, 11, 0,
[INFO] [stdout] 244 +                      99,
[INFO] [stdout] 245 ~                      30, 40, 50], rx1, tx2, /* crossbeam_channel::Sender<i64> */);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/computer.rs:259:21
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let mut c = Computer::new(vec![1, 0, 0, 0, 99], rx, tx);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^                           -- argument #3 of type `crossbeam_channel::Sender<()>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/computer.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout] 72  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 75  |         input_request: Sender<()>,
[INFO] [stdout]     |         -------------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let mut c = Computer::new(vec![1, 0, 0, 0, 99], rx, /* crossbeam_channel::Sender<()> */, tx);
[INFO] [stdout]     |                                                             ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/computer.rs:267:21
[INFO] [stdout]     |
[INFO] [stdout] 267 |         let mut c = Computer::new(vec![2, 3, 0, 3, 99], rx, tx);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^                           -- argument #3 of type `crossbeam_channel::Sender<()>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/computer.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout] 72  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 75  |         input_request: Sender<()>,
[INFO] [stdout]     |         -------------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 267 |         let mut c = Computer::new(vec![2, 3, 0, 3, 99], rx, /* crossbeam_channel::Sender<()> */, tx);
[INFO] [stdout]     |                                                             ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/computer.rs:275:21
[INFO] [stdout]     |
[INFO] [stdout] 275 |         let mut c = Computer::new(vec![2, 4, 4, 5, 99, 0], rx, tx);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^                              -- argument #3 of type `crossbeam_channel::Sender<()>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/computer.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout] 72  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 75  |         input_request: Sender<()>,
[INFO] [stdout]     |         -------------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 275 |         let mut c = Computer::new(vec![2, 4, 4, 5, 99, 0], rx, /* crossbeam_channel::Sender<()> */, tx);
[INFO] [stdout]     |                                                                ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/computer.rs:283:21
[INFO] [stdout]     |
[INFO] [stdout] 283 |         let mut c = Computer::new(vec![1, 1, 1, 4, 99, 5, 6, 0, 99], rx, tx);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^                                        -- argument #3 of type `crossbeam_channel::Sender<()>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/computer.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout] 72  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 75  |         input_request: Sender<()>,
[INFO] [stdout]     |         -------------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 283 |         let mut c = Computer::new(vec![1, 1, 1, 4, 99, 5, 6, 0, 99], rx, /* crossbeam_channel::Sender<()> */, tx);
[INFO] [stdout]     |                                                                          ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/computer.rs:292:21
[INFO] [stdout]     |
[INFO] [stdout] 292 |         let mut c = Computer::new(vec![3, 0, 99], rx, tx);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^                     -- argument #3 of type `crossbeam_channel::Sender<()>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/computer.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout] 72  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 75  |         input_request: Sender<()>,
[INFO] [stdout]     |         -------------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 292 |         let mut c = Computer::new(vec![3, 0, 99], rx, /* crossbeam_channel::Sender<()> */, tx);
[INFO] [stdout]     |                                                       ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/computer.rs:301:21
[INFO] [stdout]     |
[INFO] [stdout] 301 |         let mut c = Computer::new(vec![4, 0, 99], rx1, tx2);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^-------------------------- argument #4 of type `crossbeam_channel::Sender<i64>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/computer.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout] 72  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |         output: Sender<i64>) -> Computer {
[INFO] [stdout]     |         -------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 301 |         let mut c = Computer::new(vec![4, 0, 99], rx1, tx2, /* crossbeam_channel::Sender<i64> */);
[INFO] [stdout]     |                                                           ++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/computer.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 206 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/computer.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |             Instruction::Add(x, y, dest) => {
[INFO] [stdout]     |             ---------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 148 |             Instruction::Mult(x, y, dest) => {
[INFO] [stdout]     |             ----------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 155 |             Instruction::Input(dest) => {
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 164 |             Instruction::Output(x) => {
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 206 |             _ => {
[INFO] [stdout]     |             ^ ...and 6 other patterns collectively make this unreachable
[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] error[E0308]: mismatched types
[INFO] [stdout]    --> src/computer.rs:304:41
[INFO] [stdout]     |
[INFO] [stdout] 304 |         assert_eq!(rx2.recv().unwrap(), 4)
[INFO] [stdout]     |                                         ^ expected `()`, found integer
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/computer.rs:321:21
[INFO] [stdout]     |
[INFO] [stdout] 321 |         let mut c = Computer::new(vec![3, 9, 8, 9, 10, 9, 4, 9, 99, -1, 8], rx1, tx2);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^---------------------------------------------------- argument #4 of type `crossbeam_channel::Sender<i64>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/computer.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout] 72  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |         output: Sender<i64>) -> Computer {
[INFO] [stdout]     |         -------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 321 |         let mut c = Computer::new(vec![3, 9, 8, 9, 10, 9, 4, 9, 99, -1, 8], rx1, tx2, /* crossbeam_channel::Sender<i64> */);
[INFO] [stdout]     |                                                                                     ++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/computer.rs:323:41
[INFO] [stdout]     |
[INFO] [stdout] 323 |         assert_eq!(rx2.recv().unwrap(), 1);
[INFO] [stdout]     |                                         ^ expected `()`, found integer
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/computer.rs:331:21
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let mut c = Computer::new(vec![3, 3, 1108, -1, 8, 3, 4, 3, 99], rx1, tx2);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^------------------------------------------------ argument #4 of type `crossbeam_channel::Sender<i64>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/computer.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout] 72  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |         output: Sender<i64>) -> Computer {
[INFO] [stdout]     |         -------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let mut c = Computer::new(vec![3, 3, 1108, -1, 8, 3, 4, 3, 99], rx1, tx2, /* crossbeam_channel::Sender<i64> */);
[INFO] [stdout]     |                                                                                 ++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/computer.rs:333:41
[INFO] [stdout]     |
[INFO] [stdout] 333 |         assert_eq!(rx2.recv().unwrap(), 1);
[INFO] [stdout]     |                                         ^ expected `()`, found integer
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/computer.rs:341:21
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let mut c = Computer::new(vec![3, 9, 7, 9, 10, 9, 4, 9, 99, -1, 8], rx1, tx2);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^---------------------------------------------------- argument #4 of type `crossbeam_channel::Sender<i64>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/computer.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout] 72  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |         output: Sender<i64>) -> Computer {
[INFO] [stdout]     |         -------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let mut c = Computer::new(vec![3, 9, 7, 9, 10, 9, 4, 9, 99, -1, 8], rx1, tx2, /* crossbeam_channel::Sender<i64> */);
[INFO] [stdout]     |                                                                                     ++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/computer.rs:343:41
[INFO] [stdout]     |
[INFO] [stdout] 343 |         assert_eq!(rx2.recv().unwrap(), 0);
[INFO] [stdout]     |                                         ^ expected `()`, found integer
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/computer.rs:351:21
[INFO] [stdout]     |
[INFO] [stdout] 351 |         let mut c = Computer::new(vec![3, 3, 1107, -1, 8, 3, 4, 3, 99], rx1, tx2);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^------------------------------------------------ argument #4 of type `crossbeam_channel::Sender<i64>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/computer.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout] 72  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |         output: Sender<i64>) -> Computer {
[INFO] [stdout]     |         -------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 351 |         let mut c = Computer::new(vec![3, 3, 1107, -1, 8, 3, 4, 3, 99], rx1, tx2, /* crossbeam_channel::Sender<i64> */);
[INFO] [stdout]     |                                                                                 ++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/computer.rs:353:41
[INFO] [stdout]     |
[INFO] [stdout] 353 |         assert_eq!(rx2.recv().unwrap(), 0);
[INFO] [stdout]     |                                         ^ expected `()`, found integer
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/computer.rs:361:21
[INFO] [stdout]     |
[INFO] [stdout] 361 |         let mut c = Computer::new(vec![3, 12, 6, 12, 15, 1, 13, 14, 13, 4, 13, 99, -1, 0, 1, 9], rx1, tx2);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^------------------------------------------------------------------------- argument #4 of type `crossbeam_channel::Sender<i64>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/computer.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout] 72  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |         output: Sender<i64>) -> Computer {
[INFO] [stdout]     |         -------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 361 |         let mut c = Computer::new(vec![3, 12, 6, 12, 15, 1, 13, 14, 13, 4, 13, 99, -1, 0, 1, 9], rx1, tx2, /* crossbeam_channel::Sender<i64> */);
[INFO] [stdout]     |                                                                                                          ++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/computer.rs:363:41
[INFO] [stdout]     |
[INFO] [stdout] 363 |         assert_eq!(rx2.recv().unwrap(), 1);
[INFO] [stdout]     |                                         ^ expected `()`, found integer
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/computer.rs:370:21
[INFO] [stdout]     |
[INFO] [stdout] 370 |         let mut c = Computer::new(vec![109, 1, 204, -1, 1001, 100, 1, 100, 1008, 100, 16, 101, 1006, 101, 0, 99], rx1, tx2);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^------------------------------------------------------------------------------------------ argument #4 of type `crossbeam_channel::Sender<i64>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/computer.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout] 72  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |         output: Sender<i64>) -> Computer {
[INFO] [stdout]     |         -------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 370 |         let mut c = Computer::new(vec![109, 1, 204, -1, 1001, 100, 1, 100, 1008, 100, 16, 101, 1006, 101, 0, 99], rx1, tx2, /* crossbeam_channel::Sender<i64> */);
[INFO] [stdout]     |                                                                                                                           ++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/computer.rs:372:41
[INFO] [stdout]     |
[INFO] [stdout] 372 |         assert_eq!(rx2.recv().unwrap(), 109);
[INFO] [stdout]     |                                         ^^^ expected `()`, found integer
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/computer.rs:379:21
[INFO] [stdout]     |
[INFO] [stdout] 379 |         let mut c = Computer::new(vec![104, 1125899906842624, 99], rx1, tx2);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^------------------------------------------- argument #4 of type `crossbeam_channel::Sender<i64>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/computer.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout] 72  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |         output: Sender<i64>) -> Computer {
[INFO] [stdout]     |         -------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 379 |         let mut c = Computer::new(vec![104, 1125899906842624, 99], rx1, tx2, /* crossbeam_channel::Sender<i64> */);
[INFO] [stdout]     |                                                                            ++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/computer.rs:381:41
[INFO] [stdout]     |
[INFO] [stdout] 381 |         assert_eq!(rx2.recv().unwrap(), 1125899906842624);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^ expected `()`, found integer
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/computer.rs:388:21
[INFO] [stdout]     |
[INFO] [stdout] 388 |         let mut c = Computer::new(vec![1102, 34915192, 34915192, 7, 4, 7, 99, 0], rx1, tx2);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^---------------------------------------------------------- argument #4 of type `crossbeam_channel::Sender<i64>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/computer.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout] 72  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |         output: Sender<i64>) -> Computer {
[INFO] [stdout]     |         -------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 388 |         let mut c = Computer::new(vec![1102, 34915192, 34915192, 7, 4, 7, 99, 0], rx1, tx2, /* crossbeam_channel::Sender<i64> */);
[INFO] [stdout]     |                                                                                           ++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/computer.rs:390:41
[INFO] [stdout]     |
[INFO] [stdout] 390 |         assert_eq!(rx2.recv().unwrap(), 1219070632396864);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^ expected `()`, found integer
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/computer.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 206 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/computer.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |             Instruction::Add(x, y, dest) => {
[INFO] [stdout]     |             ---------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 148 |             Instruction::Mult(x, y, dest) => {
[INFO] [stdout]     |             ----------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 155 |             Instruction::Input(dest) => {
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 164 |             Instruction::Output(x) => {
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 206 |             _ => {
[INFO] [stdout]     |             ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` 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: 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] Some errors have detailed explanations: E0061, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[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` and `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: 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: `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: 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` and `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] [stderr] error: could not compile `soc2019` (lib test) due to 24 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[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: 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 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 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: 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: 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 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: 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] error[E0061]: this function takes 4 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/day2/main.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 |             let mut computer = aoc::computer::Computer::new(memory);
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------- three arguments of type `crossbeam_channel::channel::Receiver<i64>`, `crossbeam_channel::channel::Sender<()>`, and `crossbeam_channel::channel::Sender<i64>` are missing
[INFO] [stdout]    |
[INFO] [stdout] note: expected `Vec<i64>`, found `Vec<usize>`
[INFO] [stdout]   --> src/day2/main.rs:18:61
[INFO] [stdout]    |
[INFO] [stdout] 18 |             let mut computer = aoc::computer::Computer::new(memory);
[INFO] [stdout]    |                                                             ^^^^^^
[INFO] [stdout]    = note: expected struct `Vec<i64>`
[INFO] [stdout]               found struct `Vec<usize>`
[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 arguments
[INFO] [stdout]    |
[INFO] [stdout] 18 -             let mut computer = aoc::computer::Computer::new(memory);
[INFO] [stdout] 18 +             let mut computer = aoc::computer::Computer::new(/* Vec<i64> */, /* crossbeam_channel::channel::Receiver<i64> */, /* crossbeam_channel::channel::Sender<()> */, /* crossbeam_channel::channel::Sender<i64> */);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]   --> src/day5/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut computer = aoc::computer::Computer::new(memory, &mut stdin_locked, &mut stdout);
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------------------------- argument #4 of type `crossbeam_channel::channel::Sender<i64>` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: expected `Vec<i64>`, found `Vec<i32>`
[INFO] [stdout]   --> src/day5/main.rs:17:53
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut computer = aoc::computer::Computer::new(memory, &mut stdin_locked, &mut stdout);
[INFO] [stdout]    |                                                     ^^^^^^
[INFO] [stdout]    = note: expected struct `Vec<i64>`
[INFO] [stdout]               found struct `Vec<i32>`
[INFO] [stdout] note: expected `Receiver<i64>`, found `&mut StdinLock<'_>`
[INFO] [stdout]   --> src/day5/main.rs:17:61
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut computer = aoc::computer::Computer::new(memory, &mut stdin_locked, &mut stdout);
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note:         expected struct `crossbeam_channel::channel::Receiver<i64>`
[INFO] [stdout]            found mutable reference `&mut StdinLock<'_>`
[INFO] [stdout] note: expected `Sender<()>`, found `&mut Stdout`
[INFO] [stdout]   --> src/day5/main.rs:17:80
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut computer = aoc::computer::Computer::new(memory, &mut stdin_locked, &mut stdout);
[INFO] [stdout]    |                                                                                ^^^^^^^^^^^
[INFO] [stdout]    = note:         expected struct `crossbeam_channel::channel::Sender<()>`
[INFO] [stdout]            found mutable reference `&mut Stdout`
[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] 17 -     let mut computer = aoc::computer::Computer::new(memory, &mut stdin_locked, &mut stdout);
[INFO] [stdout] 17 +     let mut computer = aoc::computer::Computer::new(/* Vec<i64> */, /* crossbeam_channel::channel::Receiver<i64> */, /* crossbeam_channel::channel::Sender<()> */, /* crossbeam_channel::channel::Sender<i64> */);
[INFO] [stdout]    |
[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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let _ = computer.run_to_completion();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 54 |                         let _ = input_sender.send(-1);
[INFO] [stdout]    |                         +++++++
[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]    |                                ^^^^^^^^^^^^^------------------------ argument #4 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(memory.clone(), rx, tx);
[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] For more information about this error, try `rustc --explain E0061`.
[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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let _ = computer.run_to_completion();
[INFO] [stdout]    |         +++++++
[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]    |                        ^^^^^^^^^^^^^-------------------------------------------------------- argument #4 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(memory.clone(), chans[4].1.clone(), chans[0].0.clone());
[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] 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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 54 |                         let _ = input_sender.send(-1);
[INFO] [stdout]    |                         +++++++
[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] [stderr] error: could not compile `soc2019` (bin "day2") due to 1 previous error
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `soc2019` (bin "day7") due to 2 previous errors; 1 warning emitted
[INFO] [stderr] error: could not compile `soc2019` (bin "day5") due to 1 previous error
[INFO] [stdout] warning: methods `potential_energy` and `energy` are never used
[INFO] [stdout]   --> src/day12/main.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Asteroid {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn potential_energy(&self) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn energy(&self) -> i32 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `energy` is never used
[INFO] [stdout]   --> src/day12/main.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl Vector {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 55 |     fn energy(&self) -> i32 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `System` is never constructed
[INFO] [stdout]   --> src/day12/main.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct System {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `energy` and `step` are never used
[INFO] [stdout]   --> src/day12/main.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl System {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 66 |     fn energy(&self) -> i32 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     fn step(&mut self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mv` found for struct `Asteroid` in the current scope
[INFO] [stdout]    --> src/day12/main.rs:197:18
[INFO] [stdout]     |
[INFO] [stdout] 8   | struct Asteroid {
[INFO] [stdout]     | --------------- method `mv` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 197 |         asteroid.mv();
[INFO] [stdout]     |                  ^^ method not found in `Asteroid`
[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]    |                                ^^^^^^^^^^^^^------------------------ argument #4 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(memory.clone(), rx, tx);
[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] 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]    |                        ^^^^^^^^^^^^^-------------------------------------------------------- argument #4 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(memory.clone(), chans[4].1.clone(), chans[0].0.clone());
[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] 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] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `soc2019` (bin "day7" test) due to 2 previous errors; 1 warning emitted
[INFO] [stderr] error: could not compile `soc2019` (bin "day12" test) due to 1 previous error; 1 warning emitted
[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/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] [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: struct `Point` is never constructed
[INFO] [stdout]  --> src/day10/main.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct Point {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vector` is never constructed
[INFO] [stdout]   --> src/day10/main.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Vector {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `angle` is never used
[INFO] [stdout]   --> src/day10/main.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Vector {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 20 |     fn angle(&self) -> f64 {
[INFO] [stdout]    |        ^^^^^
[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] 
[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] running `Command { std: "docker" "inspect" "b090f5fc544cc37cbf30847fcd1713e5b544129ae630c71ea73f5b68165792e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b090f5fc544cc37cbf30847fcd1713e5b544129ae630c71ea73f5b68165792e5", kill_on_drop: false }`
[INFO] [stdout] b090f5fc544cc37cbf30847fcd1713e5b544129ae630c71ea73f5b68165792e5
