[INFO] cloning repository https://github.com/Sen-Bishal/Helios
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Sen-Bishal/Helios" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSen-Bishal%2FHelios", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSen-Bishal%2FHelios'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 556f946f81961b8a7ecb96c5d8fff7aaac714585
[INFO] checking Sen-Bishal/Helios against try#a3a874232ae0a7586b5fbe7483c5a42e157bd62a for pr-151109
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSen-Bishal%2FHelios" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Sen-Bishal/Helios
[INFO] finished tweaking git repo https://github.com/Sen-Bishal/Helios
[INFO] tweaked toml for git repo https://github.com/Sen-Bishal/Helios written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Sen-Bishal/Helios on toolchain a3a874232ae0a7586b5fbe7483c5a42e157bd62a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Sen-Bishal/Helios 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" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fa391913fffca4f7899205ce81cf4fc75768e09807ab790bf1b160e3d2299ac3
[INFO] running `Command { std: "docker" "start" "-a" "fa391913fffca4f7899205ce81cf4fc75768e09807ab790bf1b160e3d2299ac3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fa391913fffca4f7899205ce81cf4fc75768e09807ab790bf1b160e3d2299ac3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fa391913fffca4f7899205ce81cf4fc75768e09807ab790bf1b160e3d2299ac3", kill_on_drop: false }`
[INFO] [stdout] fa391913fffca4f7899205ce81cf4fc75768e09807ab790bf1b160e3d2299ac3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 66f79e50edbf19c78c20ae4151793b4ca883806de66805f3ce0d0eafeaf695df
[INFO] running `Command { std: "docker" "start" "-a" "66f79e50edbf19c78c20ae4151793b4ca883806de66805f3ce0d0eafeaf695df", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.179
[INFO] [stderr]    Compiling zerocopy v0.8.32
[INFO] [stderr]     Checking rustix v1.1.3
[INFO] [stderr]    Compiling wayland-sys v0.31.8
[INFO] [stderr]    Compiling find-msvc-tools v0.1.6
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling toml_edit v0.23.10+spec-1.0.0
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling endi v1.1.1
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]    Compiling cc v1.2.51
[INFO] [stderr]     Checking async-executor v1.13.3
[INFO] [stderr]     Checking owned_ttf_parser v0.25.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling xml-rs v0.8.28
[INFO] [stderr]     Checking ab_glyph v0.2.32
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking accesskit v0.16.3
[INFO] [stderr]     Checking immutable-chunkmap v2.1.2
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling winit v0.30.12
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]     Checking async-lock v3.4.2
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]     Checking epaint_default_fonts v0.29.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]    Compiling zmij v1.0.12
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]    Compiling smithay-client-toolkit v0.20.0
[INFO] [stderr]     Checking accesskit_consumer v0.24.3
[INFO] [stderr]    Compiling glutin v0.32.3
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling erased-serde v0.4.9
[INFO] [stderr]    Compiling glutin-winit v0.5.0
[INFO] [stderr]     Checking async-fs v2.2.0
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling az v1.2.1
[INFO] [stderr]     Checking clap_builder v4.5.54
[INFO] [stderr]    Compiling uuid v1.12.1
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking png v0.18.0
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking web-time v1.1.0
[INFO] [stderr]     Checking bevy_ptr v0.15.3
[INFO] [stderr]    Compiling fixed v1.29.0
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]    Compiling wayland-backend v0.3.12
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking nix v0.29.0
[INFO] [stderr]     Checking xdg-home v1.3.0
[INFO] [stderr]     Checking memmap2 v0.9.9
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]    Compiling glutin_glx_sys v0.6.1
[INFO] [stderr]    Compiling glutin_egl_sys v0.7.1
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking bevy_tasks v0.15.3
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking clap v4.5.54
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]    Compiling zvariant_utils v2.1.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling bevy_macro_utils v0.15.3
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking async-io v2.6.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.32
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zvariant_derive v4.2.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling zbus_macros v4.4.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]     Checking wayland-client v0.31.12
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling bevy_utils_proc_macros v0.15.3
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]    Compiling bevy_reflect_derive v0.15.3
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling assert_type_match v0.1.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling bevy_ecs_macros v0.15.3
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]    Compiling nalgebra-macros v0.2.2
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking emath v0.29.1
[INFO] [stderr]     Checking wayland-protocols v0.32.10
[INFO] [stderr]     Checking wayland-cursor v0.31.12
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking calloop v0.14.3
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking ecolor v0.29.1
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking image v0.25.9
[INFO] [stderr]     Checking glam v0.29.3
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking wide v0.7.33
[INFO] [stderr]     Checking calloop-wayland-source v0.4.1
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking epaint v0.29.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking enumflags2 v0.7.12
[INFO] [stderr]     Checking quick-xml v0.30.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking zvariant v4.2.0
[INFO] [stderr]     Checking simba v0.9.1
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking egui v0.29.1
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking bevy_utils v0.15.3
[INFO] [stderr]     Checking bevy_reflect v0.15.3
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking webbrowser v1.0.6
[INFO] [stderr]     Checking zbus_names v3.0.0
[INFO] [stderr]     Checking zbus_xml v4.0.0
[INFO] [stderr]     Checking zbus v4.4.0
[INFO] [stderr]     Checking egui_glow v0.29.1
[INFO] [stderr]     Checking egui_plot v0.29.0
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.10
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.10
[INFO] [stderr]     Checking wayland-protocols-experimental v20250721.0.1
[INFO] [stderr]     Checking wayland-protocols-misc v0.3.10
[INFO] [stderr]     Checking zbus-lockstep v0.4.4
[INFO] [stderr]     Checking bevy_ecs v0.15.4
[INFO] [stderr]     Checking nalgebra v0.33.2
[INFO] [stderr]    Compiling zbus-lockstep-macros v0.4.4
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking smithay-clipboard v0.7.3
[INFO] [stderr]     Checking atspi-common v0.6.0
[INFO] [stderr]     Checking atspi-proxies v0.6.0
[INFO] [stderr]     Checking accesskit_atspi_common v0.9.3
[INFO] [stderr]     Checking atspi-connection v0.6.0
[INFO] [stderr]     Checking atspi v0.22.0
[INFO] [stderr]     Checking accesskit_unix v0.12.3
[INFO] [stderr]     Checking accesskit_winit v0.22.4
[INFO] [stderr]     Checking egui-winit v0.29.1
[INFO] [stderr]     Checking eframe v0.29.1
[INFO] [stderr]     Checking lithos v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::thermal::CoolingSystem`
[INFO] [stdout]  --> src/optics.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::thermal::CoolingSystem;
[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: `glam::Vec3`
[INFO] [stdout]  --> src/raytracing.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use glam::Vec3;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::units::Position3D`
[INFO] [stdout]  --> src/raytracing.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::units::Position3D;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `profiler::*`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use profiler::*;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::thermal::CoolingSystem`
[INFO] [stdout]  --> src/optics.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::thermal::CoolingSystem;
[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: `glam::Vec3`
[INFO] [stdout]  --> src/raytracing.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use glam::Vec3;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::units::Position3D`
[INFO] [stdout]  --> src/raytracing.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::units::Position3D;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `profiler::*`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use profiler::*;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/source.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity`
[INFO] [stdout]    --> src/source.rs:168:10
[INFO] [stdout]     |
[INFO] [stdout] 168 |     for (entity, pos, state) in droplets.iter() {
[INFO] [stdout]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `laser_entity`
[INFO] [stdout]   --> src/interactions.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 |     for (laser_entity, laser_pos, mut laser) in lasers.iter_mut() {
[INFO] [stdout]    |          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_laser_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/source.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/raytracing.rs:61:25
[INFO] [stdout]    |
[INFO] [stdout] 61 |     for (photon_entity, mut photon_pos, mut photon_vel, mut packet) in photons.iter_mut() {
[INFO] [stdout]    |                         ----^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity`
[INFO] [stdout]    --> src/source.rs:168:10
[INFO] [stdout]     |
[INFO] [stdout] 168 |     for (entity, pos, state) in droplets.iter() {
[INFO] [stdout]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `laser_entity`
[INFO] [stdout]   --> src/interactions.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 |     for (laser_entity, laser_pos, mut laser) in lasers.iter_mut() {
[INFO] [stdout]    |          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_laser_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/raytracing.rs:61:25
[INFO] [stdout]    |
[INFO] [stdout] 61 |     for (photon_entity, mut photon_pos, mut photon_vel, mut packet) in photons.iter_mut() {
[INFO] [stdout]    |                         ----^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PICOMETERS_PER_NANOMETER` is never used
[INFO] [stdout]   --> src/units.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const PICOMETERS_PER_NANOMETER: i128 = 1_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/units.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Distance {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub const fn from_picometers(pm: i128) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub const fn from_nanometers(nm: i128) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub const fn as_picometers(&self) -> i128 {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn as_nanometers_f64(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub const ONE_METER: Distance = Distance(PICOMETERS_PER_METER);
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 68 |     pub const ONE_NANOMETER: Distance = Distance(PICOMETERS_PER_NANOMETER);
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 69 |     #[inline]
[INFO] [stdout] 70 |     pub const fn abs(&self) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `zero`, and `speed` are never used
[INFO] [stdout]   --> src/components.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Velocity {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(x: f32, y: f32, z: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn zero() -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn speed(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/components.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Mass(pub f32);
[INFO] [stdout]    |            ---- ^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `Mass` 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: associated functions `from_grams` and `from_micrograms` are never used
[INFO] [stdout]   --> src/components.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Mass {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 27 |     pub fn from_grams(g: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn from_micrograms(ug: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Acceleration` is never constructed
[INFO] [stdout]   --> src/components.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct Acceleration(pub Vec3);
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `zero` and `from_g_force` are never used
[INFO] [stdout]   --> src/components.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl Acceleration {
[INFO] [stdout]    | ----------------- associated functions in this implementation
[INFO] [stdout] 59 |     pub fn zero() -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn from_g_force(g: f32, direction: Vec3) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Ray` is never constructed
[INFO] [stdout]   --> src/components.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub enum CollisionShape {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 70 |     Ray { origin: Position3D, direction: Vec3, length: Distance },
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CollisionShape` 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 `Photon`, `PhotonPacket`, `Mirror`, `WaferStage`, `ReticleStage`, and `Debris` are never constructed
[INFO] [stdout]   --> src/components.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub enum EntityType {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 75 |     TinDroplet,
[INFO] [stdout] 76 |     Photon,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 77 |     PhotonPacket { count: u64 }, 
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 78 |     Mirror,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 79 |     LaserBeam,
[INFO] [stdout] 80 |     WaferStage,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 81 |     ReticleStage,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 82 |     Debris,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EntityType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `interact` is never used
[INFO] [stdout]    --> src/components.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl OpticalMaterial {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn interact(&self, rng: &mut impl rand::Rng) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `frequency` is never read
[INFO] [stdout]   --> src/source.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct DropletGeneratorConfig {
[INFO] [stdout]    |            ---------------------- field in this struct
[INFO] [stdout] 28 |     /// Droplet generation frequency (Hz)
[INFO] [stdout] 29 |     pub frequency: f32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DropletGeneratorConfig` 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: fields `orientation` and `radius` are never read
[INFO] [stdout]   --> src/optics.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MirrorSurface {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 11 |     pub geometry: SurfaceGeometry,
[INFO] [stdout] 12 |     pub orientation: Quat,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 13 |     pub radius: Distance,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MirrorSurface` 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 `Ellipsoid` and `Planar` are never constructed
[INFO] [stdout]   --> src/optics.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum SurfaceGeometry {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 18 |     Ellipsoid {
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     Planar {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SurfaceGeometry` 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: associated items `ray_intersection`, `ray_sphere_intersection`, and `ray_plane_intersection` are never used
[INFO] [stdout]    --> src/optics.rs:55:12
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl SurfaceGeometry {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  55 |     pub fn ray_intersection(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     fn ray_sphere_intersection(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     fn ray_plane_intersection(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpticalSystemConfig` is never constructed
[INFO] [stdout]    --> src/optics.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct OpticalSystemConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CollectorMirrorSpec` is never constructed
[INFO] [stdout]    --> src/optics.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct CollectorMirrorSpec {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MirrorSpec` is never constructed
[INFO] [stdout]    --> src/optics.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct MirrorSpec {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_optical_system` is never used
[INFO] [stdout]    --> src/optics.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn spawn_optical_system(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `wavelength` is never read
[INFO] [stdout]   --> src/raytracing.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct PhotonPacket {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 10 |     pub photon_count: u64,
[INFO] [stdout] 11 |     pub wavelength: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PhotonPacket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `target_temperature` is never read
[INFO] [stdout]  --> src/thermal.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct CoolingSystem {
[INFO] [stdout]   |            ------------- field in this struct
[INFO] [stdout] 7 |     pub cooling_power: f32,
[INFO] [stdout] 8 |     pub target_temperature: f32,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `CoolingSystem` 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: associated function `passive_cooling` is never used
[INFO] [stdout]   --> src/thermal.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl CoolingSystem {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn passive_cooling() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `thermal_warning_system` is never used
[INFO] [stdout]   --> src/thermal.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn thermal_warning_system(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SystemTiming` is never constructed
[INFO] [stdout]  --> src/profiler.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct SystemTiming {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `record`, `avg_duration`, `avg_micros`, `total_micros`, and `percentage` are never used
[INFO] [stdout]   --> src/profiler.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl SystemTiming {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 14 |     pub fn new(name: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn record(&mut self, duration: Duration) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn avg_duration(&self) -> Duration {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn avg_micros(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn total_micros(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn percentage(&self, total: Duration) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Profiler` is never constructed
[INFO] [stdout]   --> src/profiler.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct Profiler {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start_frame`, `record_system`, `report`, and `reset` are never used
[INFO] [stdout]   --> src/profiler.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl Profiler {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 63 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn start_frame(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn record_system(&mut self, name: &str, duration: Duration) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn report(&self) -> ProfileReport {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProfileReport` is never constructed
[INFO] [stdout]    --> src/profiler.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct ProfileReport {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print` is never used
[INFO] [stdout]    --> src/profiler.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl ProfileReport {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 111 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScopedTimer` is never constructed
[INFO] [stdout]    --> src/profiler.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct ScopedTimer<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/profiler.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl<'a> ScopedTimer<'a> {
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] 155 |     pub fn new(profiler: &'a mut Profiler, system_name: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ONE_METER`, `ONE_NANOMETER`, and `abs` are never used
[INFO] [stdout]   --> src/units.rs:67:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Distance {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub const ONE_METER: Distance = Distance(PICOMETERS_PER_METER);
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 68 |     pub const ONE_NANOMETER: Distance = Distance(PICOMETERS_PER_NANOMETER);
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 69 |     #[inline]
[INFO] [stdout] 70 |     pub const fn abs(&self) -> 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: associated function `zero` is never used
[INFO] [stdout]   --> src/components.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Velocity {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn zero() -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/components.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Mass(pub f32);
[INFO] [stdout]    |            ---- ^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `Mass` 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: associated functions `from_grams` and `from_micrograms` are never used
[INFO] [stdout]   --> src/components.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Mass {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 27 |     pub fn from_grams(g: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn from_micrograms(ug: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Acceleration` is never constructed
[INFO] [stdout]   --> src/components.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct Acceleration(pub Vec3);
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `zero` and `from_g_force` are never used
[INFO] [stdout]   --> src/components.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl Acceleration {
[INFO] [stdout]    | ----------------- associated functions in this implementation
[INFO] [stdout] 59 |     pub fn zero() -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn from_g_force(g: f32, direction: Vec3) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Ray` is never constructed
[INFO] [stdout]   --> src/components.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub enum CollisionShape {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 70 |     Ray { origin: Position3D, direction: Vec3, length: Distance },
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CollisionShape` 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 `Photon`, `PhotonPacket`, `Mirror`, `WaferStage`, `ReticleStage`, and `Debris` are never constructed
[INFO] [stdout]   --> src/components.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub enum EntityType {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 75 |     TinDroplet,
[INFO] [stdout] 76 |     Photon,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 77 |     PhotonPacket { count: u64 }, 
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 78 |     Mirror,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 79 |     LaserBeam,
[INFO] [stdout] 80 |     WaferStage,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 81 |     ReticleStage,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 82 |     Debris,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EntityType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `interact` is never used
[INFO] [stdout]    --> src/components.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl OpticalMaterial {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn interact(&self, rng: &mut impl rand::Rng) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `orientation` and `radius` are never read
[INFO] [stdout]   --> src/optics.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MirrorSurface {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 11 |     pub geometry: SurfaceGeometry,
[INFO] [stdout] 12 |     pub orientation: Quat,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 13 |     pub radius: Distance,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MirrorSurface` 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 `Ellipsoid` and `Planar` are never constructed
[INFO] [stdout]   --> src/optics.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum SurfaceGeometry {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 18 |     Ellipsoid {
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     Planar {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SurfaceGeometry` 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: associated items `ray_intersection` and `ray_plane_intersection` are never used
[INFO] [stdout]    --> src/optics.rs:55:12
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl SurfaceGeometry {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  55 |     pub fn ray_intersection(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     fn ray_plane_intersection(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpticalSystemConfig` is never constructed
[INFO] [stdout]    --> src/optics.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct OpticalSystemConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CollectorMirrorSpec` is never constructed
[INFO] [stdout]    --> src/optics.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct CollectorMirrorSpec {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MirrorSpec` is never constructed
[INFO] [stdout]    --> src/optics.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct MirrorSpec {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_optical_system` is never used
[INFO] [stdout]    --> src/optics.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn spawn_optical_system(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `wavelength` is never read
[INFO] [stdout]   --> src/raytracing.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct PhotonPacket {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 10 |     pub photon_count: u64,
[INFO] [stdout] 11 |     pub wavelength: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PhotonPacket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `target_temperature` is never read
[INFO] [stdout]  --> src/thermal.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct CoolingSystem {
[INFO] [stdout]   |            ------------- field in this struct
[INFO] [stdout] 7 |     pub cooling_power: f32,
[INFO] [stdout] 8 |     pub target_temperature: f32,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `CoolingSystem` 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: associated function `passive_cooling` is never used
[INFO] [stdout]   --> src/thermal.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl CoolingSystem {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn passive_cooling() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `thermal_warning_system` is never used
[INFO] [stdout]   --> src/thermal.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn thermal_warning_system(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SystemTiming` is never constructed
[INFO] [stdout]  --> src/profiler.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct SystemTiming {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `record`, `avg_duration`, `avg_micros`, `total_micros`, and `percentage` are never used
[INFO] [stdout]   --> src/profiler.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl SystemTiming {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 14 |     pub fn new(name: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn record(&mut self, duration: Duration) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn avg_duration(&self) -> Duration {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn avg_micros(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn total_micros(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn percentage(&self, total: Duration) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Profiler` is never constructed
[INFO] [stdout]   --> src/profiler.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct Profiler {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start_frame`, `record_system`, `report`, and `reset` are never used
[INFO] [stdout]   --> src/profiler.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl Profiler {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 63 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn start_frame(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn record_system(&mut self, name: &str, duration: Duration) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn report(&self) -> ProfileReport {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProfileReport` is never constructed
[INFO] [stdout]    --> src/profiler.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct ProfileReport {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print` is never used
[INFO] [stdout]    --> src/profiler.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl ProfileReport {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 111 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScopedTimer` is never constructed
[INFO] [stdout]    --> src/profiler.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct ScopedTimer<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/profiler.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl<'a> ScopedTimer<'a> {
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] 155 |     pub fn new(profiler: &'a mut Profiler, system_name: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 16s
[INFO] running `Command { std: "docker" "inspect" "66f79e50edbf19c78c20ae4151793b4ca883806de66805f3ce0d0eafeaf695df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "66f79e50edbf19c78c20ae4151793b4ca883806de66805f3ce0d0eafeaf695df", kill_on_drop: false }`
[INFO] [stdout] 66f79e50edbf19c78c20ae4151793b4ca883806de66805f3ce0d0eafeaf695df
