[INFO] updating cached repository https://github.com/bumzack/rust-game-physics
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] ac412a5e040a7973660786c090b86364c625bfca
[INFO] checking bumzack/rust-game-physics against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbumzack%2Frust-game-physics" "/workspace/builds/worker-2/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/bumzack/rust-game-physics on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/bumzack/rust-game-physics
[INFO] finished tweaking git repo https://github.com/bumzack/rust-game-physics
[INFO] tweaked toml for git repo https://github.com/bumzack/rust-game-physics written to /workspace/builds/worker-2/source/Cargo.toml
[INFO] crate git repo https://github.com/bumzack/rust-game-physics already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 86d58b40bab69b93aedde8a6b036ec35b21210db633fd008ca466b45850f5abc
[INFO] running `"docker" "start" "-a" "86d58b40bab69b93aedde8a6b036ec35b21210db633fd008ca466b45850f5abc"`
[INFO] [stderr]     Checking rust-game-physics v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused import: `std::f32::MAX`
[INFO] [stderr]  --> src/collision/particle_cable_link.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::f32::MAX;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleContactOps`
[INFO] [stderr]  --> src/collision/particle_cable_link.rs:3:59
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::collision::particle_contact::{ParticleContact, ParticleContactOps};
[INFO] [stderr]   |                                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleContactsContainer`
[INFO] [stderr]  --> src/collision/particle_cable_link.rs:6:42
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::force::particle_force_types::{ParticleContactsContainer, ParticleIdx};
[INFO] [stderr]   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/collision/particle_cable_link.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::vector::Vector`
[INFO] [stderr]  --> src/collision/particle_cable_link.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::math::vector::Vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::particle::particle::Particle`
[INFO] [stderr]   --> src/collision/particle_cable_link.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::particle::particle::Particle;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/collision/particle_contact.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::particle::particle::Particle`
[INFO] [stderr]  --> src/collision/particle_contact.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::particle::particle::Particle;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/collision/particle_contact.rs:81:12
[INFO] [stderr]    |
[INFO] [stderr] 81 |         if (total_inverse_mass <= 0.0) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/collision/particle_contact.rs:130:12
[INFO] [stderr]     |
[INFO] [stderr] 130 |         if (total_inverse_mass <= 0.0) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleForceRegistryOps`
[INFO] [stderr]  --> src/collision/particle_contact_resolver.rs:4:68
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::force::particle_force_registry::{ParticleForceRegistry, ParticleForceRegistryOps};
[INFO] [stderr]   |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleIdx`
[INFO] [stderr]  --> src/collision/particle_contact_resolver.rs:5:69
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::force::particle_force_types::{ParticleContactsContainer, ParticleIdx};
[INFO] [stderr]   |                                                                     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/collision/particle_contact_resolver.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::vector::Vector`
[INFO] [stderr]  --> src/collision/particle_contact_resolver.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::math::vector::Vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::vector::VectorOps`
[INFO] [stderr]  --> src/collision/particle_contact_resolver.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::math::vector::VectorOps;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::particle::particle::Particle`
[INFO] [stderr]  --> src/collision/particle_contact_resolver.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::particle::particle::Particle;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::particle::particle::ParticleOps`
[INFO] [stderr]   --> src/collision/particle_contact_resolver.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::particle::particle::ParticleOps;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::f32::MAX`
[INFO] [stderr]  --> src/collision/particle_link.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::f32::MAX;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleContactOps`
[INFO] [stderr]  --> src/collision/particle_link.rs:5:59
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::collision::particle_contact::{ParticleContact, ParticleContactOps};
[INFO] [stderr]   |                                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleForceRegistryOps`
[INFO] [stderr]  --> src/collision/particle_link.rs:6:68
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::force::particle_force_registry::{ParticleForceRegistry, ParticleForceRegistryOps};
[INFO] [stderr]   |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ParticleContactsContainer`, `ParticleIdx`
[INFO] [stderr]  --> src/collision/particle_link.rs:7:42
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::force::particle_force_types::{ParticleContactsContainer, ParticleIdx};
[INFO] [stderr]   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/collision/particle_link.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::vector::Vector`
[INFO] [stderr]  --> src/collision/particle_link.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::math::vector::Vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::vector::VectorOps`
[INFO] [stderr]   --> src/collision/particle_link.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::math::vector::VectorOps;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::particle::particle::Particle`
[INFO] [stderr]   --> src/collision/particle_link.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::particle::particle::Particle;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::particle::particle::ParticleOps`
[INFO] [stderr]   --> src/collision/particle_link.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::particle::particle::ParticleOps;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::f32::MAX`
[INFO] [stderr]  --> src/collision/particle_rod.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::f32::MAX;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleContactOps`
[INFO] [stderr]  --> src/collision/particle_rod.rs:3:59
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::collision::particle_contact::{ParticleContact, ParticleContactOps};
[INFO] [stderr]   |                                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleContactsContainer`
[INFO] [stderr]  --> src/collision/particle_rod.rs:6:42
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::force::particle_force_types::{ParticleContactsContainer, ParticleIdx};
[INFO] [stderr]   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/collision/particle_rod.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::vector::Vector`
[INFO] [stderr]  --> src/collision/particle_rod.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::math::vector::Vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::particle::particle::Particle`
[INFO] [stderr]   --> src/collision/particle_rod.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::particle::particle::Particle;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::force::particle_force_generator::ParticleForceGeneratorOps`
[INFO] [stderr]  --> src/force/mod.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::force::particle_force_generator::ParticleForceGeneratorOps;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::particle::particle::Particle`
[INFO] [stderr]  --> src/force/mod.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::particle::particle::Particle;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ParticleForceRegistryOps`, `ParticleForceRegistry`
[INFO] [stderr]  --> src/force/particle_force_anchored_spring.rs:2:45
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::force::particle_force_registry::{ParticleForceRegistry, ParticleForceRegistryOps};
[INFO] [stderr]   |                                             ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/force/particle_force_anchored_spring.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ParticleForceRegistryOps`, `ParticleForceRegistry`
[INFO] [stderr]  --> src/force/particle_force_buoyancy_spring.rs:2:45
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::force::particle_force_registry::{ParticleForceRegistry, ParticleForceRegistryOps};
[INFO] [stderr]   |                                             ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleIdx`
[INFO] [stderr]  --> src/force/particle_force_buoyancy_spring.rs:3:61
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::force::particle_force_types::{ParticleContainer, ParticleIdx};
[INFO] [stderr]   |                                                             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/force/particle_force_buoyancy_spring.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::force::particle_force_registry::ParticleForceRegistry`
[INFO] [stderr]  --> src/force/particle_force_drag.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::force::particle_force_registry::ParticleForceRegistry;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/force/particle_force_drag.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ParticleForceRegistryOps`, `ParticleForceRegistry`
[INFO] [stderr]  --> src/force/particle_force_elastic_bungee_spring.rs:2:45
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::force::particle_force_registry::{ParticleForceRegistry, ParticleForceRegistryOps};
[INFO] [stderr]   |                                             ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/force/particle_force_elastic_bungee_spring.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ParticleForceRegistryOps`, `ParticleForceRegistry`
[INFO] [stderr]  --> src/force/particle_force_fake_spring.rs:2:45
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::force::particle_force_registry::{ParticleForceRegistry, ParticleForceRegistryOps};
[INFO] [stderr]   |                                             ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleIdx`
[INFO] [stderr]  --> src/force/particle_force_fake_spring.rs:3:61
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::force::particle_force_types::{ParticleContainer, ParticleIdx};
[INFO] [stderr]   |                                                             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/force/particle_force_fake_spring.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::force::particle_force_registry::ParticleForceRegistry`
[INFO] [stderr]  --> src/force/particle_force_generator.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::force::particle_force_registry::ParticleForceRegistry;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/force/particle_force_generator.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleOps`
[INFO] [stderr]  --> src/force/particle_force_generator.rs:4:43
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::particle::particle::{Particle, ParticleOps};
[INFO] [stderr]   |                                           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/force/particle_force_generator.rs:18:32
[INFO] [stderr]    |
[INFO] [stderr] 18 |     fn clone_box(&self) -> Box<ParticleForceGeneratorOps>;
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/force/particle_force_generator.rs:25:32
[INFO] [stderr]    |
[INFO] [stderr] 25 |     fn clone_box(&self) -> Box<ParticleForceGeneratorOps> {
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/force/particle_force_generator.rs:31:20
[INFO] [stderr]    |
[INFO] [stderr] 31 | impl Clone for Box<ParticleForceGeneratorOps> {
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/force/particle_force_generator.rs:32:28
[INFO] [stderr]    |
[INFO] [stderr] 32 |     fn clone(&self) -> Box<ParticleForceGeneratorOps> {
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::force::particle_force_registry::ParticleForceRegistry`
[INFO] [stderr]  --> src/force/particle_force_gravity.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::force::particle_force_registry::ParticleForceRegistry;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/force/particle_force_gravity.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/force/particle_force_registry.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/force/particle_force_registry.rs:24:16
[INFO] [stderr]    |
[INFO] [stderr] 24 |         g: Box<ParticleForceGeneratorOps>,
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/force/particle_force_registry.rs:41:11
[INFO] [stderr]    |
[INFO] [stderr] 41 |     ) -> &ParticleForceGeneratorOps;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/force/particle_force_registry.rs:46:15
[INFO] [stderr]    |
[INFO] [stderr] 46 |     ) -> &mut ParticleForceGeneratorOps;
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/force/particle_force_registry.rs:59:16
[INFO] [stderr]    |
[INFO] [stderr] 59 |         g: Box<ParticleForceGeneratorOps>,
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/force/particle_force_registry.rs:118:11
[INFO] [stderr]     |
[INFO] [stderr] 118 |     ) -> &ParticleForceGeneratorOps {
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/force/particle_force_registry.rs:123:73
[INFO] [stderr]     |
[INFO] [stderr] 123 |     fn get_particle_force_generators_mut(&mut self, idx: usize) -> &mut ParticleForceGeneratorOps {
[INFO] [stderr]     |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ParticleForceRegistryOps`, `ParticleForceRegistry`
[INFO] [stderr]  --> src/force/particle_force_spring.rs:2:45
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::force::particle_force_registry::{ParticleForceRegistry, ParticleForceRegistryOps};
[INFO] [stderr]   |                                             ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/force/particle_force_spring.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/force/particle_force_types.rs:8:62
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub(crate) type ParticleForceGeneratorOpsContainer = Vec<Box<ParticleForceGeneratorOps>>;
[INFO] [stderr]   |                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `assert_float`, `assert_matrix`, `assert_vector`
[INFO] [stderr]  --> src/math/matrix.rs:5:27
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::math::common::{assert_float, assert_matrix, assert_two_float, assert_vector};
[INFO] [stderr]   |                           ^^^^^^^^^^^^  ^^^^^^^^^^^^^                    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `PI`, `SQRT_2`
[INFO] [stderr]  --> src/math/matrix.rs:8:24
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::f32::consts::{PI, SQRT_2};
[INFO] [stderr]   |                        ^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::f32::consts::SQRT_2`
[INFO] [stderr]  --> src/math/vector.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::f32::consts::SQRT_2;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `assert_float`, `assert_vector`
[INFO] [stderr]  --> src/math/vector.rs:8:27
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::math::common::{assert_float, assert_vector};
[INFO] [stderr]   |                           ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/particle/particle.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::f32::MAX`
[INFO] [stderr]  --> src/collision/particle_cable_link.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::f32::MAX;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleContactOps`
[INFO] [stderr]  --> src/collision/particle_cable_link.rs:3:59
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::collision::particle_contact::{ParticleContact, ParticleContactOps};
[INFO] [stderr]   |                                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleContactsContainer`
[INFO] [stderr]  --> src/collision/particle_cable_link.rs:6:42
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::force::particle_force_types::{ParticleContactsContainer, ParticleIdx};
[INFO] [stderr]   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/collision/particle_cable_link.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::vector::Vector`
[INFO] [stderr]  --> src/collision/particle_cable_link.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::math::vector::Vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::particle::particle::Particle`
[INFO] [stderr]   --> src/collision/particle_cable_link.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::particle::particle::Particle;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/collision/particle_contact.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::particle::particle::Particle`
[INFO] [stderr]  --> src/collision/particle_contact.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::particle::particle::Particle;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/collision/particle_contact.rs:81:12
[INFO] [stderr]    |
[INFO] [stderr] 81 |         if (total_inverse_mass <= 0.0) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/collision/particle_contact.rs:130:12
[INFO] [stderr]     |
[INFO] [stderr] 130 |         if (total_inverse_mass <= 0.0) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleForceRegistryOps`
[INFO] [stderr]  --> src/collision/particle_contact_resolver.rs:4:68
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::force::particle_force_registry::{ParticleForceRegistry, ParticleForceRegistryOps};
[INFO] [stderr]   |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleIdx`
[INFO] [stderr]  --> src/collision/particle_contact_resolver.rs:5:69
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::force::particle_force_types::{ParticleContactsContainer, ParticleIdx};
[INFO] [stderr]   |                                                                     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/collision/particle_contact_resolver.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::vector::Vector`
[INFO] [stderr]  --> src/collision/particle_contact_resolver.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::math::vector::Vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::vector::VectorOps`
[INFO] [stderr]  --> src/collision/particle_contact_resolver.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::math::vector::VectorOps;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::particle::particle::Particle`
[INFO] [stderr]  --> src/collision/particle_contact_resolver.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::particle::particle::Particle;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::particle::particle::ParticleOps`
[INFO] [stderr]   --> src/collision/particle_contact_resolver.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::particle::particle::ParticleOps;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::f32::MAX`
[INFO] [stderr]  --> src/collision/particle_link.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::f32::MAX;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleContactOps`
[INFO] [stderr]  --> src/collision/particle_link.rs:5:59
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::collision::particle_contact::{ParticleContact, ParticleContactOps};
[INFO] [stderr]   |                                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleForceRegistryOps`
[INFO] [stderr]  --> src/collision/particle_link.rs:6:68
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::force::particle_force_registry::{ParticleForceRegistry, ParticleForceRegistryOps};
[INFO] [stderr]   |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ParticleContactsContainer`, `ParticleIdx`
[INFO] [stderr]  --> src/collision/particle_link.rs:7:42
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::force::particle_force_types::{ParticleContactsContainer, ParticleIdx};
[INFO] [stderr]   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/collision/particle_link.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::vector::Vector`
[INFO] [stderr]  --> src/collision/particle_link.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::math::vector::Vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::vector::VectorOps`
[INFO] [stderr]   --> src/collision/particle_link.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::math::vector::VectorOps;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::particle::particle::Particle`
[INFO] [stderr]   --> src/collision/particle_link.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::particle::particle::Particle;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::particle::particle::ParticleOps`
[INFO] [stderr]   --> src/collision/particle_link.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::particle::particle::ParticleOps;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::f32::MAX`
[INFO] [stderr]  --> src/collision/particle_rod.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::f32::MAX;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleContactOps`
[INFO] [stderr]  --> src/collision/particle_rod.rs:3:59
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::collision::particle_contact::{ParticleContact, ParticleContactOps};
[INFO] [stderr]   |                                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleContactsContainer`
[INFO] [stderr]  --> src/collision/particle_rod.rs:6:42
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::force::particle_force_types::{ParticleContactsContainer, ParticleIdx};
[INFO] [stderr]   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/collision/particle_rod.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::vector::Vector`
[INFO] [stderr]  --> src/collision/particle_rod.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::math::vector::Vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::particle::particle::Particle`
[INFO] [stderr]   --> src/collision/particle_rod.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::particle::particle::Particle;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::force::particle_force_generator::ParticleForceGeneratorOps`
[INFO] [stderr]  --> src/force/mod.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::force::particle_force_generator::ParticleForceGeneratorOps;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::particle::particle::Particle`
[INFO] [stderr]  --> src/force/mod.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::particle::particle::Particle;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ParticleForceRegistryOps`, `ParticleForceRegistry`
[INFO] [stderr]  --> src/force/particle_force_anchored_spring.rs:2:45
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::force::particle_force_registry::{ParticleForceRegistry, ParticleForceRegistryOps};
[INFO] [stderr]   |                                             ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/force/particle_force_anchored_spring.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ParticleForceRegistryOps`, `ParticleForceRegistry`
[INFO] [stderr]  --> src/force/particle_force_buoyancy_spring.rs:2:45
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::force::particle_force_registry::{ParticleForceRegistry, ParticleForceRegistryOps};
[INFO] [stderr]   |                                             ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleIdx`
[INFO] [stderr]  --> src/force/particle_force_buoyancy_spring.rs:3:61
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::force::particle_force_types::{ParticleContainer, ParticleIdx};
[INFO] [stderr]   |                                                             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/force/particle_force_buoyancy_spring.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::force::particle_force_registry::ParticleForceRegistry`
[INFO] [stderr]  --> src/force/particle_force_drag.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::force::particle_force_registry::ParticleForceRegistry;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/force/particle_force_drag.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ParticleForceRegistryOps`, `ParticleForceRegistry`
[INFO] [stderr]  --> src/force/particle_force_elastic_bungee_spring.rs:2:45
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::force::particle_force_registry::{ParticleForceRegistry, ParticleForceRegistryOps};
[INFO] [stderr]   |                                             ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/force/particle_force_elastic_bungee_spring.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ParticleForceRegistryOps`, `ParticleForceRegistry`
[INFO] [stderr]  --> src/force/particle_force_fake_spring.rs:2:45
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::force::particle_force_registry::{ParticleForceRegistry, ParticleForceRegistryOps};
[INFO] [stderr]   |                                             ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleIdx`
[INFO] [stderr]  --> src/force/particle_force_fake_spring.rs:3:61
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::force::particle_force_types::{ParticleContainer, ParticleIdx};
[INFO] [stderr]   |                                                             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/force/particle_force_fake_spring.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::force::particle_force_registry::ParticleForceRegistry`
[INFO] [stderr]  --> src/force/particle_force_generator.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::force::particle_force_registry::ParticleForceRegistry;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/force/particle_force_generator.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParticleOps`
[INFO] [stderr]  --> src/force/particle_force_generator.rs:4:43
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::particle::particle::{Particle, ParticleOps};
[INFO] [stderr]   |                                           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/force/particle_force_generator.rs:18:32
[INFO] [stderr]    |
[INFO] [stderr] 18 |     fn clone_box(&self) -> Box<ParticleForceGeneratorOps>;
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/force/particle_force_generator.rs:25:32
[INFO] [stderr]    |
[INFO] [stderr] 25 |     fn clone_box(&self) -> Box<ParticleForceGeneratorOps> {
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/force/particle_force_generator.rs:31:20
[INFO] [stderr]    |
[INFO] [stderr] 31 | impl Clone for Box<ParticleForceGeneratorOps> {
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/force/particle_force_generator.rs:32:28
[INFO] [stderr]    |
[INFO] [stderr] 32 |     fn clone(&self) -> Box<ParticleForceGeneratorOps> {
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::force::particle_force_registry::ParticleForceRegistry`
[INFO] [stderr]  --> src/force/particle_force_gravity.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::force::particle_force_registry::ParticleForceRegistry;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/force/particle_force_gravity.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/force/particle_force_registry.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/force/particle_force_registry.rs:24:16
[INFO] [stderr]    |
[INFO] [stderr] 24 |         g: Box<ParticleForceGeneratorOps>,
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/force/particle_force_registry.rs:41:11
[INFO] [stderr]    |
[INFO] [stderr] 41 |     ) -> &ParticleForceGeneratorOps;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/force/particle_force_registry.rs:46:15
[INFO] [stderr]    |
[INFO] [stderr] 46 |     ) -> &mut ParticleForceGeneratorOps;
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/force/particle_force_registry.rs:59:16
[INFO] [stderr]    |
[INFO] [stderr] 59 |         g: Box<ParticleForceGeneratorOps>,
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/force/particle_force_registry.rs:118:11
[INFO] [stderr]     |
[INFO] [stderr] 118 |     ) -> &ParticleForceGeneratorOps {
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/force/particle_force_registry.rs:123:73
[INFO] [stderr]     |
[INFO] [stderr] 123 |     fn get_particle_force_generators_mut(&mut self, idx: usize) -> &mut ParticleForceGeneratorOps {
[INFO] [stderr]     |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ParticleForceRegistryOps`, `ParticleForceRegistry`
[INFO] [stderr]  --> src/force/particle_force_spring.rs:2:45
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::force::particle_force_registry::{ParticleForceRegistry, ParticleForceRegistryOps};
[INFO] [stderr]   |                                             ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/force/particle_force_spring.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/force/particle_force_types.rs:8:62
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub(crate) type ParticleForceGeneratorOpsContainer = Vec<Box<ParticleForceGeneratorOps>>;
[INFO] [stderr]   |                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ParticleForceGeneratorOps`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::math::common::assert_vector`
[INFO] [stderr]  --> src/particle/particle.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::math::common::assert_vector;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `limit`
[INFO] [stderr]   --> src/collision/particle_cable_link.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |         limit: usize,
[INFO] [stderr]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `impulse_per_mass`
[INFO] [stderr]   --> src/collision/particle_contact.rs:89:13
[INFO] [stderr]    |
[INFO] [stderr] 89 |         let impulse_per_mass = &self.contact_normal * impulse;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_impulse_per_mass`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `particle_movement1`
[INFO] [stderr]    --> src/collision/particle_contact.rs:143:13
[INFO] [stderr]     |
[INFO] [stderr] 143 |         let particle_movement1 = Vector::new_vector(0.0, 0.0, 0.0);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_particle_movement1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `duration`
[INFO] [stderr]    --> src/collision/particle_contact.rs:122:44
[INFO] [stderr]     |
[INFO] [stderr] 122 |     fn resolve_interpenetration(&mut self, duration: f32, registry: &mut ParticleForceRegistry) {
[INFO] [stderr]     |                                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `limit`
[INFO] [stderr]   --> src/collision/particle_rod.rs:31:9
[INFO] [stderr]    |
[INFO] [stderr] 31 |         limit: usize,
[INFO] [stderr]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `all_particles`
[INFO] [stderr]   --> src/force/particle_force_anchored_spring.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |         all_particles: &ParticleContainer,
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_particles`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `all_particles`
[INFO] [stderr]   --> src/force/particle_force_buoyancy_spring.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 22 |         all_particles: &ParticleContainer,
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_particles`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `duration`
[INFO] [stderr]   --> src/force/particle_force_drag.rs:20:9
[INFO] [stderr]    |
[INFO] [stderr] 20 |         duration: f32,
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `all_particles`
[INFO] [stderr]   --> src/force/particle_force_drag.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |         all_particles: &ParticleContainer,
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_particles`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `all_particles`
[INFO] [stderr]   --> src/force/particle_force_fake_spring.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |         all_particles: &ParticleContainer,
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_particles`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `duration`
[INFO] [stderr]   --> src/force/particle_force_gravity.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 18 |         duration: f32,
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `all_particles`
[INFO] [stderr]   --> src/force/particle_force_gravity.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 19 |         all_particles: &ParticleContainer,
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_particles`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/collision/particle_contact.rs:67:13
[INFO] [stderr]    |
[INFO] [stderr] 67 |         let mut acc_caused_sep_velocity = (acc_caused_velocity ^ self.contact_normal) * duration;
[INFO] [stderr]    |             ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `EPSILON` should have a snake case name
[INFO] [stderr]   --> src/math/common.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |     let EPSILON = 0.00001;
[INFO] [stderr]    |         ^^^^^^^ help: convert the identifier to snake case: `epsilon`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `limit`
[INFO] [stderr]   --> src/collision/particle_cable_link.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |         limit: usize,
[INFO] [stderr]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `impulse_per_mass`
[INFO] [stderr]   --> src/collision/particle_contact.rs:89:13
[INFO] [stderr]    |
[INFO] [stderr] 89 |         let impulse_per_mass = &self.contact_normal * impulse;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_impulse_per_mass`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `particle_movement1`
[INFO] [stderr]    --> src/collision/particle_contact.rs:143:13
[INFO] [stderr]     |
[INFO] [stderr] 143 |         let particle_movement1 = Vector::new_vector(0.0, 0.0, 0.0);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_particle_movement1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `duration`
[INFO] [stderr]    --> src/collision/particle_contact.rs:122:44
[INFO] [stderr]     |
[INFO] [stderr] 122 |     fn resolve_interpenetration(&mut self, duration: f32, registry: &mut ParticleForceRegistry) {
[INFO] [stderr]     |                                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `limit`
[INFO] [stderr]   --> src/collision/particle_rod.rs:31:9
[INFO] [stderr]    |
[INFO] [stderr] 31 |         limit: usize,
[INFO] [stderr]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `all_particles`
[INFO] [stderr]   --> src/force/particle_force_anchored_spring.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |         all_particles: &ParticleContainer,
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_particles`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `all_particles`
[INFO] [stderr]   --> src/force/particle_force_buoyancy_spring.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 22 |         all_particles: &ParticleContainer,
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_particles`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `duration`
[INFO] [stderr]   --> src/force/particle_force_drag.rs:20:9
[INFO] [stderr]    |
[INFO] [stderr] 20 |         duration: f32,
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `all_particles`
[INFO] [stderr]   --> src/force/particle_force_drag.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |         all_particles: &ParticleContainer,
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_particles`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `all_particles`
[INFO] [stderr]   --> src/force/particle_force_fake_spring.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |         all_particles: &ParticleContainer,
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_particles`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `duration`
[INFO] [stderr]   --> src/force/particle_force_gravity.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 18 |         duration: f32,
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `all_particles`
[INFO] [stderr]   --> src/force/particle_force_gravity.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 19 |         all_particles: &ParticleContainer,
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_particles`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `velocity_initial_expected`
[INFO] [stderr]    --> src/particle/particle.rs:182:9
[INFO] [stderr]     |
[INFO] [stderr] 182 |     let velocity_initial_expected = Vector::new_vector(0.0, 0.0, 0.0);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_velocity_initial_expected`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `velocity_after_integration_expected`
[INFO] [stderr]    --> src/particle/particle.rs:183:9
[INFO] [stderr]     |
[INFO] [stderr] 183 |     let velocity_after_integration_expected = Vector::new_vector(1.0, 1.0, 1.0);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_velocity_after_integration_expected`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `p`
[INFO] [stderr]    --> src/particle/particle.rs:185:13
[INFO] [stderr]     |
[INFO] [stderr] 185 |     let mut p = Particle::new();
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/collision/particle_contact.rs:67:13
[INFO] [stderr]    |
[INFO] [stderr] 67 |         let mut acc_caused_sep_velocity = (acc_caused_velocity ^ self.contact_normal) * duration;
[INFO] [stderr]    |             ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/particle/particle.rs:185:9
[INFO] [stderr]     |
[INFO] [stderr] 185 |     let mut p = Particle::new();
[INFO] [stderr]     |         ----^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_anchored_spring::ParticleForceAnchoredSpring`
[INFO] [stderr]  --> examples/particle_force_generator05_buoyancy_spring.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use rust_game_physics::force::particle_force_anchored_spring::ParticleForceAnchoredSpring;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_drag::ParticleForceDrag`
[INFO] [stderr]  --> examples/particle_force_generator05_buoyancy_spring.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rust_game_physics::force::particle_force_drag::ParticleForceDrag;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_elastic_bungee_spring::ParticleForceElasticBungeeSpring`
[INFO] [stderr]  --> examples/particle_force_generator05_buoyancy_spring.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use rust_game_physics::force::particle_force_elastic_bungee_spring::ParticleForceElasticBungeeSpring;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_generator::ParticleForceGeneratorOps`
[INFO] [stderr]  --> examples/particle_force_generator05_buoyancy_spring.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use rust_game_physics::force::particle_force_generator::ParticleForceGeneratorOps;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_gravity::ParticleForceGravity`
[INFO] [stderr]  --> examples/particle_force_generator05_buoyancy_spring.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use rust_game_physics::force::particle_force_gravity::ParticleForceGravity;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_spring::ParticleForceSpring`
[INFO] [stderr]   --> examples/particle_force_generator05_buoyancy_spring.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use rust_game_physics::force::particle_force_spring::ParticleForceSpring;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_anchored_spring::ParticleForceAnchoredSpring`
[INFO] [stderr]  --> examples/particle_force_generator06_fake_spring.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use rust_game_physics::force::particle_force_anchored_spring::ParticleForceAnchoredSpring;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_buoyancy_spring::ParticleForceBuoyancySpring`
[INFO] [stderr]  --> examples/particle_force_generator06_fake_spring.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rust_game_physics::force::particle_force_buoyancy_spring::ParticleForceBuoyancySpring;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_drag::ParticleForceDrag`
[INFO] [stderr]  --> examples/particle_force_generator06_fake_spring.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rust_game_physics::force::particle_force_drag::ParticleForceDrag;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_elastic_bungee_spring::ParticleForceElasticBungeeSpring`
[INFO] [stderr]  --> examples/particle_force_generator06_fake_spring.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use rust_game_physics::force::particle_force_elastic_bungee_spring::ParticleForceElasticBungeeSpring;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_generator::ParticleForceGeneratorOps`
[INFO] [stderr]  --> examples/particle_force_generator06_fake_spring.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use rust_game_physics::force::particle_force_generator::ParticleForceGeneratorOps;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_gravity::ParticleForceGravity`
[INFO] [stderr]  --> examples/particle_force_generator06_fake_spring.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use rust_game_physics::force::particle_force_gravity::ParticleForceGravity;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_spring::ParticleForceSpring`
[INFO] [stderr]   --> examples/particle_force_generator06_fake_spring.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use rust_game_physics::force::particle_force_spring::ParticleForceSpring;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable `EPSILON` should have a snake case name
[INFO] [stderr]   --> src/math/common.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |     let EPSILON = 0.00001;
[INFO] [stderr]    |         ^^^^^^^ help: convert the identifier to snake case: `epsilon`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_anchored_spring::ParticleForceAnchoredSpring`
[INFO] [stderr]  --> examples/particle_contact_resolver_01.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use rust_game_physics::force::particle_force_anchored_spring::ParticleForceAnchoredSpring;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_buoyancy_spring::ParticleForceBuoyancySpring`
[INFO] [stderr]  --> examples/particle_contact_resolver_01.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use rust_game_physics::force::particle_force_buoyancy_spring::ParticleForceBuoyancySpring;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_drag::ParticleForceDrag`
[INFO] [stderr]  --> examples/particle_contact_resolver_01.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use rust_game_physics::force::particle_force_drag::ParticleForceDrag;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_elastic_bungee_spring::ParticleForceElasticBungeeSpring`
[INFO] [stderr]  --> examples/particle_contact_resolver_01.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use rust_game_physics::force::particle_force_elastic_bungee_spring::ParticleForceElasticBungeeSpring;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_generator::ParticleForceGeneratorOps`
[INFO] [stderr]   --> examples/particle_contact_resolver_01.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use rust_game_physics::force::particle_force_generator::ParticleForceGeneratorOps;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_gravity::ParticleForceGravity`
[INFO] [stderr]   --> examples/particle_contact_resolver_01.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use rust_game_physics::force::particle_force_gravity::ParticleForceGravity;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_spring::ParticleForceSpring`
[INFO] [stderr]   --> examples/particle_contact_resolver_01.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use rust_game_physics::force::particle_force_spring::ParticleForceSpring;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_drag::ParticleForceDrag`
[INFO] [stderr]  --> examples/particle_force_generator03_anchor_spring.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rust_game_physics::force::particle_force_drag::ParticleForceDrag;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_generator::ParticleForceGeneratorOps`
[INFO] [stderr]  --> examples/particle_force_generator03_anchor_spring.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rust_game_physics::force::particle_force_generator::ParticleForceGeneratorOps;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_gravity::ParticleForceGravity`
[INFO] [stderr]  --> examples/particle_force_generator03_anchor_spring.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use rust_game_physics::force::particle_force_gravity::ParticleForceGravity;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_spring::ParticleForceSpring`
[INFO] [stderr]  --> examples/particle_force_generator03_anchor_spring.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use rust_game_physics::force::particle_force_spring::ParticleForceSpring;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `anchor`
[INFO] [stderr]   --> examples/particle_force_generator05_buoyancy_spring.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 19 |     let anchor = Vector::new_point(10.0, 10.0, 10.0);
[INFO] [stderr]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_anchor`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v2`
[INFO] [stderr]   --> examples/particle_contact_resolver_01.rs:37:9
[INFO] [stderr]    |
[INFO] [stderr] 37 |     let v2 = Vector::new_vector(-1.0, -2.0, -3.0);
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_v2`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_anchored_spring::ParticleForceAnchoredSpring`
[INFO] [stderr]  --> examples/particle_force_generator04_elastic_bungee_spring.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use rust_game_physics::force::particle_force_anchored_spring::ParticleForceAnchoredSpring;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_drag::ParticleForceDrag`
[INFO] [stderr]  --> examples/particle_force_generator04_elastic_bungee_spring.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rust_game_physics::force::particle_force_drag::ParticleForceDrag;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_generator::ParticleForceGeneratorOps`
[INFO] [stderr]  --> examples/particle_force_generator04_elastic_bungee_spring.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use rust_game_physics::force::particle_force_generator::ParticleForceGeneratorOps;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_gravity::ParticleForceGravity`
[INFO] [stderr]  --> examples/particle_force_generator04_elastic_bungee_spring.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use rust_game_physics::force::particle_force_gravity::ParticleForceGravity;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_spring::ParticleForceSpring`
[INFO] [stderr]  --> examples/particle_force_generator04_elastic_bungee_spring.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use rust_game_physics::force::particle_force_spring::ParticleForceSpring;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_anchored_spring::ParticleForceAnchoredSpring`
[INFO] [stderr]  --> examples/particle_cable_link_01.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use rust_game_physics::force::particle_force_anchored_spring::ParticleForceAnchoredSpring;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_buoyancy_spring::ParticleForceBuoyancySpring`
[INFO] [stderr]  --> examples/particle_cable_link_01.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use rust_game_physics::force::particle_force_buoyancy_spring::ParticleForceBuoyancySpring;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_drag::ParticleForceDrag`
[INFO] [stderr]  --> examples/particle_cable_link_01.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use rust_game_physics::force::particle_force_drag::ParticleForceDrag;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_elastic_bungee_spring::ParticleForceElasticBungeeSpring`
[INFO] [stderr]   --> examples/particle_cable_link_01.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use rust_game_physics::force::particle_force_elastic_bungee_spring::ParticleForceElasticBungeeSpring;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_generator::ParticleForceGeneratorOps`
[INFO] [stderr]   --> examples/particle_cable_link_01.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use rust_game_physics::force::particle_force_generator::ParticleForceGeneratorOps;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_gravity::ParticleForceGravity`
[INFO] [stderr]   --> examples/particle_cable_link_01.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use rust_game_physics::force::particle_force_gravity::ParticleForceGravity;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_spring::ParticleForceSpring`
[INFO] [stderr]   --> examples/particle_cable_link_01.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use rust_game_physics::force::particle_force_spring::ParticleForceSpring;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v2`
[INFO] [stderr]   --> examples/particle_cable_link_01.rs:39:9
[INFO] [stderr]    |
[INFO] [stderr] 39 |     let v2 = Vector::new_vector(-1.0, -2.0, -3.0);
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_v2`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `set` found for struct `rust_game_physics::force::particle_force_elastic_bungee_spring::ParticleForceElasticBungeeSpring` in the current scope
[INFO] [stderr]   --> examples/particle_force_generator04_elastic_bungee_spring.rs:21:10
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pfg1.set(9.0);
[INFO] [stderr]    |          ^^^ method not found in `rust_game_physics::force::particle_force_elastic_bungee_spring::ParticleForceElasticBungeeSpring`
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0599`.
[INFO] [stderr] error: could not compile `rust-game-physics`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_drag::ParticleForceDrag`
[INFO] [stderr]  --> examples/particle_force_generator02_spring.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use rust_game_physics::force::particle_force_drag::ParticleForceDrag;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_generator::ParticleForceGeneratorOps`
[INFO] [stderr]  --> examples/particle_force_generator02_spring.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rust_game_physics::force::particle_force_generator::ParticleForceGeneratorOps;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_gravity::ParticleForceGravity`
[INFO] [stderr]  --> examples/particle_force_generator02_spring.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rust_game_physics::force::particle_force_gravity::ParticleForceGravity;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_anchored_spring::ParticleForceAnchoredSpring`
[INFO] [stderr]  --> examples/particle_contact01.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rust_game_physics::force::particle_force_anchored_spring::ParticleForceAnchoredSpring;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_buoyancy_spring::ParticleForceBuoyancySpring`
[INFO] [stderr]  --> examples/particle_contact01.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rust_game_physics::force::particle_force_buoyancy_spring::ParticleForceBuoyancySpring;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_drag::ParticleForceDrag`
[INFO] [stderr]  --> examples/particle_contact01.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use rust_game_physics::force::particle_force_drag::ParticleForceDrag;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_elastic_bungee_spring::ParticleForceElasticBungeeSpring`
[INFO] [stderr]  --> examples/particle_contact01.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use rust_game_physics::force::particle_force_elastic_bungee_spring::ParticleForceElasticBungeeSpring;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_generator::ParticleForceGeneratorOps`
[INFO] [stderr]  --> examples/particle_contact01.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use rust_game_physics::force::particle_force_generator::ParticleForceGeneratorOps;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_gravity::ParticleForceGravity`
[INFO] [stderr]  --> examples/particle_contact01.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use rust_game_physics::force::particle_force_gravity::ParticleForceGravity;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_spring::ParticleForceSpring`
[INFO] [stderr]   --> examples/particle_contact01.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use rust_game_physics::force::particle_force_spring::ParticleForceSpring;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_game_physics::force::particle_force_generator::ParticleForceGeneratorOps`
[INFO] [stderr]  --> examples/particle_force_generator01.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rust_game_physics::force::particle_force_generator::ParticleForceGeneratorOps;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `resolve` found for struct `rust_game_physics::collision::particle_contact::ParticleContact` in the current scope
[INFO] [stderr]   --> examples/particle_contact01.rs:96:8
[INFO] [stderr]    |
[INFO] [stderr] 96 |     pc.resolve(2.0, &mut registry);
[INFO] [stderr]    |        ^^^^^^^ method not found in `rust_game_physics::collision::particle_contact::ParticleContact`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: /opt/rustwide/workdir/src/collision/particle_contact.rs:18:8
[INFO] [stderr]    |
[INFO] [stderr] 18 |     fn resolve(&mut self, duration: f32, registry: &mut ParticleForceRegistry);
[INFO] [stderr]    |        -------
[INFO] [stderr]    |        |
[INFO] [stderr]    |        the method is available for `std::boxed::Box<rust_game_physics::collision::particle_contact::ParticleContact>` here
[INFO] [stderr]    |        the method is available for `std::sync::Arc<rust_game_physics::collision::particle_contact::ParticleContact>` here
[INFO] [stderr]    |        the method is available for `std::rc::Rc<rust_game_physics::collision::particle_contact::ParticleContact>` here
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is in scope
[INFO] [stderr] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stderr]    |
[INFO] [stderr] 1  | use rust_game_physics::collision::particle_contact::ParticleContactOps;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0599`.
[INFO] [stderr] error: could not compile `rust-game-physics`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: build failed
[INFO] running `"docker" "inspect" "86d58b40bab69b93aedde8a6b036ec35b21210db633fd008ca466b45850f5abc"`
[INFO] running `"docker" "rm" "-f" "86d58b40bab69b93aedde8a6b036ec35b21210db633fd008ca466b45850f5abc"`
[INFO] [stdout] 86d58b40bab69b93aedde8a6b036ec35b21210db633fd008ca466b45850f5abc
