[INFO] cloning repository https://github.com/MadebyDaris/ogl
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MadebyDaris/ogl" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMadebyDaris%2Fogl", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMadebyDaris%2Fogl'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 12b1f7ec96997e8dbb187aad66bdbe4d48eaceed
[INFO] checking MadebyDaris/ogl against try#943e2200e35c3825486c4671b6cab0107a07f8c1 for pr-148952
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMadebyDaris%2Fogl" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/MadebyDaris/ogl
[INFO] finished tweaking git repo https://github.com/MadebyDaris/ogl
[INFO] tweaked toml for git repo https://github.com/MadebyDaris/ogl written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MadebyDaris/ogl on toolchain 943e2200e35c3825486c4671b6cab0107a07f8c1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/MadebyDaris/ogl 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" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9dfefd5278707b3a3141a8abbb58e7f43db72cdae843b245276cbf5b42941b76
[INFO] running `Command { std: "docker" "start" "-a" "9dfefd5278707b3a3141a8abbb58e7f43db72cdae843b245276cbf5b42941b76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9dfefd5278707b3a3141a8abbb58e7f43db72cdae843b245276cbf5b42941b76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9dfefd5278707b3a3141a8abbb58e7f43db72cdae843b245276cbf5b42941b76", kill_on_drop: false }`
[INFO] [stdout] 9dfefd5278707b3a3141a8abbb58e7f43db72cdae843b245276cbf5b42941b76
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 54668ebdcd32ebd791cb9174e05498c1f5ed8db37371f1cc9fa1356e39479aeb
[INFO] running `Command { std: "docker" "start" "-a" "54668ebdcd32ebd791cb9174e05498c1f5ed8db37371f1cc9fa1356e39479aeb", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]    Compiling libc v0.2.161
[INFO] [stderr]    Compiling syn v1.0.89
[INFO] [stderr]    Compiling log v0.4.16
[INFO] [stderr]    Compiling pkg-config v0.3.24
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling rustix v0.38.38
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]    Compiling cc v1.1.31
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]     Checking scoped-tls v1.0.0
[INFO] [stderr]    Compiling quick-xml v0.36.2
[INFO] [stderr]    Compiling wayland-client v0.31.7
[INFO] [stderr]    Compiling indexmap v1.8.0
[INFO] [stderr]    Compiling anyhow v1.0.56
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]     Checking nom v7.1.1
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.9
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling rayon-core v1.9.3
[INFO] [stderr]    Compiling wayland-sys v0.31.5
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling regex v1.5.5
[INFO] [stderr]    Compiling try_from v0.3.2
[INFO] [stderr]    Compiling glutin_egl_sys v0.7.0
[INFO] [stderr]    Compiling glutin_glx_sys v0.6.0
[INFO] [stderr]    Compiling syn v2.0.85
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling wayland-scanner v0.31.5
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]     Checking getrandom v0.2.7
[INFO] [stderr]    Compiling semver-parser v0.10.2
[INFO] [stderr]     Checking memmap2 v0.9.5
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.5
[INFO] [stderr]    Compiling semver v0.11.0
[INFO] [stderr]    Compiling wayland-backend v0.3.7
[INFO] [stderr]     Checking xcursor v0.3.4
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]    Compiling rayon v1.5.3
[INFO] [stderr]    Compiling rustc_version v0.3.3
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]    Compiling filetime v0.2.15
[INFO] [stderr]    Compiling vob v3.0.1
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]    Compiling cactus v1.0.6
[INFO] [stderr]    Compiling unicode-width v0.1.9
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling getopts v0.2.21
[INFO] [stderr]    Compiling glutin v0.32.1
[INFO] [stderr]     Checking form_urlencoded v1.0.1
[INFO] [stderr]    Compiling backtrace v0.3.64
[INFO] [stderr]    Compiling glutin-winit v0.5.0
[INFO] [stderr]    Compiling vergen v5.1.17
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]     Checking gimli v0.26.1
[INFO] [stderr]     Checking weezl v0.1.6
[INFO] [stderr]    Compiling serde_json v1.0.85
[INFO] [stderr]     Checking url v2.3.0
[INFO] [stderr]     Checking flate2 v1.1.5
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]     Checking miniz_oxide v0.3.7
[INFO] [stderr]    Compiling glium v0.36.0
[INFO] [stderr]     Checking pxfm v0.1.25
[INFO] [stderr]     Checking object v0.27.1
[INFO] [stderr]     Checking rustc-demangle v0.1.21
[INFO] [stderr]     Checking ryu v1.0.11
[INFO] [stderr]    Compiling inflections v1.1.1
[INFO] [stderr]     Checking itoa v1.0.4
[INFO] [stderr]     Checking zune-jpeg v0.4.21
[INFO] [stderr]     Checking webbrowser v1.0.2
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking png v0.16.8
[INFO] [stderr]     Checking png v0.18.0
[INFO] [stderr]     Checking gif v0.11.3
[INFO] [stderr]    Compiling serde_derive v1.0.136
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling enum-iterator-derive v0.7.0
[INFO] [stderr]    Compiling getset v0.1.2
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking rand_xorshift v0.2.0
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]    Compiling bytemuck_derive v1.8.0
[INFO] [stderr]    Compiling enum-iterator v0.7.0
[INFO] [stderr]    Compiling gltf-derive v1.4.1
[INFO] [stderr]    Compiling thiserror v1.0.30
[INFO] [stderr]     Checking tiff v0.6.1
[INFO] [stderr]    Compiling lrpar v0.11.1
[INFO] [stderr]    Compiling lrlex v0.11.1
[INFO] [stderr]     Checking bytemuck v1.19.0
[INFO] [stderr]     Checking polling v3.7.3
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking addr2line v0.17.0
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking emath v0.29.1
[INFO] [stderr]     Checking image v0.23.14
[INFO] [stderr]     Checking moxcms v0.7.9
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking ecolor v0.29.1
[INFO] [stderr]     Checking epaint v0.29.1
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking serde v1.0.136
[INFO] [stderr]     Checking egui v0.29.1
[INFO] [stderr]     Checking arboard v3.4.1
[INFO] [stderr]     Checking wayland-protocols v0.32.5
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking wayland-cursor v0.31.7
[INFO] [stderr]     Checking noise v0.7.0
[INFO] [stderr]    Compiling packedvec v1.2.4
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling cfgrammar v0.11.1
[INFO] [stderr]    Compiling sparsevec v0.1.4
[INFO] [stderr]     Checking lrtable v0.11.1
[INFO] [stderr]     Checking image v0.25.8
[INFO] [stderr]     Checking gltf-json v1.4.1
[INFO] [stderr]    Compiling wfobj v0.1.0 (https://github.com/nidirene/wfobj.git#39c3dcfa)
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.5
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.5
[INFO] [stderr]     Checking gltf v1.4.1
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking smithay-clipboard v0.7.2
[INFO] [stderr]     Checking winit v0.30.5
[INFO] [stderr]     Checking egui-winit v0.29.1
[INFO] [stderr]     Checking egui_glium v0.29.0
[INFO] [stderr]     Checking Inertia v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::simulation::*`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::simulation::*;
[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: `Align2`
[INFO] [stdout]  --> src/simulation/orbital_simulation/galaxy_nameplate.rs:1:36
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egui::{Context as EguiContext, Align2, Color32, FontId, Pos2, RichText};
[INFO] [stdout]   |                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `galaxy_nameplate::*`
[INFO] [stdout]  --> src/simulation/orbital_simulation/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use galaxy_nameplate::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `keyboard::KeyCode`
[INFO] [stdout]  --> src/render/camera.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use keyboard::KeyCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vector_arrow::VectorArrow`
[INFO] [stdout]  --> src/render/scene_ui.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use vector_arrow::VectorArrow;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trail::Trail`
[INFO] [stdout]  --> src/render/scene_ui.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use trail::Trail;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `outline::Outline`
[INFO] [stdout]  --> src/render/scene_ui.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use outline::Outline;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DebugVertex`
[INFO] [stdout]   --> src/render/scene_ui.rs:11:37
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use renderer::{SceneUIRenderer, DebugVertex};
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shader_system::*`
[INFO] [stdout]  --> src/render/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use shader_system::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `default`
[INFO] [stdout]  --> src/physics/mod.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{default, ops::{Add, AddAssign}};
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `glutin::surface::WindowSurface`
[INFO] [stdout]  --> src/physics/physicsobject.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use glium::{glutin::surface::WindowSurface, Display};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sphere::SphereConstructor`
[INFO] [stdout]  --> src/physics/physicsobject.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sphere::SphereConstructor;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `matrix::TransformMatrix`
[INFO] [stdout]  --> src/physics/physicsobject.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{mesh::*, utils::{matrix::TransformMatrix}};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::*`
[INFO] [stdout]  --> src/physics/physicsobject.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::ui::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `position_euclidean`
[INFO] [stdout]  --> src/physics/physicsobject.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::{position_euclidean, EulerAngles, Vector};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RichText`
[INFO] [stdout]  --> src/ui/widgets/orbit_visualizer.rs:1:36
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egui::{Context as EguiContext, RichText};
[INFO] [stdout]   |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trails::TrailsWidget`
[INFO] [stdout]   --> src/ui/widgets.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use trails::TrailsWidget;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PlanetInfoPanel` and `PlanetInfo`
[INFO] [stdout]   --> src/ui/widgets.rs:19:29
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use planet_info_panel::{PlanetInfoPanel, PlanetInfo};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `projection::*`
[INFO] [stdout]   --> src/ui/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use projection::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::simulation::*`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::simulation::*;
[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: `Align2`
[INFO] [stdout]  --> src/simulation/orbital_simulation/galaxy_nameplate.rs:1:36
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egui::{Context as EguiContext, Align2, Color32, FontId, Pos2, RichText};
[INFO] [stdout]   |                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `galaxy_nameplate::*`
[INFO] [stdout]  --> src/simulation/orbital_simulation/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use galaxy_nameplate::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `keyboard::KeyCode`
[INFO] [stdout]  --> src/render/camera.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use keyboard::KeyCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vector_arrow::VectorArrow`
[INFO] [stdout]  --> src/render/scene_ui.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use vector_arrow::VectorArrow;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trail::Trail`
[INFO] [stdout]  --> src/render/scene_ui.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use trail::Trail;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `outline::Outline`
[INFO] [stdout]  --> src/render/scene_ui.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use outline::Outline;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DebugVertex`
[INFO] [stdout]   --> src/render/scene_ui.rs:11:37
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use renderer::{SceneUIRenderer, DebugVertex};
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shader_system::*`
[INFO] [stdout]  --> src/render/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use shader_system::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `default`
[INFO] [stdout]  --> src/physics/mod.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{default, ops::{Add, AddAssign}};
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `glutin::surface::WindowSurface`
[INFO] [stdout]  --> src/physics/physicsobject.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use glium::{glutin::surface::WindowSurface, Display};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sphere::SphereConstructor`
[INFO] [stdout]  --> src/physics/physicsobject.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sphere::SphereConstructor;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `matrix::TransformMatrix`
[INFO] [stdout]  --> src/physics/physicsobject.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{mesh::*, utils::{matrix::TransformMatrix}};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::*`
[INFO] [stdout]  --> src/physics/physicsobject.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::ui::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `position_euclidean`
[INFO] [stdout]  --> src/physics/physicsobject.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::{position_euclidean, EulerAngles, Vector};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RichText`
[INFO] [stdout]  --> src/ui/widgets/orbit_visualizer.rs:1:36
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egui::{Context as EguiContext, RichText};
[INFO] [stdout]   |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trails::TrailsWidget`
[INFO] [stdout]   --> src/ui/widgets.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use trails::TrailsWidget;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PlanetInfoPanel` and `PlanetInfo`
[INFO] [stdout]   --> src/ui/widgets.rs:19:29
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use planet_info_panel::{PlanetInfoPanel, PlanetInfo};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `projection::*`
[INFO] [stdout]   --> src/ui/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use projection::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body1`
[INFO] [stdout]   --> src/simulation/orbital_simulation/astralBody.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn handle_collision(body1: &mut AstralBody, body2: &mut AstralBody) {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_body1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body2`
[INFO] [stdout]   --> src/simulation/orbital_simulation/astralBody.rs:16:49
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn handle_collision(body1: &mut AstralBody, body2: &mut AstralBody) {
[INFO] [stdout]    |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_body2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body1`
[INFO] [stdout]   --> src/simulation/orbital_simulation/astralBody.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn handle_angular_impulse(body1: &mut AstralBody, body2: &mut AstralBody, collision_point: Vector){
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_body1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body2`
[INFO] [stdout]   --> src/simulation/orbital_simulation/astralBody.rs:18:55
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn handle_angular_impulse(body1: &mut AstralBody, body2: &mut AstralBody, collision_point: Vector){
[INFO] [stdout]    |                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_body2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `collision_point`
[INFO] [stdout]   --> src/simulation/orbital_simulation/astralBody.rs:18:79
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn handle_angular_impulse(body1: &mut AstralBody, body2: &mut AstralBody, collision_point: Vector){
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collision_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body1`
[INFO] [stdout]   --> src/simulation/orbital_simulation/astralBody.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn handle_collision(body1: &mut AstralBody, body2: &mut AstralBody) {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_body1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body2`
[INFO] [stdout]   --> src/simulation/orbital_simulation/astralBody.rs:16:49
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn handle_collision(body1: &mut AstralBody, body2: &mut AstralBody) {
[INFO] [stdout]    |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_body2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body1`
[INFO] [stdout]   --> src/simulation/orbital_simulation/astralBody.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn handle_angular_impulse(body1: &mut AstralBody, body2: &mut AstralBody, collision_point: Vector){
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_body1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body2`
[INFO] [stdout]   --> src/simulation/orbital_simulation/astralBody.rs:18:55
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn handle_angular_impulse(body1: &mut AstralBody, body2: &mut AstralBody, collision_point: Vector){
[INFO] [stdout]    |                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_body2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `collision_point`
[INFO] [stdout]   --> src/simulation/orbital_simulation/astralBody.rs:18:79
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn handle_angular_impulse(body1: &mut AstralBody, body2: &mut AstralBody, collision_point: Vector){
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collision_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta_time`
[INFO] [stdout]   --> src/simulation/classic/classic_simulation.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn update(&mut self, delta_time: f32) {
[INFO] [stdout]    |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delta_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object`
[INFO] [stdout]   --> src/simulation/classic/classic_simulation.rs:24:30
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn add_object(&mut self, object: Self::Object, name: String) {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/simulation/classic/classic_simulation.rs:24:52
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn add_object(&mut self, object: Self::Object, name: String) {
[INFO] [stdout]    |                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/simulation/classic/classic_simulation.rs:28:33
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn remove_object(&mut self, name: &str) -> Option<Self::Object> {
[INFO] [stdout]    |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/simulation/classic/classic_simulation.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn get_object(&self, name: &str) -> Option<&Self::Object> {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/simulation/classic/classic_simulation.rs:36:34
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn get_object_mut(&mut self, name: &str) -> Option<&mut Self::Object> {
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `paused`
[INFO] [stdout]   --> src/simulation/classic/classic_simulation.rs:56:30
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn set_paused(&mut self, paused: bool) {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_paused`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta_time`
[INFO] [stdout]   --> src/simulation/classic/classic_simulation.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn update(&mut self, delta_time: f32) {
[INFO] [stdout]    |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delta_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object`
[INFO] [stdout]   --> src/simulation/classic/classic_simulation.rs:24:30
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn add_object(&mut self, object: Self::Object, name: String) {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/simulation/classic/classic_simulation.rs:24:52
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn add_object(&mut self, object: Self::Object, name: String) {
[INFO] [stdout]    |                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/simulation/classic/classic_simulation.rs:28:33
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn remove_object(&mut self, name: &str) -> Option<Self::Object> {
[INFO] [stdout]    |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/simulation/classic/classic_simulation.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn get_object(&self, name: &str) -> Option<&Self::Object> {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/simulation/classic/classic_simulation.rs:36:34
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn get_object_mut(&mut self, name: &str) -> Option<&mut Self::Object> {
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `paused`
[INFO] [stdout]   --> src/simulation/classic/classic_simulation.rs:56:30
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn set_paused(&mut self, paused: bool) {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_paused`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/utils/app.rs:96:21
[INFO] [stdout]    |
[INFO] [stdout] 96 |                     _ => {
[INFO] [stdout]    |                     ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/utils/app.rs:96:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     Event::NewEvents(cause) => {
[INFO] [stdout]    |                     ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 92 |                     event => {
[INFO] [stdout]    |                     ----- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 96 |                     _ => {
[INFO] [stdout]    |                     ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/utils/app.rs:96:21
[INFO] [stdout]    |
[INFO] [stdout] 96 |                     _ => {
[INFO] [stdout]    |                     ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/utils/app.rs:96:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     Event::NewEvents(cause) => {
[INFO] [stdout]    |                     ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 92 |                     event => {
[INFO] [stdout]    |                     ----- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 96 |                     _ => {
[INFO] [stdout]    |                     ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/simulation/simulation.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub trait Simulation {
[INFO] [stdout]    |           ---------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 12 |     fn remove_object(&mut self, name: &str) -> Option<Self::Object>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 13 |     fn get_object(&self, name: &str) -> Option<&Self::Object>;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 14 |     fn get_object_mut(&mut self, name: &str) -> Option<&mut Self::Object>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     fn get_objects(&self) -> &Vec<Self::Object>;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 16 |     fn get_object_names(&self) -> &[String];
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     fn handle_ui_response(&mut self, response: WidgetResponse, display: &Display<WindowSurface>, shader_manager: &ShaderManager);
[INFO] [stdout] 18 |     fn is_paused(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 19 |     fn set_paused(&mut self, paused: bool);
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 20 |     fn reset(&mut self);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_time_scale_display` is never used
[INFO] [stdout]   --> src/simulation/timeutil.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl SimulationTime {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn get_time_scale_display(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CollisionObject` is never used
[INFO] [stdout]   --> src/simulation/orbital_simulation/astralBody.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait CollisionObject {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AstralPhysicsObject` is never used
[INFO] [stdout]   --> src/simulation/orbital_simulation/astralBody.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub type AstralPhysicsObject = dyn PhysicsObject<
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `galaxy_center` and `galaxy_radius` are never read
[INFO] [stdout]   --> src/simulation/orbital_simulation/galaxy.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct GalaxySimulation {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub galaxy_center: Vector,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub galaxy_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `create_simple_system`, `update_trails`, and `create_physics_world` are never used
[INFO] [stdout]    --> src/simulation/orbital_simulation/galaxy.rs:30:12
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl GalaxySimulation {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout]  30 |     pub fn create_simple_system(&mut self, display: &Display<WindowSurface>, shader_manager: &mut ShaderManager) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn update_trails(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn create_physics_world(&self) -> Vec<&AstralBody> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `create_and_add_sphere` is never used
[INFO] [stdout]    --> src/simulation/orbital_simulation/galaxy.rs:576:12
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl GalaxySimulation {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 576 |     pub fn create_and_add_sphere(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GalaxyNameplate` is never constructed
[INFO] [stdout]  --> src/simulation/orbital_simulation/galaxy_nameplate.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct GalaxyNameplate {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set_position`, `set_font_size`, and `set_color` are never used
[INFO] [stdout]   --> src/simulation/orbital_simulation/galaxy_nameplate.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl GalaxyNameplate {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 14 |     pub fn new(galaxy_name: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn set_position(&mut self, x: f32, y: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn set_font_size(&mut self, size: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn set_color(&mut self, color: Color32) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClassicCollisionObject` is never constructed
[INFO] [stdout]  --> src/simulation/classic/rigidbody.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct ClassicCollisionObject {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RigidBodyObject` is never used
[INFO] [stdout]  --> src/simulation/classic/rigidbody.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type RigidBodyObject = dyn PhysicsObject<
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rigidbody` is never constructed
[INFO] [stdout]   --> src/simulation/classic/rigidbody.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Rigidbody {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_geometry` is never used
[INFO] [stdout]    --> src/simulation/classic/rigidbody.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl Rigidbody {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 129 |     pub fn update_geometry(&mut self, delta_time: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClassicSimulation` is never constructed
[INFO] [stdout]  --> src/simulation/classic/classic_simulation.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct ClassicSimulation {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `at` is never used
[INFO] [stdout]   --> src/render/ray.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Ray {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn at(&self, t: f32) -> Vector {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugArrow` is never constructed
[INFO] [stdout]  --> src/render/debug.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct DebugArrow {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_color`, `with_thickness`, and `with_scale` are never used
[INFO] [stdout]   --> src/render/debug.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl DebugArrow {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 14 |     pub fn new(start: Vector, end: Vector) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn with_color(mut self, r: f32, g: f32, b: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn with_thickness(mut self, thickness: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn with_scale(mut self, scale: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugOutline` is never constructed
[INFO] [stdout]   --> src/render/debug.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct DebugOutline {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_color`, `with_thickness`, and `with_offset` are never used
[INFO] [stdout]   --> src/render/debug.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl DebugOutline {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 48 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn with_color(mut self, r: f32, g: f32, b: f32, a: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn with_thickness(mut self, thickness: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn with_offset(mut self, offset: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugVertex` is never constructed
[INFO] [stdout]   --> src/render/debug.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | struct DebugVertex {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugRenderer` is never constructed
[INFO] [stdout]   --> src/render/debug.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct DebugRenderer {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/render/debug.rs:85:12
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl DebugRenderer {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  85 |     pub fn new(display: &Display<glium::glutin::surface::WindowSurface>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn draw_arrow(&self, display: &Display<glium::glutin::surface::WindowSurface>, frame: &mut Frame, camera: &Camera, arrow: &...
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn draw_outline<V: glium::vertex::Vertex>(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     pub fn draw_velocity_arrow(&self, display: &Display<glium::glutin::surface::WindowSurface>, frame: &mut Frame, camera: &Camera,...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn draw_acceleration_arrow(&self, display: &Display<glium::glutin::surface::WindowSurface>, frame: &mut Frame, camera: &Cam...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     pub fn draw_force_arrow(&self, display: &Display<glium::glutin::surface::WindowSurface>, frame: &mut Frame, camera: &Camera, po...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn draw_custom_arrow(&self, display: &Display<glium::glutin::surface::WindowSurface>, frame: &mut Frame, camera: &Camera, s...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `force` and `custom` are never used
[INFO] [stdout]   --> src/render/scene_ui/vector_arrow.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl VectorArrow {
[INFO] [stdout]    | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn force() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn custom(color: [f32; 3]) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `color`, `thickness`, and `offset` are never read
[INFO] [stdout]  --> src/render/scene_ui/outline.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Outline {
[INFO] [stdout]   |            ------- fields in this struct
[INFO] [stdout] 3 |     pub color: [f32; 4],
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 4 |     pub thickness: f32,
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 5 |     pub offset: f32,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Outline` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/render/scene_ui/scene_ui_object.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl SceneUIObject {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn set_acceleration(&mut self, acceleration: Vector) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn enable_velocity_arrow(&mut self, enabled: bool) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn enable_acceleration_arrow(&mut self, enabled: bool) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn enable_trail(&mut self, enabled: bool) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn enable_outline(&mut self, enabled: bool) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn point_velocity_arrow_toward(&mut self, target_position: Vector) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn add_custom_arrow(&mut self, direction: Vector, color: [f32; 3], scale: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn clear_custom_arrows(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `outline_program` is never read
[INFO] [stdout]   --> src/render/scene_ui/renderer.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct SceneUIRenderer {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     outline_program: Program,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `render_outline` is never used
[INFO] [stdout]    --> src/render/scene_ui/renderer.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl SceneUIRenderer {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn render_outline<V: glium::vertex::Vertex>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `velocity`, `euler_angles`, `mesh_mut`, and `update_angular_acceleration` are never used
[INFO] [stdout]    --> src/physics/physicsobject.rs:60:8
[INFO] [stdout]     |
[INFO] [stdout]  42 | pub trait PhysicsObject {
[INFO] [stdout]     |           ------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout]  60 |     fn velocity(&self) -> Vector;
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     fn euler_angles(&self) -> &EulerAngles;
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     fn mesh_mut(&mut self) -> &mut Self::Mesh;
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn update_angular_acceleration(&mut self, torque: Vector, moment_of_inertia: f32) where Self: Sized {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G` is never used
[INFO] [stdout]  --> src/physics/physicsworld.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const G: f32 = (5) as f32;
[INFO] [stdout]   |       ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `color` is never read
[INFO] [stdout]   --> src/physics/physicsinterface.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct OrbitTrail {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49 |     color: [f32; 3],
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrbitTrail` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_position` is never used
[INFO] [stdout]   --> src/physics/physicsinterface.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl OrbitTrail {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn add_position(&mut self, position: Vector) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/ui/widgets/simulation_info.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct SimulationInfoWidget {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 10 |     pub elapsed_time: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 11 |     pub time: SimulationTime,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 12 |     pub body_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 13 |     pub average_velocity: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub total_mass: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 15 |     pub total_kinetic_energy: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub center_of_mass: Vector,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SimulationInfoWidget` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `update` are never used
[INFO] [stdout]   --> src/ui/widgets/simulation_info.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl SimulationInfoWidget {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 20 |     pub fn new(simulation: &dyn Simulation<Object = AstralBody>, time_control: SimulationTime) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn update(&mut self, simulation: &dyn Simulation<Object = AstralBody>, time_control: SimulationTime, delta_time: f32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_available_objects` is never used
[INFO] [stdout]   --> src/ui/widgets/force_manager.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ForceManagerWidget {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn update_available_objects(&mut self, objects: Vec<String>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TrailsWidget` is never constructed
[INFO] [stdout]  --> src/ui/widgets/trails.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TrailsWidget {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ui/widgets/trails.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl TrailsWidget {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlanetInfoPanel` is never constructed
[INFO] [stdout]  --> src/ui/widgets/planet_info_panel.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct PlanetInfoPanel {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlanetInfo` is never constructed
[INFO] [stdout]   --> src/ui/widgets/planet_info_panel.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct PlanetInfo {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ui/widgets/planet_info_panel.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl PlanetInfoPanel {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 19 |     pub fn new(planets: Vec<PlanetInfo>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `widgets` is never read
[INFO] [stdout]   --> src/ui/manager.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct WidgetManager {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 24 |     pub egui: EguiGlium,
[INFO] [stdout] 25 |     pub widgets: Vec<WidgetEnum>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Widget` is never used
[INFO] [stdout]   --> src/ui/manager.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub trait Widget: Clone {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `show` is never used
[INFO] [stdout]   --> src/ui/manager.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl WidgetEnum {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 57 |     pub fn show(&self, ctx: &EguiContext, ui: &mut  egui::Ui) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SpeedUp` and `SlowDown` are never constructed
[INFO] [stdout]   --> src/ui/control_requests.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum TimeControlCommand {
[INFO] [stdout]    |          ------------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     SpeedUp(f32),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 18 |     SlowDown(f32),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TimeControlCommand` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RemoveForce` is never constructed
[INFO] [stdout]   --> src/ui/control_requests.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum ForceCommand {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] 26 |     AddForce { target_object: String, force: Force },
[INFO] [stdout] 27 |     RemoveForce { target_object: String, force_id: usize },
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ForceCommand` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ToggleOrbitTrail`, `ClearAllTrails`, `SetTrailLength`, `ToggleVelocityVectors`, and `ToggleForceVectors` are never constructed
[INFO] [stdout]   --> src/ui/control_requests.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum VisualCommand {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 34 |     ToggleOrbitTrail { object_name: String, enabled: bool },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     ClearAllTrails,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     SetTrailLength(usize),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 39 |     ToggleVelocityVectors(bool),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     ToggleForceVectors(bool),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VisualCommand` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `toggle_debug_ray` is never used
[INFO] [stdout]   --> src/ui/hover_system.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl HoverSystem {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn toggle_debug_ray(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `astralBody` should have a snake case name
[INFO] [stdout]  --> src/simulation/orbital_simulation/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod astralBody;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `astral_body`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `WorldOrigin` should have a snake case name
[INFO] [stdout]   --> src/simulation/classic/classic_simulation.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub WorldOrigin: Vector,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `world_origin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/simulation/simulation.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub trait Simulation {
[INFO] [stdout]    |           ---------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 12 |     fn remove_object(&mut self, name: &str) -> Option<Self::Object>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 13 |     fn get_object(&self, name: &str) -> Option<&Self::Object>;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 14 |     fn get_object_mut(&mut self, name: &str) -> Option<&mut Self::Object>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     fn get_objects(&self) -> &Vec<Self::Object>;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 16 |     fn get_object_names(&self) -> &[String];
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     fn handle_ui_response(&mut self, response: WidgetResponse, display: &Display<WindowSurface>, shader_manager: &ShaderManager);
[INFO] [stdout] 18 |     fn is_paused(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 19 |     fn set_paused(&mut self, paused: bool);
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 20 |     fn reset(&mut self);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_time_scale_display` is never used
[INFO] [stdout]   --> src/simulation/timeutil.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl SimulationTime {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn get_time_scale_display(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CollisionObject` is never used
[INFO] [stdout]   --> src/simulation/orbital_simulation/astralBody.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait CollisionObject {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AstralPhysicsObject` is never used
[INFO] [stdout]   --> src/simulation/orbital_simulation/astralBody.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub type AstralPhysicsObject = dyn PhysicsObject<
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `galaxy_center` and `galaxy_radius` are never read
[INFO] [stdout]   --> src/simulation/orbital_simulation/galaxy.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct GalaxySimulation {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub galaxy_center: Vector,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub galaxy_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `create_simple_system`, `update_trails`, and `create_physics_world` are never used
[INFO] [stdout]    --> src/simulation/orbital_simulation/galaxy.rs:30:12
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl GalaxySimulation {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout]  30 |     pub fn create_simple_system(&mut self, display: &Display<WindowSurface>, shader_manager: &mut ShaderManager) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn update_trails(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn create_physics_world(&self) -> Vec<&AstralBody> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `create_and_add_sphere` is never used
[INFO] [stdout]    --> src/simulation/orbital_simulation/galaxy.rs:576:12
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl GalaxySimulation {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 576 |     pub fn create_and_add_sphere(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GalaxyNameplate` is never constructed
[INFO] [stdout]  --> src/simulation/orbital_simulation/galaxy_nameplate.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct GalaxyNameplate {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set_position`, `set_font_size`, and `set_color` are never used
[INFO] [stdout]   --> src/simulation/orbital_simulation/galaxy_nameplate.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl GalaxyNameplate {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 14 |     pub fn new(galaxy_name: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn set_position(&mut self, x: f32, y: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn set_font_size(&mut self, size: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn set_color(&mut self, color: Color32) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClassicCollisionObject` is never constructed
[INFO] [stdout]  --> src/simulation/classic/rigidbody.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct ClassicCollisionObject {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RigidBodyObject` is never used
[INFO] [stdout]  --> src/simulation/classic/rigidbody.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type RigidBodyObject = dyn PhysicsObject<
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rigidbody` is never constructed
[INFO] [stdout]   --> src/simulation/classic/rigidbody.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Rigidbody {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_geometry` is never used
[INFO] [stdout]    --> src/simulation/classic/rigidbody.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl Rigidbody {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 129 |     pub fn update_geometry(&mut self, delta_time: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClassicSimulation` is never constructed
[INFO] [stdout]  --> src/simulation/classic/classic_simulation.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct ClassicSimulation {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `at` is never used
[INFO] [stdout]   --> src/render/ray.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Ray {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn at(&self, t: f32) -> Vector {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugArrow` is never constructed
[INFO] [stdout]  --> src/render/debug.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct DebugArrow {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_color`, `with_thickness`, and `with_scale` are never used
[INFO] [stdout]   --> src/render/debug.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl DebugArrow {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 14 |     pub fn new(start: Vector, end: Vector) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn with_color(mut self, r: f32, g: f32, b: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn with_thickness(mut self, thickness: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn with_scale(mut self, scale: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugOutline` is never constructed
[INFO] [stdout]   --> src/render/debug.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct DebugOutline {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_color`, `with_thickness`, and `with_offset` are never used
[INFO] [stdout]   --> src/render/debug.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl DebugOutline {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 48 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn with_color(mut self, r: f32, g: f32, b: f32, a: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn with_thickness(mut self, thickness: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn with_offset(mut self, offset: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugVertex` is never constructed
[INFO] [stdout]   --> src/render/debug.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | struct DebugVertex {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugRenderer` is never constructed
[INFO] [stdout]   --> src/render/debug.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct DebugRenderer {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/render/debug.rs:85:12
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl DebugRenderer {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  85 |     pub fn new(display: &Display<glium::glutin::surface::WindowSurface>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn draw_arrow(&self, display: &Display<glium::glutin::surface::WindowSurface>, frame: &mut Frame, camera: &Camera, arrow: &...
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn draw_outline<V: glium::vertex::Vertex>(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     pub fn draw_velocity_arrow(&self, display: &Display<glium::glutin::surface::WindowSurface>, frame: &mut Frame, camera: &Camera,...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn draw_acceleration_arrow(&self, display: &Display<glium::glutin::surface::WindowSurface>, frame: &mut Frame, camera: &Cam...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     pub fn draw_force_arrow(&self, display: &Display<glium::glutin::surface::WindowSurface>, frame: &mut Frame, camera: &Camera, po...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn draw_custom_arrow(&self, display: &Display<glium::glutin::surface::WindowSurface>, frame: &mut Frame, camera: &Camera, s...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `force` and `custom` are never used
[INFO] [stdout]   --> src/render/scene_ui/vector_arrow.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl VectorArrow {
[INFO] [stdout]    | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn force() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn custom(color: [f32; 3]) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `color`, `thickness`, and `offset` are never read
[INFO] [stdout]  --> src/render/scene_ui/outline.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Outline {
[INFO] [stdout]   |            ------- fields in this struct
[INFO] [stdout] 3 |     pub color: [f32; 4],
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 4 |     pub thickness: f32,
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 5 |     pub offset: f32,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Outline` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/render/scene_ui/scene_ui_object.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl SceneUIObject {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn set_acceleration(&mut self, acceleration: Vector) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn enable_velocity_arrow(&mut self, enabled: bool) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn enable_acceleration_arrow(&mut self, enabled: bool) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn enable_trail(&mut self, enabled: bool) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn enable_outline(&mut self, enabled: bool) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn point_velocity_arrow_toward(&mut self, target_position: Vector) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn add_custom_arrow(&mut self, direction: Vector, color: [f32; 3], scale: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn clear_custom_arrows(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `outline_program` is never read
[INFO] [stdout]   --> src/render/scene_ui/renderer.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct SceneUIRenderer {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     outline_program: Program,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `render_outline` is never used
[INFO] [stdout]    --> src/render/scene_ui/renderer.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl SceneUIRenderer {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn render_outline<V: glium::vertex::Vertex>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `velocity`, `euler_angles`, `mesh_mut`, and `update_angular_acceleration` are never used
[INFO] [stdout]    --> src/physics/physicsobject.rs:60:8
[INFO] [stdout]     |
[INFO] [stdout]  42 | pub trait PhysicsObject {
[INFO] [stdout]     |           ------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout]  60 |     fn velocity(&self) -> Vector;
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     fn euler_angles(&self) -> &EulerAngles;
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     fn mesh_mut(&mut self) -> &mut Self::Mesh;
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn update_angular_acceleration(&mut self, torque: Vector, moment_of_inertia: f32) where Self: Sized {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G` is never used
[INFO] [stdout]  --> src/physics/physicsworld.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const G: f32 = (5) as f32;
[INFO] [stdout]   |       ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `color` is never read
[INFO] [stdout]   --> src/physics/physicsinterface.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct OrbitTrail {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49 |     color: [f32; 3],
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrbitTrail` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_position` is never used
[INFO] [stdout]   --> src/physics/physicsinterface.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl OrbitTrail {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn add_position(&mut self, position: Vector) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/ui/widgets/simulation_info.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct SimulationInfoWidget {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 10 |     pub elapsed_time: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 11 |     pub time: SimulationTime,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 12 |     pub body_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 13 |     pub average_velocity: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub total_mass: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 15 |     pub total_kinetic_energy: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub center_of_mass: Vector,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SimulationInfoWidget` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `update` are never used
[INFO] [stdout]   --> src/ui/widgets/simulation_info.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl SimulationInfoWidget {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 20 |     pub fn new(simulation: &dyn Simulation<Object = AstralBody>, time_control: SimulationTime) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn update(&mut self, simulation: &dyn Simulation<Object = AstralBody>, time_control: SimulationTime, delta_time: f32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_available_objects` is never used
[INFO] [stdout]   --> src/ui/widgets/force_manager.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ForceManagerWidget {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn update_available_objects(&mut self, objects: Vec<String>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TrailsWidget` is never constructed
[INFO] [stdout]  --> src/ui/widgets/trails.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TrailsWidget {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ui/widgets/trails.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl TrailsWidget {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlanetInfoPanel` is never constructed
[INFO] [stdout]  --> src/ui/widgets/planet_info_panel.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct PlanetInfoPanel {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlanetInfo` is never constructed
[INFO] [stdout]   --> src/ui/widgets/planet_info_panel.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct PlanetInfo {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ui/widgets/planet_info_panel.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl PlanetInfoPanel {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 19 |     pub fn new(planets: Vec<PlanetInfo>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `widgets` is never read
[INFO] [stdout]   --> src/ui/manager.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct WidgetManager {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 24 |     pub egui: EguiGlium,
[INFO] [stdout] 25 |     pub widgets: Vec<WidgetEnum>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Widget` is never used
[INFO] [stdout]   --> src/ui/manager.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub trait Widget: Clone {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `show` is never used
[INFO] [stdout]   --> src/ui/manager.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl WidgetEnum {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 57 |     pub fn show(&self, ctx: &EguiContext, ui: &mut  egui::Ui) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SpeedUp` and `SlowDown` are never constructed
[INFO] [stdout]   --> src/ui/control_requests.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum TimeControlCommand {
[INFO] [stdout]    |          ------------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     SpeedUp(f32),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 18 |     SlowDown(f32),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TimeControlCommand` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RemoveForce` is never constructed
[INFO] [stdout]   --> src/ui/control_requests.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum ForceCommand {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] 26 |     AddForce { target_object: String, force: Force },
[INFO] [stdout] 27 |     RemoveForce { target_object: String, force_id: usize },
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ForceCommand` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ToggleOrbitTrail`, `ClearAllTrails`, `SetTrailLength`, `ToggleVelocityVectors`, and `ToggleForceVectors` are never constructed
[INFO] [stdout]   --> src/ui/control_requests.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum VisualCommand {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 34 |     ToggleOrbitTrail { object_name: String, enabled: bool },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     ClearAllTrails,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     SetTrailLength(usize),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 39 |     ToggleVelocityVectors(bool),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     ToggleForceVectors(bool),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VisualCommand` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `toggle_debug_ray` is never used
[INFO] [stdout]   --> src/ui/hover_system.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl HoverSystem {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn toggle_debug_ray(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `astralBody` should have a snake case name
[INFO] [stdout]  --> src/simulation/orbital_simulation/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod astralBody;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `astral_body`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `WorldOrigin` should have a snake case name
[INFO] [stdout]   --> src/simulation/classic/classic_simulation.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub WorldOrigin: Vector,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `world_origin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.75s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: noise v0.7.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "54668ebdcd32ebd791cb9174e05498c1f5ed8db37371f1cc9fa1356e39479aeb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "54668ebdcd32ebd791cb9174e05498c1f5ed8db37371f1cc9fa1356e39479aeb", kill_on_drop: false }`
[INFO] [stdout] 54668ebdcd32ebd791cb9174e05498c1f5ed8db37371f1cc9fa1356e39479aeb
