[INFO] cloning repository https://github.com/kamn/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/kamn/advent_of_code_2019" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkamn%2Fadvent_of_code_2019", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkamn%2Fadvent_of_code_2019'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 034a5e360bc8ce4cf08f739da4df6d7384671312
[INFO] testing kamn/advent_of_code_2019 against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkamn%2Fadvent_of_code_2019" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kamn/advent_of_code_2019
[INFO] finished tweaking git repo https://github.com/kamn/advent_of_code_2019
[INFO] tweaked toml for git repo https://github.com/kamn/advent_of_code_2019 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kamn/advent_of_code_2019 on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kamn/advent_of_code_2019 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3941c775e77935fd7ab1dc6daf137ace1b219d88f161f398727f4e50ab6f0222
[INFO] running `Command { std: "docker" "start" "-a" "3941c775e77935fd7ab1dc6daf137ace1b219d88f161f398727f4e50ab6f0222", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3941c775e77935fd7ab1dc6daf137ace1b219d88f161f398727f4e50ab6f0222", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3941c775e77935fd7ab1dc6daf137ace1b219d88f161f398727f4e50ab6f0222", kill_on_drop: false }`
[INFO] [stdout] 3941c775e77935fd7ab1dc6daf137ace1b219d88f161f398727f4e50ab6f0222
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] e62b403dad771f749f67c6a6a19e99611720cb795ebadcc2beee2a18be60f808
[INFO] running `Command { std: "docker" "start" "-a" "e62b403dad771f749f67c6a6a19e99611720cb795ebadcc2beee2a18be60f808", kill_on_drop: false }`
[INFO] [stderr]    Compiling advent_of_code_2019 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day10b.rs:80:28
[INFO] [stdout]    |
[INFO] [stdout] 80 |                         if (formula == (-2,-1)) {
[INFO] [stdout]    |                            ^                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -                         if (formula == (-2,-1)) {
[INFO] [stdout] 80 +                         if formula == (-2,-1)  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/day10b.rs:121:14
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let fx = (x as f32);
[INFO] [stdout]     |              ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 121 -     let fx = (x as f32);
[INFO] [stdout] 121 +     let fx = x as f32 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/day12a.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/day12b.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Rem`
[INFO] [stdout]  --> src/day12b.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Rem;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/day12b.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 |         if (steps == 2){
[INFO] [stdout]     |            ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 144 -         if (steps == 2){
[INFO] [stdout] 144 +         if steps == 2 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/day12b.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 149 |         if (original_a == *moon_a && original_b == *moon_b && original_c == *moon_c && original_d == *moon_d) {
[INFO] [stdout]     |            ^                                                                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 149 -         if (original_a == *moon_a && original_b == *moon_b && original_c == *moon_c && original_d == *moon_d) {
[INFO] [stdout] 149 +         if original_a == *moon_a && original_b == *moon_b && original_c == *moon_c && original_d == *moon_d  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/day12b.rs:208:12
[INFO] [stdout]     |
[INFO] [stdout] 208 |         if (originals[0] == moons[0] && originals[1] == moons[1] && originals[2] == moons[2] && originals[3] == moons[3]) {
[INFO] [stdout]     |            ^                                                                                                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 208 -         if (originals[0] == moons[0] && originals[1] == moons[1] && originals[2] == moons[2] && originals[3] == moons[3]) {
[INFO] [stdout] 208 +         if originals[0] == moons[0] && originals[1] == moons[1] && originals[2] == moons[2] && originals[3] == moons[3]  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day10b.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let mut non_sorted_vec = get_sorted_formulas(map.clone(), (28, 29));
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/day12a.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 |     for (i, line) in lines.into_iter().enumerate() {
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day12a.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut moon_x = &mut moons[0];
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `moon_a`
[INFO] [stdout]   --> src/day12a.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let moon_a =  &mut moons[0];
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moon_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `moon_b`
[INFO] [stdout]   --> src/day12a.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let moon_b = &mut moons[1];
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moon_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `moon_c`
[INFO] [stdout]   --> src/day12a.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let moon_c = &mut moons[2];
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moon_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `moon_d`
[INFO] [stdout]   --> src/day12a.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let moon_d = &mut moons[3];
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moon_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day12a.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn physics_step(mut moons : &mut Vec<Moon>, steps : i32) -> Vec<Moon> {
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/day12a.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     for t in 0..steps { 
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day12b.rs:164:17
[INFO] [stdout]     |
[INFO] [stdout] 164 | fn physics_step(mut moons : &mut Vec<Moon>) -> i64 {
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AsteroidInfoScanner` is never constructed
[INFO] [stdout]   --> src/day10a.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct AsteroidInfoScanner {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_day10a_formula_ex2` is never used
[INFO] [stdout]    --> src/day10a.rs:188:4
[INFO] [stdout]     |
[INFO] [stdout] 188 | fn test_day10a_formula_ex2() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_day10a_formula_ex3` is never used
[INFO] [stdout]    --> src/day10a.rs:206:4
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn test_day10a_formula_ex3() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_day10a_formula_ex4` is never used
[INFO] [stdout]    --> src/day10a.rs:225:4
[INFO] [stdout]     |
[INFO] [stdout] 225 | fn test_day10a_formula_ex4() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SpaceObject` is never used
[INFO] [stdout]  --> src/day10b.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum SpaceObject {
[INFO] [stdout]   |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AsteroidInfoScanner` is never constructed
[INFO] [stdout]   --> src/day10b.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct AsteroidInfoScanner {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_file` is never used
[INFO] [stdout]   --> src/day10b.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn read_file() -> String {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_input` is never used
[INFO] [stdout]   --> src/day10b.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn parse_input (input : String) -> HashMap<(i32,i32), SpaceObject> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gcd` is never used
[INFO] [stdout]   --> src/day10b.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn gcd(mut a: i32, mut b : i32 ) ->  i32 {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_forumla` is never used
[INFO] [stdout]   --> src/day10b.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn find_forumla((x2, y2) :(i32, i32), (x1, y1) : (i32, i32)) -> (i32, i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_spaces_at_distance` is never used
[INFO] [stdout]   --> src/day10b.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn check_spaces_at_distance(map: HashMap<(i32,i32), SpaceObject>, (x,y): (i32, i32), distance : i32) -> HashSet<(i32, i32)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_all_formulas` is never used
[INFO] [stdout]   --> src/day10b.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn get_all_formulas(map: HashMap<(i32,i32), SpaceObject>, (x,y): (i32, i32)) -> HashSet<(i32, i32)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_sorted_formulas` is never used
[INFO] [stdout]    --> src/day10b.rs:108:4
[INFO] [stdout]     |
[INFO] [stdout] 108 | fn get_sorted_formulas(map: HashMap<(i32,i32), SpaceObject>, (x,y): (i32, i32)) -> Vec<(i32, i32)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_polar_radian` is never used
[INFO] [stdout]    --> src/day10b.rs:120:4
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn get_polar_radian((x,y): (i32, i32)) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_by_polar` is never used
[INFO] [stdout]    --> src/day10b.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn sort_by_polar((x1,y1) :(i32,i32), (x2,y2) :(i32,i32)) -> std::cmp::Ordering {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc` is never used
[INFO] [stdout]    --> src/day10b.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn calc() -> usize {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_day10a_formula_ex0` is never used
[INFO] [stdout]    --> src/day10b.rs:182:4
[INFO] [stdout]     |
[INFO] [stdout] 182 | fn test_day10a_formula_ex0() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_moon_pairs` is never used
[INFO] [stdout]   --> src/day12a.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn get_moon_pairs(moons : &mut Vec<Moon>) -> Vec<(&mut Moon, &mut Moon)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp` is never used
[INFO] [stdout]   --> src/day12b.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn clamp(input: i16, min: i16, max: i16) -> i16 {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `physics_step2` is never used
[INFO] [stdout]   --> src/day12b.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn physics_step2(moon_a : &mut Moon, moon_b : &mut Moon, moon_c : &mut Moon, moon_d : &mut Moon,) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/day7b.rs:97:17
[INFO] [stdout]    |
[INFO] [stdout] 97 |                 &mem.insert(-2, idx +2);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 97 |                 let _ = &mem.insert(-2, idx +2);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day7b.rs:132:21
[INFO] [stdout]     |
[INFO] [stdout] 132 |                     &mem.insert(location, 1);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 132 |                     let _ = &mem.insert(location, 1);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day7b.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |                     &mem.insert(location, 0);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 134 |                     let _ = &mem.insert(location, 0);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day7b.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 &mem.insert(-2, -1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 let _ = &mem.insert(-2, -1);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day9a.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     &mem.insert(location, 1);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     let _ = &mem.insert(location, 1);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day9a.rs:169:21
[INFO] [stdout]     |
[INFO] [stdout] 169 |                     &mem.insert(location, 0);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 169 |                     let _ = &mem.insert(location, 0);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day9a.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 &mem.insert(-2, -1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 let _ = &mem.insert(-2, -1);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day9b.rs:168:21
[INFO] [stdout]     |
[INFO] [stdout] 168 |                     &mem.insert(location, 1);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 168 |                     let _ = &mem.insert(location, 1);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day9b.rs:170:21
[INFO] [stdout]     |
[INFO] [stdout] 170 |                     &mem.insert(location, 0);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 170 |                     let _ = &mem.insert(location, 0);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day9b.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 &mem.insert(-2, -1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 let _ = &mem.insert(-2, -1);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&(i32, i32)` instead of cloning the inner type
[INFO] [stdout]    --> src/day10b.rs:197:25
[INFO] [stdout]     |
[INFO] [stdout] 197 |         sort_by_polar(*a.clone(), *b.clone())
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&(i32, i32)` instead of cloning the inner type
[INFO] [stdout]    --> src/day10b.rs:197:37
[INFO] [stdout]     |
[INFO] [stdout] 197 |         sort_by_polar(*a.clone(), *b.clone())
[INFO] [stdout]     |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day11b.rs:168:21
[INFO] [stdout]     |
[INFO] [stdout] 168 |                     &mem.insert(location, 1);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 168 |                     let _ = &mem.insert(location, 1);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day11b.rs:170:21
[INFO] [stdout]     |
[INFO] [stdout] 170 |                     &mem.insert(location, 0);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 170 |                     let _ = &mem.insert(location, 0);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day11b.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 &mem.insert(-2, -1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 let _ = &mem.insert(-2, -1);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.84s
[INFO] running `Command { std: "docker" "inspect" "e62b403dad771f749f67c6a6a19e99611720cb795ebadcc2beee2a18be60f808", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e62b403dad771f749f67c6a6a19e99611720cb795ebadcc2beee2a18be60f808", kill_on_drop: false }`
[INFO] [stdout] e62b403dad771f749f67c6a6a19e99611720cb795ebadcc2beee2a18be60f808
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 63c228d0e0bd3dc3c9203c44e24a9cae5daaf6a4c169d4133ae008396f2acc73
[INFO] running `Command { std: "docker" "start" "-a" "63c228d0e0bd3dc3c9203c44e24a9cae5daaf6a4c169d4133ae008396f2acc73", kill_on_drop: false }`
[INFO] [stderr]    Compiling advent_of_code_2019 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/day10b.rs:80:28
[INFO] [stdout]    |
[INFO] [stdout] 80 |                         if (formula == (-2,-1)) {
[INFO] [stdout]    |                            ^                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -                         if (formula == (-2,-1)) {
[INFO] [stdout] 80 +                         if formula == (-2,-1)  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/day10b.rs:121:14
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let fx = (x as f32);
[INFO] [stdout]     |              ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 121 -     let fx = (x as f32);
[INFO] [stdout] 121 +     let fx = x as f32 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/day12a.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/day12b.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Rem`
[INFO] [stdout]  --> src/day12b.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Rem;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/day12b.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 |         if (steps == 2){
[INFO] [stdout]     |            ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 144 -         if (steps == 2){
[INFO] [stdout] 144 +         if steps == 2 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/day12b.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 149 |         if (original_a == *moon_a && original_b == *moon_b && original_c == *moon_c && original_d == *moon_d) {
[INFO] [stdout]     |            ^                                                                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 149 -         if (original_a == *moon_a && original_b == *moon_b && original_c == *moon_c && original_d == *moon_d) {
[INFO] [stdout] 149 +         if original_a == *moon_a && original_b == *moon_b && original_c == *moon_c && original_d == *moon_d  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/day12b.rs:208:12
[INFO] [stdout]     |
[INFO] [stdout] 208 |         if (originals[0] == moons[0] && originals[1] == moons[1] && originals[2] == moons[2] && originals[3] == moons[3]) {
[INFO] [stdout]     |            ^                                                                                                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 208 -         if (originals[0] == moons[0] && originals[1] == moons[1] && originals[2] == moons[2] && originals[3] == moons[3]) {
[INFO] [stdout] 208 +         if originals[0] == moons[0] && originals[1] == moons[1] && originals[2] == moons[2] && originals[3] == moons[3]  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day10b.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let mut non_sorted_vec = get_sorted_formulas(map.clone(), (28, 29));
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/day12a.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 |     for (i, line) in lines.into_iter().enumerate() {
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day12a.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut moon_x = &mut moons[0];
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `moon_a`
[INFO] [stdout]   --> src/day12a.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let moon_a =  &mut moons[0];
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moon_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `moon_b`
[INFO] [stdout]   --> src/day12a.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let moon_b = &mut moons[1];
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moon_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `moon_c`
[INFO] [stdout]   --> src/day12a.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let moon_c = &mut moons[2];
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moon_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `moon_d`
[INFO] [stdout]   --> src/day12a.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let moon_d = &mut moons[3];
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moon_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day12a.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn physics_step(mut moons : &mut Vec<Moon>, steps : i32) -> Vec<Moon> {
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/day12a.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     for t in 0..steps { 
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day12b.rs:164:17
[INFO] [stdout]     |
[INFO] [stdout] 164 | fn physics_step(mut moons : &mut Vec<Moon>) -> i64 {
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AsteroidInfoScanner` is never constructed
[INFO] [stdout]   --> src/day10a.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct AsteroidInfoScanner {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_day10a_formula_ex2` is never used
[INFO] [stdout]    --> src/day10a.rs:188:4
[INFO] [stdout]     |
[INFO] [stdout] 188 | fn test_day10a_formula_ex2() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_day10a_formula_ex3` is never used
[INFO] [stdout]    --> src/day10a.rs:206:4
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn test_day10a_formula_ex3() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_day10a_formula_ex4` is never used
[INFO] [stdout]    --> src/day10a.rs:225:4
[INFO] [stdout]     |
[INFO] [stdout] 225 | fn test_day10a_formula_ex4() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SpaceObject` is never used
[INFO] [stdout]  --> src/day10b.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum SpaceObject {
[INFO] [stdout]   |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AsteroidInfoScanner` is never constructed
[INFO] [stdout]   --> src/day10b.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct AsteroidInfoScanner {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_file` is never used
[INFO] [stdout]   --> src/day10b.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn read_file() -> String {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_input` is never used
[INFO] [stdout]   --> src/day10b.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn parse_input (input : String) -> HashMap<(i32,i32), SpaceObject> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gcd` is never used
[INFO] [stdout]   --> src/day10b.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn gcd(mut a: i32, mut b : i32 ) ->  i32 {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_forumla` is never used
[INFO] [stdout]   --> src/day10b.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn find_forumla((x2, y2) :(i32, i32), (x1, y1) : (i32, i32)) -> (i32, i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_spaces_at_distance` is never used
[INFO] [stdout]   --> src/day10b.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn check_spaces_at_distance(map: HashMap<(i32,i32), SpaceObject>, (x,y): (i32, i32), distance : i32) -> HashSet<(i32, i32)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_all_formulas` is never used
[INFO] [stdout]   --> src/day10b.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn get_all_formulas(map: HashMap<(i32,i32), SpaceObject>, (x,y): (i32, i32)) -> HashSet<(i32, i32)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_sorted_formulas` is never used
[INFO] [stdout]    --> src/day10b.rs:108:4
[INFO] [stdout]     |
[INFO] [stdout] 108 | fn get_sorted_formulas(map: HashMap<(i32,i32), SpaceObject>, (x,y): (i32, i32)) -> Vec<(i32, i32)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_by_polar` is never used
[INFO] [stdout]    --> src/day10b.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn sort_by_polar((x1,y1) :(i32,i32), (x2,y2) :(i32,i32)) -> std::cmp::Ordering {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc` is never used
[INFO] [stdout]    --> src/day10b.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn calc() -> usize {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_day10a_formula_ex0` is never used
[INFO] [stdout]    --> src/day10b.rs:182:4
[INFO] [stdout]     |
[INFO] [stdout] 182 | fn test_day10a_formula_ex0() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_moon_pairs` is never used
[INFO] [stdout]   --> src/day12a.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn get_moon_pairs(moons : &mut Vec<Moon>) -> Vec<(&mut Moon, &mut Moon)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp` is never used
[INFO] [stdout]   --> src/day12b.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn clamp(input: i16, min: i16, max: i16) -> i16 {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/day7b.rs:97:17
[INFO] [stdout]    |
[INFO] [stdout] 97 |                 &mem.insert(-2, idx +2);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 97 |                 let _ = &mem.insert(-2, idx +2);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day7b.rs:132:21
[INFO] [stdout]     |
[INFO] [stdout] 132 |                     &mem.insert(location, 1);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 132 |                     let _ = &mem.insert(location, 1);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day7b.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |                     &mem.insert(location, 0);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 134 |                     let _ = &mem.insert(location, 0);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day7b.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 &mem.insert(-2, -1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 let _ = &mem.insert(-2, -1);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day9a.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     &mem.insert(location, 1);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     let _ = &mem.insert(location, 1);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day9a.rs:169:21
[INFO] [stdout]     |
[INFO] [stdout] 169 |                     &mem.insert(location, 0);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 169 |                     let _ = &mem.insert(location, 0);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day9a.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 &mem.insert(-2, -1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 let _ = &mem.insert(-2, -1);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day9b.rs:168:21
[INFO] [stdout]     |
[INFO] [stdout] 168 |                     &mem.insert(location, 1);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 168 |                     let _ = &mem.insert(location, 1);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day9b.rs:170:21
[INFO] [stdout]     |
[INFO] [stdout] 170 |                     &mem.insert(location, 0);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 170 |                     let _ = &mem.insert(location, 0);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day9b.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 &mem.insert(-2, -1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 let _ = &mem.insert(-2, -1);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&(i32, i32)` instead of cloning the inner type
[INFO] [stdout]    --> src/day10b.rs:197:25
[INFO] [stdout]     |
[INFO] [stdout] 197 |         sort_by_polar(*a.clone(), *b.clone())
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&(i32, i32)` instead of cloning the inner type
[INFO] [stdout]    --> src/day10b.rs:197:37
[INFO] [stdout]     |
[INFO] [stdout] 197 |         sort_by_polar(*a.clone(), *b.clone())
[INFO] [stdout]     |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day11b.rs:168:21
[INFO] [stdout]     |
[INFO] [stdout] 168 |                     &mem.insert(location, 1);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 168 |                     let _ = &mem.insert(location, 1);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day11b.rs:170:21
[INFO] [stdout]     |
[INFO] [stdout] 170 |                     &mem.insert(location, 0);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 170 |                     let _ = &mem.insert(location, 0);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/day11b.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 &mem.insert(-2, -1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 let _ = &mem.insert(-2, -1);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.41s
[INFO] running `Command { std: "docker" "inspect" "63c228d0e0bd3dc3c9203c44e24a9cae5daaf6a4c169d4133ae008396f2acc73", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "63c228d0e0bd3dc3c9203c44e24a9cae5daaf6a4c169d4133ae008396f2acc73", kill_on_drop: false }`
[INFO] [stdout] 63c228d0e0bd3dc3c9203c44e24a9cae5daaf6a4c169d4133ae008396f2acc73
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] f2946bdede7feb26a006ba520690e72a68f4c7985d4a79d5b55c69c07936de6f
[INFO] running `Command { std: "docker" "start" "-a" "f2946bdede7feb26a006ba520690e72a68f4c7985d4a79d5b55c69c07936de6f", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/day10b.rs:80:28
[INFO] [stderr]    |
[INFO] [stderr] 80 |                         if (formula == (-2,-1)) {
[INFO] [stderr]    |                            ^                  ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 80 -                         if (formula == (-2,-1)) {
[INFO] [stderr] 80 +                         if formula == (-2,-1)  {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/day10b.rs:121:14
[INFO] [stderr]     |
[INFO] [stderr] 121 |     let fx = (x as f32);
[INFO] [stderr]     |              ^        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 121 -     let fx = (x as f32);
[INFO] [stderr] 121 +     let fx = x as f32 ;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/day12a.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/day12b.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Rem`
[INFO] [stderr]  --> src/day12b.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::ops::Rem;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/day12b.rs:144:12
[INFO] [stderr]     |
[INFO] [stderr] 144 |         if (steps == 2){
[INFO] [stderr]     |            ^          ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 144 -         if (steps == 2){
[INFO] [stderr] 144 +         if steps == 2 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/day12b.rs:149:12
[INFO] [stderr]     |
[INFO] [stderr] 149 |         if (original_a == *moon_a && original_b == *moon_b && original_c == *moon_c && original_d == *moon_d) {
[INFO] [stderr]     |            ^                                                                                                ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 149 -         if (original_a == *moon_a && original_b == *moon_b && original_c == *moon_c && original_d == *moon_d) {
[INFO] [stderr] 149 +         if original_a == *moon_a && original_b == *moon_b && original_c == *moon_c && original_d == *moon_d  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/day12b.rs:208:12
[INFO] [stderr]     |
[INFO] [stderr] 208 |         if (originals[0] == moons[0] && originals[1] == moons[1] && originals[2] == moons[2] && originals[3] == moons[3]) {
[INFO] [stderr]     |            ^                                                                                                            ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 208 -         if (originals[0] == moons[0] && originals[1] == moons[1] && originals[2] == moons[2] && originals[3] == moons[3]) {
[INFO] [stderr] 208 +         if originals[0] == moons[0] && originals[1] == moons[1] && originals[2] == moons[2] && originals[3] == moons[3]  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/day10b.rs:155:9
[INFO] [stderr]     |
[INFO] [stderr] 155 |     let mut non_sorted_vec = get_sorted_formulas(map.clone(), (28, 29));
[INFO] [stderr]     |         ----^^^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/day12a.rs:29:10
[INFO] [stderr]    |
[INFO] [stderr] 29 |     for (i, line) in lines.into_iter().enumerate() {
[INFO] [stderr]    |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/day12a.rs:53:9
[INFO] [stderr]    |
[INFO] [stderr] 53 |     let mut moon_x = &mut moons[0];
[INFO] [stderr]    |         ----^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `moon_a`
[INFO] [stderr]   --> src/day12a.rs:57:9
[INFO] [stderr]    |
[INFO] [stderr] 57 |     let moon_a =  &mut moons[0];
[INFO] [stderr]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moon_a`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `moon_b`
[INFO] [stderr]   --> src/day12a.rs:59:9
[INFO] [stderr]    |
[INFO] [stderr] 59 |     let moon_b = &mut moons[1];
[INFO] [stderr]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moon_b`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `moon_c`
[INFO] [stderr]   --> src/day12a.rs:60:9
[INFO] [stderr]    |
[INFO] [stderr] 60 |     let moon_c = &mut moons[2];
[INFO] [stderr]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moon_c`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `moon_d`
[INFO] [stderr]   --> src/day12a.rs:61:9
[INFO] [stderr]    |
[INFO] [stderr] 61 |     let moon_d = &mut moons[3];
[INFO] [stderr]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moon_d`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/day12a.rs:77:17
[INFO] [stderr]    |
[INFO] [stderr] 77 | fn physics_step(mut moons : &mut Vec<Moon>, steps : i32) -> Vec<Moon> {
[INFO] [stderr]    |                 ----^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t`
[INFO] [stderr]   --> src/day12a.rs:78:9
[INFO] [stderr]    |
[INFO] [stderr] 78 |     for t in 0..steps { 
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/day12b.rs:164:17
[INFO] [stderr]     |
[INFO] [stderr] 164 | fn physics_step(mut moons : &mut Vec<Moon>) -> i64 {
[INFO] [stderr]     |                 ----^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AsteroidInfoScanner` is never constructed
[INFO] [stderr]   --> src/day10a.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | struct AsteroidInfoScanner {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_day10a_formula_ex2` is never used
[INFO] [stderr]    --> src/day10a.rs:188:4
[INFO] [stderr]     |
[INFO] [stderr] 188 | fn test_day10a_formula_ex2() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_day10a_formula_ex3` is never used
[INFO] [stderr]    --> src/day10a.rs:206:4
[INFO] [stderr]     |
[INFO] [stderr] 206 | fn test_day10a_formula_ex3() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_day10a_formula_ex4` is never used
[INFO] [stderr]    --> src/day10a.rs:225:4
[INFO] [stderr]     |
[INFO] [stderr] 225 | fn test_day10a_formula_ex4() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `SpaceObject` is never used
[INFO] [stderr]  --> src/day10b.rs:6:6
[INFO] [stderr]   |
[INFO] [stderr] 6 | enum SpaceObject {
[INFO] [stderr]   |      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AsteroidInfoScanner` is never constructed
[INFO] [stderr]   --> src/day10b.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | struct AsteroidInfoScanner {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_file` is never used
[INFO] [stderr]   --> src/day10b.rs:19:4
[INFO] [stderr]    |
[INFO] [stderr] 19 | fn read_file() -> String {
[INFO] [stderr]    |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_input` is never used
[INFO] [stderr]   --> src/day10b.rs:30:4
[INFO] [stderr]    |
[INFO] [stderr] 30 | fn parse_input (input : String) -> HashMap<(i32,i32), SpaceObject> {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `gcd` is never used
[INFO] [stderr]   --> src/day10b.rs:47:4
[INFO] [stderr]    |
[INFO] [stderr] 47 | fn gcd(mut a: i32, mut b : i32 ) ->  i32 {
[INFO] [stderr]    |    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `find_forumla` is never used
[INFO] [stderr]   --> src/day10b.rs:56:4
[INFO] [stderr]    |
[INFO] [stderr] 56 | fn find_forumla((x2, y2) :(i32, i32), (x1, y1) : (i32, i32)) -> (i32, i32) {
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `check_spaces_at_distance` is never used
[INFO] [stderr]   --> src/day10b.rs:71:4
[INFO] [stderr]    |
[INFO] [stderr] 71 | fn check_spaces_at_distance(map: HashMap<(i32,i32), SpaceObject>, (x,y): (i32, i32), distance : i32) -> HashSet<(i32, i32)> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_all_formulas` is never used
[INFO] [stderr]   --> src/day10b.rs:97:4
[INFO] [stderr]    |
[INFO] [stderr] 97 | fn get_all_formulas(map: HashMap<(i32,i32), SpaceObject>, (x,y): (i32, i32)) -> HashSet<(i32, i32)> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_sorted_formulas` is never used
[INFO] [stderr]    --> src/day10b.rs:108:4
[INFO] [stderr]     |
[INFO] [stderr] 108 | fn get_sorted_formulas(map: HashMap<(i32,i32), SpaceObject>, (x,y): (i32, i32)) -> Vec<(i32, i32)> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sort_by_polar` is never used
[INFO] [stderr]    --> src/day10b.rs:131:4
[INFO] [stderr]     |
[INFO] [stderr] 131 | fn sort_by_polar((x1,y1) :(i32,i32), (x2,y2) :(i32,i32)) -> std::cmp::Ordering {
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `calc` is never used
[INFO] [stderr]    --> src/day10b.rs:139:8
[INFO] [stderr]     |
[INFO] [stderr] 139 | pub fn calc() -> usize {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_day10a_formula_ex0` is never used
[INFO] [stderr]    --> src/day10b.rs:182:4
[INFO] [stderr]     |
[INFO] [stderr] 182 | fn test_day10a_formula_ex0() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_moon_pairs` is never used
[INFO] [stderr]   --> src/day12a.rs:52:4
[INFO] [stderr]    |
[INFO] [stderr] 52 | fn get_moon_pairs(moons : &mut Vec<Moon>) -> Vec<(&mut Moon, &mut Moon)> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `clamp` is never used
[INFO] [stderr]   --> src/day12b.rs:59:4
[INFO] [stderr]    |
[INFO] [stderr] 59 | fn clamp(input: i16, min: i16, max: i16) -> i16 {
[INFO] [stderr]    |    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]   --> src/day7b.rs:97:17
[INFO] [stderr]    |
[INFO] [stderr] 97 |                 &mem.insert(-2, idx +2);
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 97 |                 let _ = &mem.insert(-2, idx +2);
[INFO] [stderr]    |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/day7b.rs:132:21
[INFO] [stderr]     |
[INFO] [stderr] 132 |                     &mem.insert(location, 1);
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 132 |                     let _ = &mem.insert(location, 1);
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/day7b.rs:134:21
[INFO] [stderr]     |
[INFO] [stderr] 134 |                     &mem.insert(location, 0);
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 134 |                     let _ = &mem.insert(location, 0);
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/day7b.rs:155:17
[INFO] [stderr]     |
[INFO] [stderr] 155 |                 &mem.insert(-2, -1);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 155 |                 let _ = &mem.insert(-2, -1);
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/day9a.rs:167:21
[INFO] [stderr]     |
[INFO] [stderr] 167 |                     &mem.insert(location, 1);
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 167 |                     let _ = &mem.insert(location, 1);
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/day9a.rs:169:21
[INFO] [stderr]     |
[INFO] [stderr] 169 |                     &mem.insert(location, 0);
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 169 |                     let _ = &mem.insert(location, 0);
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/day9a.rs:199:17
[INFO] [stderr]     |
[INFO] [stderr] 199 |                 &mem.insert(-2, -1);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 199 |                 let _ = &mem.insert(-2, -1);
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/day9b.rs:168:21
[INFO] [stderr]     |
[INFO] [stderr] 168 |                     &mem.insert(location, 1);
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 168 |                     let _ = &mem.insert(location, 1);
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/day9b.rs:170:21
[INFO] [stderr]     |
[INFO] [stderr] 170 |                     &mem.insert(location, 0);
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 170 |                     let _ = &mem.insert(location, 0);
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/day9b.rs:200:17
[INFO] [stderr]     |
[INFO] [stderr] 200 |                 &mem.insert(-2, -1);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 200 |                 let _ = &mem.insert(-2, -1);
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&(i32, i32)` instead of cloning the inner type
[INFO] [stderr]    --> src/day10b.rs:197:25
[INFO] [stderr]     |
[INFO] [stderr] 197 |         sort_by_polar(*a.clone(), *b.clone())
[INFO] [stderr]     |                         ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&(i32, i32)` instead of cloning the inner type
[INFO] [stderr]    --> src/day10b.rs:197:37
[INFO] [stderr]     |
[INFO] [stderr] 197 |         sort_by_polar(*a.clone(), *b.clone())
[INFO] [stderr]     |                                     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/day11b.rs:168:21
[INFO] [stderr]     |
[INFO] [stderr] 168 |                     &mem.insert(location, 1);
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 168 |                     let _ = &mem.insert(location, 1);
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/day11b.rs:170:21
[INFO] [stderr]     |
[INFO] [stderr] 170 |                     &mem.insert(location, 0);
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 170 |                     let _ = &mem.insert(location, 0);
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/day11b.rs:200:17
[INFO] [stderr]     |
[INFO] [stderr] 200 |                 &mem.insert(-2, -1);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 200 |                 let _ = &mem.insert(-2, -1);
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `advent_of_code_2019` (bin "advent_of_code_2019" test) generated 51 warnings (run `cargo fix --bin "advent_of_code_2019" -p advent_of_code_2019 --tests` to apply 18 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/advent_of_code_2019/e3de7464a81918eb/deps/advent_of_code_2019-e3de7464a81918eb)
[INFO] [stdout] 
[INFO] [stdout] running 39 tests
[INFO] [stdout] test day10a::test_day10a_example1 ... ok
[INFO] [stdout] test day10b::test_day10a_example1 ... ok
[INFO] [stdout] test day11b::test_day9a_example2 ... ok
[INFO] [stdout] test day11b::test_day9a_example3 ... ok
[INFO] [stdout] test day11b::test_day9a_example1 ... ok
[INFO] [stdout] test day11b::test_day9a_example4 ... ok
[INFO] [stdout] test day12a::test_day12a_parse1 ... ok
[INFO] [stdout] test day12a::test_day12a_step1 ... ok
[INFO] [stdout] test day10a::test_day10a_gcd ... ok
[INFO] [stdout] test day12a::test_day12a_step2 ... ok
[INFO] [stdout] test day12b::test_day12a_step2 ... ok
[INFO] [stdout] test day3a::test_do_lines_touch ... ok
[INFO] [stdout] test day3a::test_manhattan_dist ... ok
[INFO] [stdout] test day3b::test_manhattan_dist ... ok
[INFO] [stdout] test day5a::test_parse_instruction ... ok
[INFO] [stdout] test day4a::test_valid_password ... ok
[INFO] [stdout] test day6a::test_example ... ok
[INFO] [stdout] test day6b::test_example_jumps ... ok
[INFO] [stdout] test day4b::test_valid_password ... ok
[INFO] [stdout] test day3b::test_do_lines_touch ... ok
[INFO] [stdout] test day7a::test_day7a_example2 ... ok
[INFO] [stdout] test day5a::test_parse_part1 ... ok
[INFO] [stdout] test day7a::test_day7a_example1 ... ok
[INFO] [stdout] test day8b::test_day8a_count_str ... ok
[INFO] [stdout] test day9a::test_day9a_example1 ... ok
[INFO] [stdout] test day7b::test_day7b_example1 ... ok
[INFO] [stdout] test day9a::test_day9a_example3 ... ok
[INFO] [stdout] test day9a::test_day9a_example4 ... ok
[INFO] [stdout] test day9b::test_day9a_example1 ... ok
[INFO] [stdout] test day7a::test_day7a_example3 ... ok
[INFO] [stdout] test day9b::test_day9a_example2 ... ok
[INFO] [stdout] test day9a::test_day9a_example2 ... ok
[INFO] [stdout] test day9b::test_day9a_example3 ... ok
[INFO] [stdout] test day9b::test_day9a_example4 ... ok
[INFO] [stdout] test day8a::test_day8a_count_str ... ok
[INFO] [stdout] test day7b::test_day7b_example2 ... ok
[INFO] [stdout] test day10a::test_day10a_formula_ex0 ... ok
[INFO] [stdout] test day10a::test_day10a_formula_ex1 ... ok
[INFO] [stdout] test day12b::test_day12a_step1 has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "f2946bdede7feb26a006ba520690e72a68f4c7985d4a79d5b55c69c07936de6f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f2946bdede7feb26a006ba520690e72a68f4c7985d4a79d5b55c69c07936de6f", kill_on_drop: false }`
[INFO] [stdout] f2946bdede7feb26a006ba520690e72a68f4c7985d4a79d5b55c69c07936de6f
