[INFO] cloning repository https://github.com/tmccarthy/n-body-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tmccarthy/n-body-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftmccarthy%2Fn-body-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftmccarthy%2Fn-body-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bedc1a7e97a090da12d1b5c7a84a7eea840287f4
[INFO] checking tmccarthy/n-body-rust against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftmccarthy%2Fn-body-rust" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/tmccarthy/n-body-rust
[INFO] finished tweaking git repo https://github.com/tmccarthy/n-body-rust
[INFO] tweaked toml for git repo https://github.com/tmccarthy/n-body-rust written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tmccarthy/n-body-rust 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/tmccarthy/n-body-rust 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]  Downloading crates ...
[INFO] [stderr]   Downloaded wayland-egl v0.28.5
[INFO] [stderr]   Downloaded piston-float v1.0.0
[INFO] [stderr]   Downloaded piston-viewport v1.0.0
[INFO] [stderr]   Downloaded piston2d-opengl_graphics v0.78.0
[INFO] [stderr]   Downloaded pistoncore-window v0.47.0
[INFO] [stderr]   Downloaded piston2d-graphics v0.40.0
[INFO] [stderr]   Downloaded interpolation v0.2.0
[INFO] [stderr]   Downloaded piston-texture v0.8.0
[INFO] [stderr]   Downloaded pistoncore-input v1.0.0
[INFO] [stderr]   Downloaded servo-fontconfig v0.5.1
[INFO] [stderr]   Downloaded gif v0.11.2
[INFO] [stderr]   Downloaded piston v0.53.0
[INFO] [stderr]   Downloaded spin_sleep v1.0.0
[INFO] [stderr]   Downloaded pistoncore-event_loop v0.53.0
[INFO] [stderr]   Downloaded pistoncore-glutin_window v0.69.0
[INFO] [stderr]   Downloaded bytemuck v1.5.1
[INFO] [stderr]   Downloaded piston-graphics_api_version v1.0.0
[INFO] [stderr]   Downloaded font-kit v0.10.1
[INFO] [stderr]   Downloaded servo-fontconfig-sys v5.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 2c2e39c7f85e1c29a91a5fd5fec1a22e0e1c200f187142ec7dd8c809c68def87
[INFO] running `Command { std: "docker" "start" "-a" "2c2e39c7f85e1c29a91a5fd5fec1a22e0e1c200f187142ec7dd8c809c68def87", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c2e39c7f85e1c29a91a5fd5fec1a22e0e1c200f187142ec7dd8c809c68def87", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c2e39c7f85e1c29a91a5fd5fec1a22e0e1c200f187142ec7dd8c809c68def87", kill_on_drop: false }`
[INFO] [stdout] 2c2e39c7f85e1c29a91a5fd5fec1a22e0e1c200f187142ec7dd8c809c68def87
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] b99eb35ab38695962d08c817ff5227d33f95e86c94b4f0040c541383cd3af55d
[INFO] running `Command { std: "docker" "start" "-a" "b99eb35ab38695962d08c817ff5227d33f95e86c94b4f0040c541383cd3af55d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.94
[INFO] [stderr]    Compiling pkg-config v0.3.19
[INFO] [stderr]    Compiling xml-rs v0.8.3
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling cc v1.0.67
[INFO] [stderr]    Compiling crossbeam-utils v0.8.4
[INFO] [stderr]     Checking libloading v0.7.0
[INFO] [stderr]    Compiling memoffset v0.6.3
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]     Checking dlib v0.5.0
[INFO] [stderr]     Checking once_cell v1.7.2
[INFO] [stderr]     Checking piston-float v1.0.0
[INFO] [stderr]    Compiling nom v6.1.2
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.4
[INFO] [stderr]    Compiling syn v1.0.72
[INFO] [stderr]    Compiling wayland-sys v0.28.5
[INFO] [stderr]     Checking rusttype v0.9.2
[INFO] [stderr]    Compiling cmake v0.1.45
[INFO] [stderr]     Checking crossbeam-epoch v0.9.4
[INFO] [stderr]    Compiling wayland-scanner v0.28.5
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling semver-parser v0.10.2
[INFO] [stderr]     Checking piston-viewport v1.0.0
[INFO] [stderr]    Compiling serde v1.0.126
[INFO] [stderr]     Checking crossbeam-deque v0.8.0
[INFO] [stderr]    Compiling freetype-sys v0.13.1
[INFO] [stderr]    Compiling expat-sys v2.1.6
[INFO] [stderr]     Checking nix v0.20.0
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]    Compiling semver v0.11.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling x11-dl v2.18.5
[INFO] [stderr]     Checking piston-graphics_api_version v1.0.0
[INFO] [stderr]    Compiling rustc_version v0.3.3
[INFO] [stderr]     Checking nix v0.18.0
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.37
[INFO] [stderr]     Checking rayon-core v1.9.1
[INFO] [stderr]    Compiling gl_generator v0.13.1
[INFO] [stderr]    Compiling wayland-client v0.28.5
[INFO] [stderr]    Compiling wayland-protocols v0.28.5
[INFO] [stderr]     Checking xcursor v0.3.3
[INFO] [stderr]     Checking xdg v2.2.0
[INFO] [stderr]    Compiling crc32fast v1.2.1
[INFO] [stderr]     Checking andrew v0.3.1
[INFO] [stderr]     Checking rayon v1.5.1
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking parking_lot_core v0.8.3
[INFO] [stderr]    Compiling gl v0.13.0
[INFO] [stderr]    Compiling pathfinder_simd v0.5.1
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.7
[INFO] [stderr]     Checking wayland-commons v0.28.5
[INFO] [stderr]     Checking calloop v0.6.5
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.5
[INFO] [stderr]     Checking memmap2 v0.1.0
[INFO] [stderr]    Compiling servo-fontconfig-sys v5.1.0
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]     Checking mio-extras v2.0.6
[INFO] [stderr]     Checking parking_lot v0.11.1
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking gif v0.11.2
[INFO] [stderr]     Checking rand_core v0.6.2
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking png v0.16.8
[INFO] [stderr]     Checking tiff v0.6.1
[INFO] [stderr]     Checking wayland-cursor v0.28.5
[INFO] [stderr]     Checking wayland-egl v0.28.5
[INFO] [stderr]     Checking shader_version v0.7.0
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking vecmath v1.0.0
[INFO] [stderr]     Checking spin_sleep v1.0.0
[INFO] [stderr]     Checking piston-texture v0.8.0
[INFO] [stderr]     Checking bytemuck v1.5.1
[INFO] [stderr]     Checking interpolation v0.2.0
[INFO] [stderr]     Checking rand_chacha v0.3.0
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking image v0.23.14
[INFO] [stderr]     Checking servo-fontconfig v0.5.1
[INFO] [stderr]     Checking piston2d-graphics v0.40.0
[INFO] [stderr]     Checking pathfinder_geometry v0.5.1
[INFO] [stderr]     Checking freetype v0.7.0
[INFO] [stderr]     Checking float-ord v0.2.0
[INFO] [stderr]     Checking rand v0.8.3
[INFO] [stderr]     Checking font-kit v0.10.1
[INFO] [stderr]    Compiling serde_derive v1.0.126
[INFO] [stderr]     Checking piston2d-opengl_graphics v0.78.0
[INFO] [stderr]     Checking pistoncore-input v1.0.0
[INFO] [stderr]     Checking pistoncore-window v0.47.0
[INFO] [stderr]     Checking pistoncore-event_loop v0.53.0
[INFO] [stderr]     Checking piston v0.53.0
[INFO] [stderr]     Checking smithay-client-toolkit v0.12.3
[INFO] [stderr]     Checking winit v0.24.0
[INFO] [stderr]     Checking glutin v0.26.0
[INFO] [stderr]     Checking pistoncore-glutin_window v0.69.0
[INFO] [stderr]     Checking n-body-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `max` and `min`
[INFO] [stdout]  --> src/main.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cmp::{max, min};
[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: `font_kit::font::Font`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use font_kit::font::Font;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graphics::ellipse::circle`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use graphics::ellipse::circle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Graphics` and `types`
[INFO] [stdout]   --> src/main.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use graphics::{clear, types, CharacterCache, Context, Graphics};
[INFO] [stdout]    |                       ^^^^^                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Body`
[INFO] [stdout]   --> src/main.rs:23:31
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::engine::universe::{Body, Universe};
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Position` and `Velocity`
[INFO] [stdout]   --> src/main.rs:27:40
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::physics::primitives::{Mass, Position, Scalar, TemporalDuration, Vector2D, Velocity};
[INFO] [stdout]    |                                        ^^^^^^^^                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/engine/mod.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::physics::gravity::Gravity`
[INFO] [stdout]  --> src/engine/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::physics::gravity::Gravity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `euler_method`
[INFO] [stdout]  --> src/engine/mod.rs:6:41
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::physics::numerical_methods::{euler_method, OdeAlgorithm};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::physics::primitives::*`
[INFO] [stdout]  --> src/engine/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::physics::primitives::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/engine/metrics.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Scalar` and `Vector2D`
[INFO] [stdout]  --> src/engine/metrics.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::physics::primitives::{Scalar, Vector2D};
[INFO] [stdout]   |                                  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::physics::primitives::*`
[INFO] [stdout]  --> src/physics/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::physics::primitives::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector2D`
[INFO] [stdout]  --> src/physics/collision.rs:2:70
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::physics::primitives::{Position, Scalar, TemporalDuration, Vector2D, Velocity};
[INFO] [stdout]   |                                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ops`
[INFO] [stdout]  --> src/physics/numerical_methods/euler_method.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::ops;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/physics/primitives/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]  --> src/physics/primitives/vector.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::Mul;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::iter`
[INFO] [stdout]  --> src/universes.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use core::iter;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SampleBorrow` and `SampleUniform`
[INFO] [stdout]  --> src/universes.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::distributions::uniform::{SampleBorrow, SampleUniform, UniformSampler};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Standard` and `Uniform`
[INFO] [stdout]  --> src/universes.rs:6:41
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::distributions::{Distribution, Standard, Uniform};
[INFO] [stdout]   |                                         ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/universes.rs:71:30
[INFO] [stdout]    |
[INFO] [stdout] 71 |             x: rng.gen_range((self.x_min..self.x_max)),
[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] 71 -             x: rng.gen_range((self.x_min..self.x_max)),
[INFO] [stdout] 71 +             x: rng.gen_range(self.x_min..self.x_max ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/universes.rs:72:30
[INFO] [stdout]    |
[INFO] [stdout] 72 |             y: rng.gen_range((self.y_min..self.y_max)),
[INFO] [stdout]    |                              ^                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 72 -             y: rng.gen_range((self.y_min..self.y_max)),
[INFO] [stdout] 72 +             y: rng.gen_range(self.y_min..self.y_max ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/universes.rs:84:43
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let theta: Scalar = rng.gen_range((0.0..2.0 * std::f64::consts::PI));
[INFO] [stdout]    |                                           ^                               ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 84 -         let theta: Scalar = rng.gen_range((0.0..2.0 * std::f64::consts::PI));
[INFO] [stdout] 84 +         let theta: Scalar = rng.gen_range(0.0..2.0 * std::f64::consts::PI );
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/universes.rs:85:39
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let r: Scalar = rng.gen_range((self.magnitude_min..self.magnitude_max));
[INFO] [stdout]    |                                       ^                                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 85 -         let r: Scalar = rng.gen_range((self.magnitude_min..self.magnitude_max));
[INFO] [stdout] 85 +         let r: Scalar = rng.gen_range(self.magnitude_min..self.magnitude_max );
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `transform_pos` and `transform_vec`
[INFO] [stdout]  --> src/viewport.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use graphics::math::{transform_pos, transform_vec, Vec2d};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/main.rs:111:22
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mass_range = (min_mass..max_mass);
[INFO] [stdout]     |                      ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 111 -     let mass_range = (min_mass..max_mass);
[INFO] [stdout] 111 +     let mass_range = min_mass..max_mass ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `max` and `min`
[INFO] [stdout]  --> src/main.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cmp::{max, min};
[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: `font_kit::font::Font`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use font_kit::font::Font;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graphics::ellipse::circle`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use graphics::ellipse::circle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Graphics` and `types`
[INFO] [stdout]   --> src/main.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use graphics::{clear, types, CharacterCache, Context, Graphics};
[INFO] [stdout]    |                       ^^^^^                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Body`
[INFO] [stdout]   --> src/main.rs:23:31
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::engine::universe::{Body, Universe};
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Position` and `Velocity`
[INFO] [stdout]   --> src/main.rs:27:40
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::physics::primitives::{Mass, Position, Scalar, TemporalDuration, Vector2D, Velocity};
[INFO] [stdout]    |                                        ^^^^^^^^                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/engine/mod.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::physics::gravity::Gravity`
[INFO] [stdout]  --> src/engine/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::physics::gravity::Gravity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `euler_method`
[INFO] [stdout]  --> src/engine/mod.rs:6:41
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::physics::numerical_methods::{euler_method, OdeAlgorithm};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::physics::primitives::*`
[INFO] [stdout]  --> src/engine/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::physics::primitives::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/engine/metrics.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Scalar` and `Vector2D`
[INFO] [stdout]  --> src/engine/metrics.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::physics::primitives::{Scalar, Vector2D};
[INFO] [stdout]   |                                  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::physics::primitives::*`
[INFO] [stdout]  --> src/physics/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::physics::primitives::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector2D`
[INFO] [stdout]  --> src/physics/collision.rs:2:70
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::physics::primitives::{Position, Scalar, TemporalDuration, Vector2D, Velocity};
[INFO] [stdout]   |                                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ops`
[INFO] [stdout]  --> src/physics/numerical_methods/euler_method.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::ops;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/physics/primitives/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]  --> src/physics/primitives/vector.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::Mul;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::iter`
[INFO] [stdout]  --> src/universes.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use core::iter;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SampleBorrow` and `SampleUniform`
[INFO] [stdout]  --> src/universes.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::distributions::uniform::{SampleBorrow, SampleUniform, UniformSampler};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Standard` and `Uniform`
[INFO] [stdout]  --> src/universes.rs:6:41
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::distributions::{Distribution, Standard, Uniform};
[INFO] [stdout]   |                                         ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/universes.rs:71:30
[INFO] [stdout]    |
[INFO] [stdout] 71 |             x: rng.gen_range((self.x_min..self.x_max)),
[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] 71 -             x: rng.gen_range((self.x_min..self.x_max)),
[INFO] [stdout] 71 +             x: rng.gen_range(self.x_min..self.x_max ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/universes.rs:72:30
[INFO] [stdout]    |
[INFO] [stdout] 72 |             y: rng.gen_range((self.y_min..self.y_max)),
[INFO] [stdout]    |                              ^                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 72 -             y: rng.gen_range((self.y_min..self.y_max)),
[INFO] [stdout] 72 +             y: rng.gen_range(self.y_min..self.y_max ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/universes.rs:84:43
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let theta: Scalar = rng.gen_range((0.0..2.0 * std::f64::consts::PI));
[INFO] [stdout]    |                                           ^                               ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 84 -         let theta: Scalar = rng.gen_range((0.0..2.0 * std::f64::consts::PI));
[INFO] [stdout] 84 +         let theta: Scalar = rng.gen_range(0.0..2.0 * std::f64::consts::PI );
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/universes.rs:85:39
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let r: Scalar = rng.gen_range((self.magnitude_min..self.magnitude_max));
[INFO] [stdout]    |                                       ^                                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 85 -         let r: Scalar = rng.gen_range((self.magnitude_min..self.magnitude_max));
[INFO] [stdout] 85 +         let r: Scalar = rng.gen_range(self.magnitude_min..self.magnitude_max );
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `transform_pos` and `transform_vec`
[INFO] [stdout]  --> src/viewport.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use graphics::math::{transform_pos, transform_vec, Vec2d};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Position` and `Vector2D`
[INFO] [stdout]   --> src/viewport.rs:67:38
[INFO] [stdout]    |
[INFO] [stdout] 67 |     use crate::physics::primitives::{Position, Vector2D};
[INFO] [stdout]    |                                      ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::viewport::Viewport`
[INFO] [stdout]   --> src/viewport.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     use crate::viewport::Viewport;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `piston::RenderArgs`
[INFO] [stdout]   --> src/viewport.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     use piston::RenderArgs;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/main.rs:111:22
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mass_range = (min_mass..max_mass);
[INFO] [stdout]     |                      ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 111 -     let mass_range = (min_mass..max_mass);
[INFO] [stdout] 111 +     let mass_range = min_mass..max_mass ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UniformSampler`
[INFO] [stdout]  --> src/universes.rs:5:65
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::distributions::uniform::{SampleBorrow, SampleUniform, UniformSampler};
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]  --> src/physics/collision.rs:4:43
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn collide(left: &Body, right: &Body, dt: TemporalDuration) -> Option<Body> {
[INFO] [stdout]   |                                           ^^ help: if this is intentional, prefix it with an underscore: `_dt`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UniformSampler`
[INFO] [stdout]  --> src/universes.rs:5:65
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::distributions::uniform::{SampleBorrow, SampleUniform, UniformSampler};
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]  --> src/physics/collision.rs:4:43
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn collide(left: &Body, right: &Body, dt: TemporalDuration) -> Option<Body> {
[INFO] [stdout]   |                                           ^^ help: if this is intentional, prefix it with an underscore: `_dt`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/main.rs:212:21
[INFO] [stdout]     |
[INFO] [stdout] 212 |     SelectFontError(font_kit::error::SelectionError),
[INFO] [stdout]     |     --------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CharCacheError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 212 -     SelectFontError(font_kit::error::SelectionError),
[INFO] [stdout] 212 +     SelectFontError(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_body` is never used
[INFO] [stdout]   --> src/engine/universe.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Universe {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 31 |     pub fn add_body(&mut self, body: Body) -> () {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_velocity` is never used
[INFO] [stdout]  --> src/physics/numerical_methods/euler_method.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn next_velocity(
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_y` is never used
[INFO] [stdout]   --> src/physics/numerical_methods/euler_method.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn next_y(y_prime: Vector2D, y_0: Vector2D, h: Scalar) -> Vector2D {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pluto_and_charon` is never used
[INFO] [stdout]  --> src/universes.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn pluto_and_charon() -> Universe {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `zero` and `around_origin` are never used
[INFO] [stdout]   --> src/viewport.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Viewport {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 19 |     pub fn zero() -> Viewport {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn around_origin(x_size: Scalar, y_size: Scalar) -> Viewport {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/main.rs:212:21
[INFO] [stdout]     |
[INFO] [stdout] 212 |     SelectFontError(font_kit::error::SelectionError),
[INFO] [stdout]     |     --------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CharCacheError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 212 -     SelectFontError(font_kit::error::SelectionError),
[INFO] [stdout] 212 +     SelectFontError(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_body` is never used
[INFO] [stdout]   --> src/engine/universe.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Universe {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 31 |     pub fn add_body(&mut self, body: Body) -> () {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_velocity` is never used
[INFO] [stdout]  --> src/physics/numerical_methods/euler_method.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn next_velocity(
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_y` is never used
[INFO] [stdout]   --> src/physics/numerical_methods/euler_method.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn next_y(y_prime: Vector2D, y_0: Vector2D, h: Scalar) -> Vector2D {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pluto_and_charon` is never used
[INFO] [stdout]  --> src/universes.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn pluto_and_charon() -> Universe {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `zero` and `around_origin` are never used
[INFO] [stdout]   --> src/viewport.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Viewport {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 19 |     pub fn zero() -> Viewport {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn around_origin(x_size: Scalar, y_size: Scalar) -> Viewport {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 10s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v6.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "b99eb35ab38695962d08c817ff5227d33f95e86c94b4f0040c541383cd3af55d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b99eb35ab38695962d08c817ff5227d33f95e86c94b4f0040c541383cd3af55d", kill_on_drop: false }`
[INFO] [stdout] b99eb35ab38695962d08c817ff5227d33f95e86c94b4f0040c541383cd3af55d
