[INFO] cloning repository https://github.com/superosku/physics-rocket
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/superosku/physics-rocket" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsuperosku%2Fphysics-rocket", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsuperosku%2Fphysics-rocket'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 11c328472eb95f579ca2fda5b53c407aa348ae14
[INFO] checking superosku/physics-rocket against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsuperosku%2Fphysics-rocket" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/superosku/physics-rocket
[INFO] finished tweaking git repo https://github.com/superosku/physics-rocket
[INFO] tweaked toml for git repo https://github.com/superosku/physics-rocket written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/superosku/physics-rocket on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/superosku/physics-rocket already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pathfinder_simd v0.5.1
[INFO] [stderr]   Downloaded sw-composite v0.7.16
[INFO] [stderr]   Downloaded fdeflate v0.3.0
[INFO] [stderr]   Downloaded futures-macro v0.3.28
[INFO] [stderr]   Downloaded futures-io v0.3.28
[INFO] [stderr]   Downloaded thiserror-impl v1.0.47
[INFO] [stderr]   Downloaded const-cstr v0.3.0
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.37
[INFO] [stderr]   Downloaded cmake v0.1.50
[INFO] [stderr]   Downloaded core-graphics-types v0.1.2
[INFO] [stderr]   Downloaded yeslogic-fontconfig-sys v3.2.0
[INFO] [stderr]   Downloaded fastrand v2.0.0
[INFO] [stderr]   Downloaded futures-executor v0.3.28
[INFO] [stderr]   Downloaded tempfile v3.8.0
[INFO] [stderr]   Downloaded smallvec v1.11.0
[INFO] [stderr]   Downloaded libloading v0.8.0
[INFO] [stderr]   Downloaded serde_derive v1.0.186
[INFO] [stderr]   Downloaded futures v0.3.28
[INFO] [stderr]   Downloaded serde v1.0.186
[INFO] [stderr]   Downloaded minifb v0.25.0
[INFO] [stderr]   Downloaded rayon v1.7.0
[INFO] [stderr]   Downloaded font-kit v0.11.0
[INFO] [stderr]   Downloaded rayon-core v1.11.0
[INFO] [stderr]   Downloaded xml-rs v0.8.16
[INFO] [stderr]   Downloaded flate2 v1.0.27
[INFO] [stderr]   Downloaded raqote v0.8.2
[INFO] [stderr]   Downloaded lyon_geom v0.17.7
[INFO] [stderr]   Downloaded pest v2.7.2
[INFO] [stderr]   Downloaded ucd-trie v0.1.6
[INFO] [stderr]   Downloaded freetype v0.7.0
[INFO] [stderr]   Downloaded float-ord v0.2.0
[INFO] [stderr]   Downloaded walkdir v2.3.3
[INFO] [stderr]   Downloaded thiserror v1.0.47
[INFO] [stderr]   Downloaded orbclient v0.3.46
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] aa31c1f54cdcc2c392487b00354ce3bc2c17124b6ed59f583a8d18105a9a3423
[INFO] running `Command { std: "docker" "start" "-a" "aa31c1f54cdcc2c392487b00354ce3bc2c17124b6ed59f583a8d18105a9a3423", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "aa31c1f54cdcc2c392487b00354ce3bc2c17124b6ed59f583a8d18105a9a3423", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa31c1f54cdcc2c392487b00354ce3bc2c17124b6ed59f583a8d18105a9a3423", kill_on_drop: false }`
[INFO] [stdout] aa31c1f54cdcc2c392487b00354ce3bc2c17124b6ed59f583a8d18105a9a3423
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 860bc900961b4c6b2c7af5f39e43f3f8b0f442bb170045889d94b421b2b48106
[INFO] running `Command { std: "docker" "start" "-a" "860bc900961b4c6b2c7af5f39e43f3f8b0f442bb170045889d94b421b2b48106", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.66
[INFO] [stderr]    Compiling unicode-ident v1.0.11
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling pkg-config v0.3.27
[INFO] [stderr]    Compiling thiserror v1.0.47
[INFO] [stderr]     Checking libloading v0.8.0
[INFO] [stderr]    Compiling ucd-trie v0.1.6
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]    Compiling xml-rs v0.8.16
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.15
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]     Checking smallvec v1.11.0
[INFO] [stderr]    Compiling rustix v0.38.8
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]     Checking linux-raw-sys v0.4.5
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking const-cstr v0.3.0
[INFO] [stderr]    Compiling font-kit v0.11.0
[INFO] [stderr]     Checking bitflags v2.4.0
[INFO] [stderr]    Compiling rayon-core v1.11.0
[INFO] [stderr]     Checking walkdir v2.3.3
[INFO] [stderr]     Checking fdeflate v0.3.0
[INFO] [stderr]     Checking fastrand v2.0.0
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking float-ord v0.2.0
[INFO] [stderr]     Checking typed-arena v2.0.2
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]     Checking sw-composite v0.7.16
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling yeslogic-fontconfig-sys v3.2.0
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking flate2 v1.0.27
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking crossbeam-channel v0.5.8
[INFO] [stderr]     Checking crossbeam-deque v0.8.3
[INFO] [stderr]     Checking png v0.17.10
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling syn v2.0.29
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]     Checking euclid v0.22.9
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling minifb v0.25.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling freetype-sys v0.13.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking lyon_geom v0.17.7
[INFO] [stderr]     Checking freetype v0.7.0
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]     Checking xcursor v0.3.4
[INFO] [stderr]     Checking rayon v1.7.0
[INFO] [stderr]     Checking tempfile v3.8.0
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.47
[INFO] [stderr]    Compiling pest v2.7.2
[INFO] [stderr]     Checking wayland-cursor v0.29.5
[INFO] [stderr]    Compiling semver-parser v0.10.2
[INFO] [stderr]    Compiling semver v0.11.0
[INFO] [stderr]    Compiling rustc_version v0.3.3
[INFO] [stderr]    Compiling pathfinder_simd v0.5.1
[INFO] [stderr]     Checking pathfinder_geometry v0.5.1
[INFO] [stderr]     Checking raqote v0.8.2
[INFO] [stderr]     Checking physics-rocket v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::point::Vector`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::point::Vector;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `neural_net` should have an upper camel case name
[INFO] [stdout]  --> src/neural.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct neural_net {
[INFO] [stdout]   |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `NeuralNet`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::point::Vector`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::point::Vector;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `neural_net` should have an upper camel case name
[INFO] [stdout]  --> src/neural.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct neural_net {
[INFO] [stdout]   |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `NeuralNet`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let mut rng = rand::thread_rng();
[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: `rng`
[INFO] [stdout]   --> src/main.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_layer`
[INFO] [stdout]    --> src/main.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 234 |         let last_layer = self.neural_net.get_last_layer();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `distance_score`
[INFO] [stdout]    --> src/main.rs:271:13
[INFO] [stdout]     |
[INFO] [stdout] 271 |         let distance_score = (distance * 0.5).powf(2.) * 1.;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_distance_score`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `speed_pow`
[INFO] [stdout]    --> src/main.rs:290:13
[INFO] [stdout]     |
[INFO] [stdout] 290 |         let speed_pow = ((speed + 1.0) * 10.).powf(2.);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_speed_pow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `speed_score`
[INFO] [stdout]    --> src/main.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 |         let speed_score = 0.;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_speed_score`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spread`
[INFO] [stdout]    --> src/main.rs:401:52
[INFO] [stdout]     |
[INFO] [stdout] 401 | fn iterate_draw(ships: &mut Vec<Ship>, steps: i32, spread: f32, lr: f32) {
[INFO] [stdout]     |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_spread`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `best_score_string`
[INFO] [stdout]    --> src/main.rs:460:17
[INFO] [stdout]     |
[INFO] [stdout] 460 |             let best_score_string = best_scores.iter().map(|score| score.to_string()).collect::<Vec<String>>().join(" ");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_best_score_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `goal` is never read
[INFO] [stdout]    --> src/main.rs:497:24
[INFO] [stdout]     |
[INFO] [stdout] 497 |         let mut goal = point::Vector::new(0., 0.);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:562:9
[INFO] [stdout]     |
[INFO] [stdout] 562 |     let mut spread: f32 = 1.;
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:564:9
[INFO] [stdout]     |
[INFO] [stdout] 564 |     let mut lr: f32 = 0.05;
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `steps` is never read
[INFO] [stdout]    --> src/main.rs:565:21
[INFO] [stdout]     |
[INFO] [stdout] 565 |     let mut steps = 5000;
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ITERATIONS` is never used
[INFO] [stdout]   --> src/main.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const ITERATIONS: usize = 500;
[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 `world_to_screen` is never used
[INFO] [stdout]   --> src/main.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn world_to_screen(point: point::Vector) -> point::Vector {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `THREAD_COUNT` should have a snake case name
[INFO] [stdout]    --> src/main.rs:473:9
[INFO] [stdout]     |
[INFO] [stdout] 473 |     let THREAD_COUNT: usize = 16;
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `thread_count`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let mut rng = rand::thread_rng();
[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: `rng`
[INFO] [stdout]   --> src/main.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_layer`
[INFO] [stdout]    --> src/main.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 234 |         let last_layer = self.neural_net.get_last_layer();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `distance_score`
[INFO] [stdout]    --> src/main.rs:271:13
[INFO] [stdout]     |
[INFO] [stdout] 271 |         let distance_score = (distance * 0.5).powf(2.) * 1.;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_distance_score`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `speed_pow`
[INFO] [stdout]    --> src/main.rs:290:13
[INFO] [stdout]     |
[INFO] [stdout] 290 |         let speed_pow = ((speed + 1.0) * 10.).powf(2.);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_speed_pow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `speed_score`
[INFO] [stdout]    --> src/main.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 |         let speed_score = 0.;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_speed_score`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spread`
[INFO] [stdout]    --> src/main.rs:401:52
[INFO] [stdout]     |
[INFO] [stdout] 401 | fn iterate_draw(ships: &mut Vec<Ship>, steps: i32, spread: f32, lr: f32) {
[INFO] [stdout]     |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_spread`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `best_score_string`
[INFO] [stdout]    --> src/main.rs:460:17
[INFO] [stdout]     |
[INFO] [stdout] 460 |             let best_score_string = best_scores.iter().map(|score| score.to_string()).collect::<Vec<String>>().join(" ");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_best_score_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `goal` is never read
[INFO] [stdout]    --> src/main.rs:497:24
[INFO] [stdout]     |
[INFO] [stdout] 497 |         let mut goal = point::Vector::new(0., 0.);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:562:9
[INFO] [stdout]     |
[INFO] [stdout] 562 |     let mut spread: f32 = 1.;
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:564:9
[INFO] [stdout]     |
[INFO] [stdout] 564 |     let mut lr: f32 = 0.05;
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `steps` is never read
[INFO] [stdout]    --> src/main.rs:565:21
[INFO] [stdout]     |
[INFO] [stdout] 565 |     let mut steps = 5000;
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ITERATIONS` is never used
[INFO] [stdout]   --> src/main.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const ITERATIONS: usize = 500;
[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 `world_to_screen` is never used
[INFO] [stdout]   --> src/main.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn world_to_screen(point: point::Vector) -> point::Vector {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `THREAD_COUNT` should have a snake case name
[INFO] [stdout]    --> src/main.rs:473:9
[INFO] [stdout]     |
[INFO] [stdout] 473 |     let THREAD_COUNT: usize = 16;
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `thread_count`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.02s
[INFO] running `Command { std: "docker" "inspect" "860bc900961b4c6b2c7af5f39e43f3f8b0f442bb170045889d94b421b2b48106", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "860bc900961b4c6b2c7af5f39e43f3f8b0f442bb170045889d94b421b2b48106", kill_on_drop: false }`
[INFO] [stdout] 860bc900961b4c6b2c7af5f39e43f3f8b0f442bb170045889d94b421b2b48106
