[INFO] cloning repository https://github.com/MatheoDumont/engine [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MatheoDumont/engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMatheoDumont%2Fengine", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMatheoDumont%2Fengine'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] bfe2dc43d719584b83bb07bac525e8ea504bed88 [INFO] testing MatheoDumont/engine against master#f9988fefd3add01f414f52b414308e7872622fee for pr-155114 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMatheoDumont%2Fengine" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/MatheoDumont/engine [INFO] finished tweaking git repo https://github.com/MatheoDumont/engine [INFO] tweaked toml for git repo https://github.com/MatheoDumont/engine written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/MatheoDumont/engine on toolchain f9988fefd3add01f414f52b414308e7872622fee [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/MatheoDumont/engine 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" "+f9988fefd3add01f414f52b414308e7872622fee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded safe_arch v0.6.0 [INFO] [stderr] Downloaded assert_approx_eq v1.1.0 [INFO] [stderr] Downloaded bytemuck v1.9.1 [INFO] [stderr] Downloaded num-iter v0.1.42 [INFO] [stderr] Downloaded simba v0.7.1 [INFO] [stderr] Downloaded xdg v2.4.1 [INFO] [stderr] Downloaded num-rational v0.4.0 [INFO] [stderr] Downloaded getrandom v0.2.6 [INFO] [stderr] Downloaded crossbeam-utils v0.8.8 [INFO] [stderr] Downloaded num-complex v0.4.0 [INFO] [stderr] Downloaded weezl v0.1.6 [INFO] [stderr] Downloaded crossbeam-epoch v0.9.8 [INFO] [stderr] Downloaded gif v0.11.3 [INFO] [stderr] Downloaded rayon-core v1.9.2 [INFO] [stderr] Downloaded matrixmultiply v0.3.2 [INFO] [stderr] Downloaded wide v0.7.4 [INFO] [stderr] Downloaded crossbeam-channel v0.5.4 [INFO] [stderr] Downloaded nom v7.1.1 [INFO] [stderr] Downloaded rayon v1.5.2 [INFO] [stderr] Downloaded nalgebra v0.31.0 [INFO] [stderr] Downloaded kiss3d v0.32.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c34a5c52228ae3772068cb0b8370dbb3b79c893ce4e1ad2b977a2b6420788889 [INFO] running `Command { std: "docker" "start" "-a" "c34a5c52228ae3772068cb0b8370dbb3b79c893ce4e1ad2b977a2b6420788889", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c34a5c52228ae3772068cb0b8370dbb3b79c893ce4e1ad2b977a2b6420788889", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c34a5c52228ae3772068cb0b8370dbb3b79c893ce4e1ad2b977a2b6420788889", kill_on_drop: false }` [INFO] [stdout] c34a5c52228ae3772068cb0b8370dbb3b79c893ce4e1ad2b977a2b6420788889 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b8806f46da6072139d286cb82a44a3b0883310ad10be9bb67097df9d0147b951 [INFO] running `Command { std: "docker" "start" "-a" "b8806f46da6072139d286cb82a44a3b0883310ad10be9bb67097df9d0147b951", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.124 [INFO] [stderr] Compiling proc-macro2 v1.0.37 [INFO] [stderr] Compiling pkg-config v0.3.25 [INFO] [stderr] Compiling log v0.4.16 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling crossbeam-utils v0.8.8 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.8 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling bytemuck v1.9.1 [INFO] [stderr] Compiling syn v1.0.91 [INFO] [stderr] Compiling rayon-core v1.9.2 [INFO] [stderr] Compiling num-rational v0.4.0 [INFO] [stderr] Compiling safe_arch v0.6.0 [INFO] [stderr] Compiling rayon v1.5.2 [INFO] [stderr] Compiling lock_api v0.4.7 [INFO] [stderr] Compiling linked-hash-map v0.5.4 [INFO] [stderr] Compiling paste v1.0.7 [INFO] [stderr] Compiling slab v0.4.6 [INFO] [stderr] Compiling instant v0.1.12 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Compiling indexmap v1.8.1 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Compiling adler32 v1.2.0 [INFO] [stderr] Compiling slotmap v1.0.6 [INFO] [stderr] Compiling wayland-sys v0.28.6 [INFO] [stderr] Compiling x11-dl v2.19.1 [INFO] [stderr] Compiling wide v0.7.4 [INFO] [stderr] Compiling crossbeam-channel v0.5.4 [INFO] [stderr] Compiling matrixmultiply v0.3.2 [INFO] [stderr] Compiling raw-window-handle v0.4.3 [INFO] [stderr] Compiling quote v1.0.18 [INFO] [stderr] Compiling nom v7.1.1 [INFO] [stderr] Compiling dlib v0.4.2 [INFO] [stderr] Compiling crossbeam-deque v0.8.1 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling wayland-scanner v0.28.6 [INFO] [stderr] Compiling crossbeam-deque v0.7.4 [INFO] [stderr] Compiling approx v0.5.1 [INFO] [stderr] Compiling num-complex v0.4.0 [INFO] [stderr] Compiling glutin_egl_sys v0.1.5 [INFO] [stderr] Compiling glutin_glx_sys v0.1.7 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Compiling weezl v0.1.6 [INFO] [stderr] Compiling deflate v0.8.6 [INFO] [stderr] Compiling num_cpus v1.13.1 [INFO] [stderr] Compiling nix v0.20.0 [INFO] [stderr] Compiling dirs-sys v0.3.7 [INFO] [stderr] Compiling nix v0.18.0 [INFO] [stderr] Compiling net2 v0.2.37 [INFO] [stderr] Compiling dirs v4.0.0 [INFO] [stderr] Compiling xdg v2.4.1 [INFO] [stderr] Compiling rusttype v0.9.2 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling memmap2 v0.1.0 [INFO] [stderr] Compiling mio v0.6.23 [INFO] [stderr] Compiling andrew v0.3.1 [INFO] [stderr] Compiling parking_lot_core v0.8.5 [INFO] [stderr] Compiling mio-extras v2.0.6 [INFO] [stderr] Compiling parking_lot v0.11.2 [INFO] [stderr] Compiling raw-window-handle v0.3.4 [INFO] [stderr] Compiling wayland-client v0.28.6 [INFO] [stderr] Compiling wayland-protocols v0.28.6 [INFO] [stderr] Compiling shared_library v0.1.9 [INFO] [stderr] Compiling miniz_oxide v0.3.7 [INFO] [stderr] Compiling simba v0.6.0 [INFO] [stderr] Compiling xcursor v0.3.4 [INFO] [stderr] Compiling gif v0.11.3 [INFO] [stderr] Compiling petgraph v0.5.1 [INFO] [stderr] Compiling png v0.16.8 [INFO] [stderr] Compiling osmesa-sys v0.1.2 [INFO] [stderr] Compiling scoped_threadpool v0.1.9 [INFO] [stderr] Compiling simba v0.7.1 [INFO] [stderr] Compiling glow v0.7.2 [INFO] [stderr] Compiling assert_approx_eq v1.1.0 [INFO] [stderr] Compiling wayland-commons v0.28.6 [INFO] [stderr] Compiling calloop v0.6.5 [INFO] [stderr] Compiling jpeg-decoder v0.1.22 [INFO] [stderr] Compiling nalgebra-macros v0.1.0 [INFO] [stderr] Compiling serde_derive v1.0.136 [INFO] [stderr] Compiling tiff v0.6.1 [INFO] [stderr] Compiling image v0.23.14 [INFO] [stderr] Compiling wayland-cursor v0.28.6 [INFO] [stderr] Compiling wayland-egl v0.28.6 [INFO] [stderr] Compiling nalgebra v0.29.0 [INFO] [stderr] Compiling nalgebra v0.31.0 [INFO] [stderr] Compiling ncollide3d v0.32.0 [INFO] [stderr] Compiling smithay-client-toolkit v0.12.3 [INFO] [stderr] Compiling winit v0.24.0 [INFO] [stderr] Compiling glutin v0.26.0 [INFO] [stderr] Compiling kiss3d v0.32.0 [INFO] [stderr] Compiling angine v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::math::math_essentials::*` [INFO] [stdout] --> src/engine/collision/collision_object.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::math::math_essentials::*; [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 imports: `sat::SAT` and `sat` [INFO] [stdout] --> src/engine/intersection_algorithms/obb.rs:2:23 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::geometry::{sat, sat::SAT}; [INFO] [stdout] | ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::math::math_essentials::*` [INFO] [stdout] --> src/engine/intersection_algorithms/plane_sphere.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::math::math_essentials::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sat::SAT` [INFO] [stdout] --> src/engine/shapes/obb.rs:2:43 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::geometry::{geometry_traits::*, sat::SAT}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Segment` and `Shape` [INFO] [stdout] --> src/engine/contact_algorithms/obb_plane.rs:2:36 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::engine::shapes::{Plane, Segment, Shape, OBB}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FaceIndex` [INFO] [stdout] --> src/engine/contact_algorithms/obb_plane.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | geometry_traits::{FaceIndex, PolyhedronTrait}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `P3`, `Real`, and `Vec3` [INFO] [stdout] --> src/engine/contact_algorithms/sphere.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::math::{vector::*, Real, Vec3, P3}; [INFO] [stdout] | ^^^^ ^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContactInformations` and `ContactManifold` [INFO] [stdout] --> src/engine/simulation/mod.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::engine::contact_algorithms::{ContactInformations, ContactManifold}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mat3` [INFO] [stdout] --> src/geometry/geometry_traits.rs:2:39 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::math::{math_essentials::*, Mat3}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `P3` [INFO] [stdout] --> src/math/helper.rs:1:39 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{Real, Vec3, Vector3, ONE, P3, ZERO}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `P3` and `vector::*` [INFO] [stdout] --> src/math/matrix.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{vector::*, Real, Vec3, Vector3, ONE, P3, ZERO}; [INFO] [stdout] | ^^^^^^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nalgebra::Matrix3` [INFO] [stdout] --> src/math/matrix.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nalgebra::Matrix3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Directions` [INFO] [stdout] --> src/math/quaternion.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{helper, Directions, Mat3, Real, Vec3, ONE, TWO, ZERO}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mass` [INFO] [stdout] --> src/engine/shapes/plane.rs:74:38 [INFO] [stdout] | [INFO] [stdout] 74 | fn compute_inertia_matrix(&self, mass: Real) -> Mat3 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mass` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> src/engine/shapes/sphere.rs:52:35 [INFO] [stdout] | [INFO] [stdout] 52 | fn set_orientation(&mut self, o: Mat3) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obb` [INFO] [stdout] --> src/engine/contact_algorithms/obb_sphere.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn obb_sphere(obb: &OBB, sphere: &Sphere) -> ContactInformations { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sphere` [INFO] [stdout] --> src/engine/contact_algorithms/obb_sphere.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn obb_sphere(obb: &OBB, sphere: &Sphere) -> ContactInformations { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sphere` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p1` [INFO] [stdout] --> src/engine/contact_algorithms/plane.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn plane_plane(p1: &Plane, p2: &Plane) -> ContactInformations { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p2` [INFO] [stdout] --> src/engine/contact_algorithms/plane.rs:4:32 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn plane_plane(p1: &Plane, p2: &Plane) -> ContactInformations { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `penetration_distance` [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | penetration_distance: Real, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_penetration_distance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `end` is never read [INFO] [stdout] --> src/custom_collections/binary_heap.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | end -= 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sim` is never read [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ContactSolver<'a> { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 8 | sim: &'a mut SimulationWorld, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:13:56 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(simulation: &'a mut SimulationWorld) -> ContactSolver { [INFO] [stdout] | -- ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(simulation: &'a mut SimulationWorld) -> ContactSolver<'a> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | drop(rb1); [INFO] [stdout] | ^^^^^---^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&RigidBody` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 88 - drop(rb1); [INFO] [stdout] 88 + let _ = rb1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | drop(rb2); [INFO] [stdout] | ^^^^^---^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&RigidBody` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 89 - drop(rb2); [INFO] [stdout] 89 + let _ = rb2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `face_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | pub face_A: FaceResult, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `face_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub face_B: FaceResult, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `face_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | pub face_A: FaceResult, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `face_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub face_B: FaceResult, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sat_2D` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn sat_2D( [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `sat_2_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `face_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | let face_A = FaceResult { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `face_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | let face_B = FaceResult { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sat_3D` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn sat_3D(shape_A: &T, shape_B: &T) -> Option { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `sat_3_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `shape_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:134:35 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn sat_3D(shape_A: &T, shape_B: &T) -> Option { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `shape_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `shape_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:134:48 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn sat_3D(shape_A: &T, shape_B: &T) -> Option { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `shape_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `vertices_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | let vertices_A = shape_A.transformed_vertices(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `vertices_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `vertices_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | let vertices_B = shape_B.transformed_vertices(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `vertices_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `best_face_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:139:13 [INFO] [stdout] | [INFO] [stdout] 139 | let mut best_face_A = FaceResult { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `best_face_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `best_face_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | let mut best_face_B = FaceResult { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `best_face_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `direction_edge_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:194:17 [INFO] [stdout] | [INFO] [stdout] 194 | let direction_edge_A = vertices_A[edge1.vi1] - vertices_A[edge1.vi2]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `direction_edge_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `direction_edge_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:195:17 [INFO] [stdout] | [INFO] [stdout] 195 | let direction_edge_B = vertices_B[edge2.vi1] - vertices_B[edge2.vi2]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `direction_edge_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `X` should have a snake case name [INFO] [stdout] --> src/math/transform.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn X(pitch: Real) -> Mat3 { [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `Y` should have a snake case name [INFO] [stdout] --> src/math/transform.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn Y(yaw: Real) -> Mat3 { [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `Z` should have a snake case name [INFO] [stdout] --> src/math/transform.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn Z(roll: Real) -> Mat3 { [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:84:19 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn projection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:84:32 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn projection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:92:18 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn rejection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:92:31 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn rejection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:100:19 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn reflection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:100:32 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn reflection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep` [INFO] [stdout] --> src/main.rs:146:22 [INFO] [stdout] | [INFO] [stdout] 146 | std::thread::sleep_ms(16 - i); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.75s [INFO] running `Command { std: "docker" "inspect" "b8806f46da6072139d286cb82a44a3b0883310ad10be9bb67097df9d0147b951", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b8806f46da6072139d286cb82a44a3b0883310ad10be9bb67097df9d0147b951", kill_on_drop: false }` [INFO] [stdout] b8806f46da6072139d286cb82a44a3b0883310ad10be9bb67097df9d0147b951 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 952c40ed01bd65d49bd33608e6d1040c8ad5e33902b65b08d85f44a87d14e39a [INFO] running `Command { std: "docker" "start" "-a" "952c40ed01bd65d49bd33608e6d1040c8ad5e33902b65b08d85f44a87d14e39a", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `crate::math::math_essentials::*` [INFO] [stdout] --> src/engine/collision/collision_object.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::math::math_essentials::*; [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 imports: `sat::SAT` and `sat` [INFO] [stdout] --> src/engine/intersection_algorithms/obb.rs:2:23 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::geometry::{sat, sat::SAT}; [INFO] [stdout] | ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::math::math_essentials::*` [INFO] [stdout] --> src/engine/intersection_algorithms/plane_sphere.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::math::math_essentials::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sat::SAT` [INFO] [stdout] --> src/engine/shapes/obb.rs:2:43 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::geometry::{geometry_traits::*, sat::SAT}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Segment` and `Shape` [INFO] [stdout] --> src/engine/contact_algorithms/obb_plane.rs:2:36 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::engine::shapes::{Plane, Segment, Shape, OBB}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FaceIndex` [INFO] [stdout] --> src/engine/contact_algorithms/obb_plane.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | geometry_traits::{FaceIndex, PolyhedronTrait}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `P3`, `Real`, and `Vec3` [INFO] [stdout] --> src/engine/contact_algorithms/sphere.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::math::{vector::*, Real, Vec3, P3}; [INFO] [stdout] | ^^^^ ^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContactInformations` and `ContactManifold` [INFO] [stdout] --> src/engine/simulation/mod.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::engine::contact_algorithms::{ContactInformations, ContactManifold}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mat3` [INFO] [stdout] --> src/geometry/geometry_traits.rs:2:39 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::math::{math_essentials::*, Mat3}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `P3` [INFO] [stdout] --> src/math/helper.rs:1:39 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{Real, Vec3, Vector3, ONE, P3, ZERO}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `P3` and `vector::*` [INFO] [stdout] --> src/math/matrix.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{vector::*, Real, Vec3, Vector3, ONE, P3, ZERO}; [INFO] [stdout] | ^^^^^^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nalgebra::Matrix3` [INFO] [stdout] --> src/math/matrix.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nalgebra::Matrix3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Directions` [INFO] [stdout] --> src/math/quaternion.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{helper, Directions, Mat3, Real, Vec3, ONE, TWO, ZERO}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mass` [INFO] [stdout] --> src/engine/shapes/plane.rs:74:38 [INFO] [stdout] | [INFO] [stdout] 74 | fn compute_inertia_matrix(&self, mass: Real) -> Mat3 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mass` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> src/engine/shapes/sphere.rs:52:35 [INFO] [stdout] | [INFO] [stdout] 52 | fn set_orientation(&mut self, o: Mat3) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obb` [INFO] [stdout] --> src/engine/contact_algorithms/obb_sphere.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn obb_sphere(obb: &OBB, sphere: &Sphere) -> ContactInformations { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sphere` [INFO] [stdout] --> src/engine/contact_algorithms/obb_sphere.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn obb_sphere(obb: &OBB, sphere: &Sphere) -> ContactInformations { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sphere` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p1` [INFO] [stdout] --> src/engine/contact_algorithms/plane.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn plane_plane(p1: &Plane, p2: &Plane) -> ContactInformations { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p2` [INFO] [stdout] --> src/engine/contact_algorithms/plane.rs:4:32 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn plane_plane(p1: &Plane, p2: &Plane) -> ContactInformations { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `penetration_distance` [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | penetration_distance: Real, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_penetration_distance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `end` is never read [INFO] [stdout] --> src/custom_collections/binary_heap.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | end -= 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sim` is never read [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ContactSolver<'a> { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 8 | sim: &'a mut SimulationWorld, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:13:56 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(simulation: &'a mut SimulationWorld) -> ContactSolver { [INFO] [stdout] | -- ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(simulation: &'a mut SimulationWorld) -> ContactSolver<'a> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | drop(rb1); [INFO] [stdout] | ^^^^^---^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&RigidBody` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 88 - drop(rb1); [INFO] [stdout] 88 + let _ = rb1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | drop(rb2); [INFO] [stdout] | ^^^^^---^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&RigidBody` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 89 - drop(rb2); [INFO] [stdout] 89 + let _ = rb2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `face_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | pub face_A: FaceResult, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `face_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub face_B: FaceResult, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `face_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | pub face_A: FaceResult, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `face_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub face_B: FaceResult, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sat_2D` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn sat_2D( [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `sat_2_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `face_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | let face_A = FaceResult { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `face_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | let face_B = FaceResult { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sat_3D` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn sat_3D(shape_A: &T, shape_B: &T) -> Option { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `sat_3_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `shape_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:134:35 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn sat_3D(shape_A: &T, shape_B: &T) -> Option { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `shape_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `shape_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:134:48 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn sat_3D(shape_A: &T, shape_B: &T) -> Option { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `shape_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `vertices_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | let vertices_A = shape_A.transformed_vertices(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `vertices_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `vertices_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | let vertices_B = shape_B.transformed_vertices(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `vertices_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling angine v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable `best_face_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:139:13 [INFO] [stdout] | [INFO] [stdout] 139 | let mut best_face_A = FaceResult { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `best_face_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `best_face_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | let mut best_face_B = FaceResult { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `best_face_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `direction_edge_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:194:17 [INFO] [stdout] | [INFO] [stdout] 194 | let direction_edge_A = vertices_A[edge1.vi1] - vertices_A[edge1.vi2]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `direction_edge_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `direction_edge_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:195:17 [INFO] [stdout] | [INFO] [stdout] 195 | let direction_edge_B = vertices_B[edge2.vi1] - vertices_B[edge2.vi2]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `direction_edge_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `X` should have a snake case name [INFO] [stdout] --> src/math/transform.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn X(pitch: Real) -> Mat3 { [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `Y` should have a snake case name [INFO] [stdout] --> src/math/transform.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn Y(yaw: Real) -> Mat3 { [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `Z` should have a snake case name [INFO] [stdout] --> src/math/transform.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn Z(roll: Real) -> Mat3 { [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:84:19 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn projection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:84:32 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn projection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:92:18 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn rejection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:92:31 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn rejection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:100:19 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn reflection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:100:32 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn reflection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep` [INFO] [stdout] --> src/main.rs:146:22 [INFO] [stdout] | [INFO] [stdout] 146 | std::thread::sleep_ms(16 - i); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep` [INFO] [stdout] --> src/main.rs:146:22 [INFO] [stdout] | [INFO] [stdout] 146 | std::thread::sleep_ms(16 - i); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shapes::Shape` [INFO] [stdout] --> tests/integration_test.rs:3:86 [INFO] [stdout] | [INFO] [stdout] 3 | collision::collision_object::CollisionObject, collision::CollisionWorld, shapes, shapes::Shape, [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 variable: `obb_id` [INFO] [stdout] --> tests/integration_test.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | let obb_id = simulation_world.add_rigidbody(obb_rb, obb_co); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_obb_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `plane_id` [INFO] [stdout] --> tests/integration_test.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let plane_id = simulation_world.add_rigidbody(plane_rb, plane_co); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_plane_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `impulsion_and_normal` is never used [INFO] [stdout] --> tests/integration_test.rs:179:4 [INFO] [stdout] | [INFO] [stdout] 179 | fn impulsion_and_normal() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> tests/integration_test.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | drop(obb_rb); [INFO] [stdout] | ^^^^^------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&RigidBody` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 126 - drop(obb_rb); [INFO] [stdout] 126 + let _ = obb_rb; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::math::math_essentials::*` [INFO] [stdout] --> src/engine/collision/collision_object.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::math::math_essentials::*; [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 imports: `sat::SAT` and `sat` [INFO] [stdout] --> src/engine/intersection_algorithms/obb.rs:2:23 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::geometry::{sat, sat::SAT}; [INFO] [stdout] | ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::math::math_essentials::*` [INFO] [stdout] --> src/engine/intersection_algorithms/plane_sphere.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::math::math_essentials::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sat::SAT` [INFO] [stdout] --> src/engine/shapes/obb.rs:2:43 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::geometry::{geometry_traits::*, sat::SAT}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mat3` and `Quaternion` [INFO] [stdout] --> src/engine/shapes/obb.rs:339:43 [INFO] [stdout] | [INFO] [stdout] 339 | use crate::math::{math_essentials::*, Mat3, Quaternion}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mat3` [INFO] [stdout] --> src/engine/shapes/plane.rs:114:43 [INFO] [stdout] | [INFO] [stdout] 114 | use crate::math::{math_essentials::*, Mat3}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Segment` [INFO] [stdout] --> src/engine/contact_algorithms/obb_plane.rs:2:36 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::engine::shapes::{Plane, Segment, Shape, OBB}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FaceIndex` [INFO] [stdout] --> src/engine/contact_algorithms/obb_plane.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | geometry_traits::{FaceIndex, PolyhedronTrait}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `assert_approx_eq::assert_approx_eq` [INFO] [stdout] --> src/engine/contact_algorithms/obb_plane.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | use assert_approx_eq::assert_approx_eq; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Vec3` [INFO] [stdout] --> src/engine/contact_algorithms/sphere.rs:4:36 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::math::{vector::*, Real, Vec3, P3}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContactInformations` and `ContactManifold` [INFO] [stdout] --> src/engine/simulation/mod.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::engine::contact_algorithms::{ContactInformations, ContactManifold}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mat3` [INFO] [stdout] --> src/geometry/geometry_traits.rs:2:39 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::math::{math_essentials::*, Mat3}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `P3` [INFO] [stdout] --> src/math/helper.rs:1:39 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{Real, Vec3, Vector3, ONE, P3, ZERO}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `P3` [INFO] [stdout] --> src/math/matrix.rs:1:50 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{vector::*, Real, Vec3, Vector3, ONE, P3, ZERO}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nalgebra::Matrix3` [INFO] [stdout] --> src/math/matrix.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nalgebra::Matrix3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Directions` [INFO] [stdout] --> src/math/quaternion.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{helper, Directions, Mat3, Real, Vec3, ONE, TWO, ZERO}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mass` [INFO] [stdout] --> src/engine/shapes/plane.rs:74:38 [INFO] [stdout] | [INFO] [stdout] 74 | fn compute_inertia_matrix(&self, mass: Real) -> Mat3 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mass` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> src/engine/shapes/sphere.rs:52:35 [INFO] [stdout] | [INFO] [stdout] 52 | fn set_orientation(&mut self, o: Mat3) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obb` [INFO] [stdout] --> src/engine/contact_algorithms/obb_sphere.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn obb_sphere(obb: &OBB, sphere: &Sphere) -> ContactInformations { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sphere` [INFO] [stdout] --> src/engine/contact_algorithms/obb_sphere.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn obb_sphere(obb: &OBB, sphere: &Sphere) -> ContactInformations { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sphere` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p1` [INFO] [stdout] --> src/engine/contact_algorithms/plane.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn plane_plane(p1: &Plane, p2: &Plane) -> ContactInformations { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p2` [INFO] [stdout] --> src/engine/contact_algorithms/plane.rs:4:32 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn plane_plane(p1: &Plane, p2: &Plane) -> ContactInformations { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `penetration_distance` [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | penetration_distance: Real, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_penetration_distance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/geometry/sat.rs:386:17 [INFO] [stdout] | [INFO] [stdout] 386 | let mut distance; [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: value assigned to `axis` is never read [INFO] [stdout] --> src/geometry/sat.rs:387:28 [INFO] [stdout] | [INFO] [stdout] 387 | let mut axis = Vec3::zeros(); [INFO] [stdout] | ^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 393 | axis = sat_unwrapped.face_B.axis; [INFO] [stdout] | -------------------------------- `axis` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `distance` is never read [INFO] [stdout] --> src/geometry/sat.rs:421:32 [INFO] [stdout] | [INFO] [stdout] 421 | let mut distance = ZERO; [INFO] [stdout] | ^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 427 | distance = sat_unwrapped.face_B.distance; [INFO] [stdout] | ---------------------------------------- `distance` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `axis` is never read [INFO] [stdout] --> src/geometry/sat.rs:422:28 [INFO] [stdout] | [INFO] [stdout] 422 | let mut axis = Vec3::zeros(); [INFO] [stdout] | ^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 428 | axis = sat_unwrapped.face_B.axis; [INFO] [stdout] | -------------------------------- `axis` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `end` is never read [INFO] [stdout] --> src/custom_collections/binary_heap.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | end -= 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `presque_bidon` is never used [INFO] [stdout] --> src/engine/shapes/mod.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | fn presque_bidon() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sim` is never read [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ContactSolver<'a> { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 8 | sim: &'a mut SimulationWorld, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `OBB_is_inside` should have a snake case name [INFO] [stdout] --> src/engine/shapes/obb.rs:379:8 [INFO] [stdout] | [INFO] [stdout] 379 | fn OBB_is_inside() { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `obb_is_inside` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `OBB_project_point_onto_contour` should have a snake case name [INFO] [stdout] --> src/engine/shapes/obb.rs:431:8 [INFO] [stdout] | [INFO] [stdout] 431 | fn OBB_project_point_onto_contour() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `obb_project_point_onto_contour` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:13:56 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(simulation: &'a mut SimulationWorld) -> ContactSolver { [INFO] [stdout] | -- ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(simulation: &'a mut SimulationWorld) -> ContactSolver<'a> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | drop(rb1); [INFO] [stdout] | ^^^^^---^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&RigidBody` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 88 - drop(rb1); [INFO] [stdout] 88 + let _ = rb1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | drop(rb2); [INFO] [stdout] | ^^^^^---^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&RigidBody` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 89 - drop(rb2); [INFO] [stdout] 89 + let _ = rb2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `face_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | pub face_A: FaceResult, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `face_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub face_B: FaceResult, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `face_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | pub face_A: FaceResult, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `face_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub face_B: FaceResult, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sat_2D` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn sat_2D( [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `sat_2_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `face_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | let face_A = FaceResult { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `face_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | let face_B = FaceResult { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sat_3D` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn sat_3D(shape_A: &T, shape_B: &T) -> Option { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `sat_3_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `shape_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:134:35 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn sat_3D(shape_A: &T, shape_B: &T) -> Option { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `shape_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `shape_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:134:48 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn sat_3D(shape_A: &T, shape_B: &T) -> Option { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `shape_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `vertices_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | let vertices_A = shape_A.transformed_vertices(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `vertices_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `vertices_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | let vertices_B = shape_B.transformed_vertices(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `vertices_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `best_face_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:139:13 [INFO] [stdout] | [INFO] [stdout] 139 | let mut best_face_A = FaceResult { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `best_face_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `best_face_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | let mut best_face_B = FaceResult { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `best_face_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `direction_edge_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:194:17 [INFO] [stdout] | [INFO] [stdout] 194 | let direction_edge_A = vertices_A[edge1.vi1] - vertices_A[edge1.vi2]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `direction_edge_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `direction_edge_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:195:17 [INFO] [stdout] | [INFO] [stdout] 195 | let direction_edge_B = vertices_B[edge2.vi1] - vertices_B[edge2.vi2]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `direction_edge_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `X` should have a snake case name [INFO] [stdout] --> src/math/transform.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn X(pitch: Real) -> Mat3 { [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `Y` should have a snake case name [INFO] [stdout] --> src/math/transform.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn Y(yaw: Real) -> Mat3 { [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `Z` should have a snake case name [INFO] [stdout] --> src/math/transform.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn Z(roll: Real) -> Mat3 { [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:84:19 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn projection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:84:32 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn projection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:92:18 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn rejection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:92:31 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn rejection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:100:19 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn reflection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:100:32 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn reflection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `b` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.42s [INFO] running `Command { std: "docker" "inspect" "952c40ed01bd65d49bd33608e6d1040c8ad5e33902b65b08d85f44a87d14e39a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "952c40ed01bd65d49bd33608e6d1040c8ad5e33902b65b08d85f44a87d14e39a", kill_on_drop: false }` [INFO] [stdout] 952c40ed01bd65d49bd33608e6d1040c8ad5e33902b65b08d85f44a87d14e39a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a3c2c113c87e7cdb3cb34f24c5adbbe5026b80e62c99bc050654c62dd5ebcd4d [INFO] running `Command { std: "docker" "start" "-a" "a3c2c113c87e7cdb3cb34f24c5adbbe5026b80e62c99bc050654c62dd5ebcd4d", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `crate::math::math_essentials::*` [INFO] [stderr] --> src/engine/collision/collision_object.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::math::math_essentials::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `sat::SAT` and `sat` [INFO] [stderr] --> src/engine/intersection_algorithms/obb.rs:2:23 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::geometry::{sat, sat::SAT}; [INFO] [stderr] | ^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::math::math_essentials::*` [INFO] [stderr] --> src/engine/intersection_algorithms/plane_sphere.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::math::math_essentials::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `sat::SAT` [INFO] [stderr] --> src/engine/shapes/obb.rs:2:43 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::geometry::{geometry_traits::*, sat::SAT}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Segment` and `Shape` [INFO] [stderr] --> src/engine/contact_algorithms/obb_plane.rs:2:36 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::engine::shapes::{Plane, Segment, Shape, OBB}; [INFO] [stderr] | ^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `FaceIndex` [INFO] [stderr] --> src/engine/contact_algorithms/obb_plane.rs:4:23 [INFO] [stderr] | [INFO] [stderr] 4 | geometry_traits::{FaceIndex, PolyhedronTrait}, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `P3`, `Real`, and `Vec3` [INFO] [stderr] --> src/engine/contact_algorithms/sphere.rs:4:30 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::math::{vector::*, Real, Vec3, P3}; [INFO] [stderr] | ^^^^ ^^^^ ^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ContactInformations` and `ContactManifold` [INFO] [stderr] --> src/engine/simulation/mod.rs:8:41 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::engine::contact_algorithms::{ContactInformations, ContactManifold}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Mat3` [INFO] [stderr] --> src/geometry/geometry_traits.rs:2:39 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::math::{math_essentials::*, Mat3}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `P3` [INFO] [stderr] --> src/math/helper.rs:1:39 [INFO] [stderr] | [INFO] [stderr] 1 | use super::{Real, Vec3, Vector3, ONE, P3, ZERO}; [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `P3` and `vector::*` [INFO] [stderr] --> src/math/matrix.rs:1:13 [INFO] [stderr] | [INFO] [stderr] 1 | use super::{vector::*, Real, Vec3, Vector3, ONE, P3, ZERO}; [INFO] [stderr] | ^^^^^^^^^ ^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `nalgebra::Matrix3` [INFO] [stderr] --> src/math/matrix.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use nalgebra::Matrix3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Directions` [INFO] [stderr] --> src/math/quaternion.rs:1:21 [INFO] [stderr] | [INFO] [stderr] 1 | use super::{helper, Directions, Mat3, Real, Vec3, ONE, TWO, ZERO}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mass` [INFO] [stderr] --> src/engine/shapes/plane.rs:74:38 [INFO] [stderr] | [INFO] [stderr] 74 | fn compute_inertia_matrix(&self, mass: Real) -> Mat3 { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mass` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `o` [INFO] [stderr] --> src/engine/shapes/sphere.rs:52:35 [INFO] [stderr] | [INFO] [stderr] 52 | fn set_orientation(&mut self, o: Mat3) {} [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `obb` [INFO] [stderr] --> src/engine/contact_algorithms/obb_sphere.rs:4:19 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn obb_sphere(obb: &OBB, sphere: &Sphere) -> ContactInformations { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_obb` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sphere` [INFO] [stderr] --> src/engine/contact_algorithms/obb_sphere.rs:4:30 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn obb_sphere(obb: &OBB, sphere: &Sphere) -> ContactInformations { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sphere` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `p1` [INFO] [stderr] --> src/engine/contact_algorithms/plane.rs:4:20 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn plane_plane(p1: &Plane, p2: &Plane) -> ContactInformations { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_p1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `p2` [INFO] [stderr] --> src/engine/contact_algorithms/plane.rs:4:32 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn plane_plane(p1: &Plane, p2: &Plane) -> ContactInformations { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_p2` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `penetration_distance` [INFO] [stderr] --> src/engine/simulation/collision_solver.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | penetration_distance: Real, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_penetration_distance` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `end` is never read [INFO] [stderr] --> src/custom_collections/binary_heap.rs:83:9 [INFO] [stderr] | [INFO] [stderr] 83 | end -= 1; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `sim` is never read [INFO] [stderr] --> src/engine/simulation/collision_solver.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct ContactSolver<'a> { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] 8 | sim: &'a mut SimulationWorld, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/engine/simulation/collision_solver.rs:13:56 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn new(simulation: &'a mut SimulationWorld) -> ContactSolver { [INFO] [stderr] | -- ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is named here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 13 | pub fn new(simulation: &'a mut SimulationWorld) -> ContactSolver<'a> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stderr] --> src/engine/simulation/collision_solver.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | drop(rb1); [INFO] [stderr] | ^^^^^---^ [INFO] [stderr] | | [INFO] [stderr] | argument has type `&RigidBody` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dropping_references)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the expression or result [INFO] [stderr] | [INFO] [stderr] 88 - drop(rb1); [INFO] [stderr] 88 + let _ = rb1; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stderr] --> src/engine/simulation/collision_solver.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | drop(rb2); [INFO] [stderr] | ^^^^^---^ [INFO] [stderr] | | [INFO] [stderr] | argument has type `&RigidBody` [INFO] [stderr] | [INFO] [stderr] help: use `let _ = ...` to ignore the expression or result [INFO] [stderr] | [INFO] [stderr] 89 - drop(rb2); [INFO] [stderr] 89 + let _ = rb2; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: structure field `face_A` should have a snake case name [INFO] [stderr] --> src/geometry/sat.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | pub face_A: FaceResult, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `face_a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `face_B` should have a snake case name [INFO] [stderr] --> src/geometry/sat.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | pub face_B: FaceResult, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `face_b` [INFO] [stderr] [INFO] [stderr] warning: structure field `face_A` should have a snake case name [INFO] [stderr] --> src/geometry/sat.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | pub face_A: FaceResult, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `face_a` [INFO] [stderr] [INFO] [stderr] warning: structure field `face_B` should have a snake case name [INFO] [stderr] --> src/geometry/sat.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | pub face_B: FaceResult, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `face_b` [INFO] [stderr] [INFO] [stderr] warning: function `sat_2D` should have a snake case name [INFO] [stderr] --> src/geometry/sat.rs:73:8 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn sat_2D( [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `sat_2_d` [INFO] [stderr] [INFO] [stderr] warning: variable `face_A` should have a snake case name [INFO] [stderr] --> src/geometry/sat.rs:100:9 [INFO] [stderr] | [INFO] [stderr] 100 | let face_A = FaceResult { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `face_a` [INFO] [stderr] [INFO] [stderr] warning: variable `face_B` should have a snake case name [INFO] [stderr] --> src/geometry/sat.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | let face_B = FaceResult { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `face_b` [INFO] [stderr] [INFO] [stderr] warning: function `sat_3D` should have a snake case name [INFO] [stderr] --> src/geometry/sat.rs:134:8 [INFO] [stderr] | [INFO] [stderr] 134 | pub fn sat_3D(shape_A: &T, shape_B: &T) -> Option { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `sat_3_d` [INFO] [stderr] [INFO] [stderr] warning: variable `shape_A` should have a snake case name [INFO] [stderr] --> src/geometry/sat.rs:134:35 [INFO] [stderr] | [INFO] [stderr] 134 | pub fn sat_3D(shape_A: &T, shape_B: &T) -> Option { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `shape_a` [INFO] [stderr] [INFO] [stderr] warning: variable `shape_B` should have a snake case name [INFO] [stderr] --> src/geometry/sat.rs:134:48 [INFO] [stderr] | [INFO] [stderr] 134 | pub fn sat_3D(shape_A: &T, shape_B: &T) -> Option { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `shape_b` [INFO] [stderr] [INFO] [stderr] warning: variable `vertices_A` should have a snake case name [INFO] [stderr] --> src/geometry/sat.rs:135:9 [INFO] [stderr] | [INFO] [stderr] 135 | let vertices_A = shape_A.transformed_vertices(); [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `vertices_a` [INFO] [stderr] [INFO] [stderr] warning: variable `vertices_B` should have a snake case name [INFO] [stderr] --> src/geometry/sat.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | let vertices_B = shape_B.transformed_vertices(); [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `vertices_b` [INFO] [stderr] [INFO] [stderr] warning: variable `best_face_A` should have a snake case name [INFO] [stderr] --> src/geometry/sat.rs:139:13 [INFO] [stderr] | [INFO] [stderr] 139 | let mut best_face_A = FaceResult { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `best_face_a` [INFO] [stderr] [INFO] [stderr] warning: variable `best_face_B` should have a snake case name [INFO] [stderr] --> src/geometry/sat.rs:161:13 [INFO] [stderr] | [INFO] [stderr] 161 | let mut best_face_B = FaceResult { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `best_face_b` [INFO] [stderr] [INFO] [stderr] warning: variable `direction_edge_A` should have a snake case name [INFO] [stderr] --> src/geometry/sat.rs:194:17 [INFO] [stderr] | [INFO] [stderr] 194 | let direction_edge_A = vertices_A[edge1.vi1] - vertices_A[edge1.vi2]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `direction_edge_a` [INFO] [stderr] [INFO] [stderr] warning: variable `direction_edge_B` should have a snake case name [INFO] [stderr] --> src/geometry/sat.rs:195:17 [INFO] [stderr] | [INFO] [stderr] 195 | let direction_edge_B = vertices_B[edge2.vi1] - vertices_B[edge2.vi2]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `direction_edge_b` [INFO] [stderr] [INFO] [stderr] warning: method `X` should have a snake case name [INFO] [stderr] --> src/math/transform.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn X(pitch: Real) -> Mat3 { [INFO] [stderr] | ^ help: convert the identifier to snake case (notice the capitalization): `x` [INFO] [stderr] [INFO] [stderr] warning: method `Y` should have a snake case name [INFO] [stderr] --> src/math/transform.rs:16:12 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn Y(yaw: Real) -> Mat3 { [INFO] [stderr] | ^ help: convert the identifier to snake case (notice the capitalization): `y` [INFO] [stderr] [INFO] [stderr] warning: method `Z` should have a snake case name [INFO] [stderr] --> src/math/transform.rs:21:12 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn Z(roll: Real) -> Mat3 { [INFO] [stderr] | ^ help: convert the identifier to snake case (notice the capitalization): `z` [INFO] [stderr] [INFO] [stderr] warning: variable `A` should have a snake case name [INFO] [stderr] --> src/math/vector.rs:84:19 [INFO] [stderr] | [INFO] [stderr] 84 | pub fn projection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stderr] | ^ help: convert the identifier to snake case: `a` [INFO] [stderr] [INFO] [stderr] warning: variable `B` should have a snake case name [INFO] [stderr] --> src/math/vector.rs:84:32 [INFO] [stderr] | [INFO] [stderr] 84 | pub fn projection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stderr] | ^ help: convert the identifier to snake case: `b` [INFO] [stderr] [INFO] [stderr] warning: variable `A` should have a snake case name [INFO] [stderr] --> src/math/vector.rs:92:18 [INFO] [stderr] | [INFO] [stderr] 92 | pub fn rejection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stderr] | ^ help: convert the identifier to snake case: `a` [INFO] [stderr] [INFO] [stderr] warning: variable `B` should have a snake case name [INFO] [stderr] --> src/math/vector.rs:92:31 [INFO] [stderr] | [INFO] [stderr] 92 | pub fn rejection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stderr] | ^ help: convert the identifier to snake case: `b` [INFO] [stderr] [INFO] [stderr] warning: variable `A` should have a snake case name [INFO] [stderr] --> src/math/vector.rs:100:19 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn reflection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stderr] | ^ help: convert the identifier to snake case: `a` [INFO] [stderr] [INFO] [stderr] warning: variable `B` should have a snake case name [INFO] [stderr] --> src/math/vector.rs:100:32 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn reflection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stderr] | ^ help: convert the identifier to snake case: `b` [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Mat3` and `Quaternion` [INFO] [stderr] --> src/engine/shapes/obb.rs:339:43 [INFO] [stderr] | [INFO] [stderr] 339 | use crate::math::{math_essentials::*, Mat3, Quaternion}; [INFO] [stderr] | ^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Mat3` [INFO] [stderr] --> src/engine/shapes/plane.rs:114:43 [INFO] [stderr] | [INFO] [stderr] 114 | use crate::math::{math_essentials::*, Mat3}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Segment` [INFO] [stderr] --> src/engine/contact_algorithms/obb_plane.rs:2:36 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::engine::shapes::{Plane, Segment, Shape, OBB}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `assert_approx_eq::assert_approx_eq` [INFO] [stderr] --> src/engine/contact_algorithms/obb_plane.rs:86:9 [INFO] [stderr] | [INFO] [stderr] 86 | use assert_approx_eq::assert_approx_eq; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Vec3` [INFO] [stderr] --> src/engine/contact_algorithms/sphere.rs:4:36 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::math::{vector::*, Real, Vec3, P3}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `P3` [INFO] [stderr] --> src/math/matrix.rs:1:50 [INFO] [stderr] | [INFO] [stderr] 1 | use super::{vector::*, Real, Vec3, Vector3, ONE, P3, ZERO}; [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/geometry/sat.rs:386:17 [INFO] [stderr] | [INFO] [stderr] 386 | let mut distance; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `axis` is never read [INFO] [stderr] --> src/geometry/sat.rs:387:28 [INFO] [stderr] | [INFO] [stderr] 387 | let mut axis = Vec3::zeros(); [INFO] [stderr] | ^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stderr] ... [INFO] [stderr] 393 | axis = sat_unwrapped.face_B.axis; [INFO] [stderr] | -------------------------------- `axis` is overwritten here before the previous value is read [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `distance` is never read [INFO] [stderr] --> src/geometry/sat.rs:421:32 [INFO] [stderr] | [INFO] [stderr] 421 | let mut distance = ZERO; [INFO] [stderr] | ^^^^ this value is reassigned later and never used [INFO] [stderr] ... [INFO] [stderr] 427 | distance = sat_unwrapped.face_B.distance; [INFO] [stderr] | ---------------------------------------- `distance` is overwritten here before the previous value is read [INFO] [stderr] [INFO] [stderr] warning: value assigned to `axis` is never read [INFO] [stderr] --> src/geometry/sat.rs:422:28 [INFO] [stderr] | [INFO] [stderr] 422 | let mut axis = Vec3::zeros(); [INFO] [stderr] | ^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stderr] ... [INFO] [stderr] 428 | axis = sat_unwrapped.face_B.axis; [INFO] [stderr] | -------------------------------- `axis` is overwritten here before the previous value is read [INFO] [stderr] [INFO] [stderr] warning: value assigned to `end` is never read [INFO] [stderr] --> src/custom_collections/binary_heap.rs:83:9 [INFO] [stderr] | [INFO] [stderr] 83 | end -= 1; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: function `presque_bidon` is never used [INFO] [stderr] --> src/engine/shapes/mod.rs:44:8 [INFO] [stderr] | [INFO] [stderr] 44 | fn presque_bidon() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `sim` is never read [INFO] [stderr] --> src/engine/simulation/collision_solver.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct ContactSolver<'a> { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] 8 | sim: &'a mut SimulationWorld, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function `OBB_is_inside` should have a snake case name [INFO] [stderr] --> src/engine/shapes/obb.rs:379:8 [INFO] [stderr] | [INFO] [stderr] 379 | fn OBB_is_inside() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `obb_is_inside` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `OBB_project_point_onto_contour` should have a snake case name [INFO] [stderr] --> src/engine/shapes/obb.rs:431:8 [INFO] [stderr] | [INFO] [stderr] 431 | fn OBB_project_point_onto_contour() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `obb_project_point_onto_contour` [INFO] [stderr] [INFO] [stderr] warning: structure field `face_A` should have a snake case name [INFO] [stderr] --> src/geometry/sat.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | pub face_A: FaceResult, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `face_a` [INFO] [stderr] [INFO] [stderr] warning: `angine` (lib) generated 50 warnings (run `cargo fix --lib -p angine` to apply 21 suggestions) [INFO] [stderr] warning: `angine` (lib test) generated 60 warnings (44 duplicates) (run `cargo fix --lib -p angine --tests` to apply 7 suggestions) [INFO] [stderr] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep` [INFO] [stderr] --> src/main.rs:146:22 [INFO] [stderr] | [INFO] [stderr] 146 | std::thread::sleep_ms(16 - i); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `shapes::Shape` [INFO] [stderr] --> tests/integration_test.rs:3:86 [INFO] [stderr] | [INFO] [stderr] 3 | collision::collision_object::CollisionObject, collision::CollisionWorld, shapes, shapes::Shape, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `obb_id` [INFO] [stderr] --> tests/integration_test.rs:83:9 [INFO] [stderr] | [INFO] [stderr] 83 | let obb_id = simulation_world.add_rigidbody(obb_rb, obb_co); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_obb_id` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `plane_id` [INFO] [stderr] --> tests/integration_test.rs:88:9 [INFO] [stderr] | [INFO] [stderr] 88 | let plane_id = simulation_world.add_rigidbody(plane_rb, plane_co); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_plane_id` [INFO] [stderr] [INFO] [stderr] warning: function `impulsion_and_normal` is never used [INFO] [stderr] --> tests/integration_test.rs:179:4 [INFO] [stderr] | [INFO] [stderr] 179 | fn impulsion_and_normal() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] [INFO] [stderr] --> tests/integration_test.rs:126:5 [INFO] [stdout] running 43 tests [INFO] [stderr] | [INFO] [stderr] 126 | drop(obb_rb); [INFO] [stderr] | ^^^^^------^ [INFO] [stderr] | | [INFO] [stderr] | argument has type `&RigidBody` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] test custom_collections::binary_heap::tests::test_append ... ok [INFO] [stderr] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] test custom_collections::binary_heap::tests::test_pop ... ok [INFO] [stderr] | [INFO] [stdout] test engine::contact_algorithms::sphere::test::sphere_sphere_point_intersection ... ok [INFO] [stderr] 126 - drop(obb_rb); [INFO] [stdout] test engine::intersection_algorithms::obb_plane::tests::obb_plane_intersection ... ok [INFO] [stderr] 126 + let _ = obb_rb; [INFO] [stdout] test engine::intersection_algorithms::plane::tests::plane_plane_intersection ... ok [INFO] [stderr] | [INFO] [stdout] test engine::intersection_algorithms::obb::tests::obb_obb_intersection ... ok [INFO] [stderr] [INFO] [stdout] test engine::intersection_algorithms::obb_sphere::tests::obb_sphere_intersection ... ok [INFO] [stderr] warning: `angine` (bin "angine" test) generated 1 warning [INFO] [stdout] test engine::intersection_algorithms::plane_sphere::tests::plane_sphere_intersection ... ok [INFO] [stderr] warning: `angine` (test "integration_test") generated 5 warnings (run `cargo fix --test "integration_test" -p angine` to apply 2 suggestions) [INFO] [stdout] test engine::intersection_algorithms::sphere::tests::sphere_sphere_intersection ... ok [INFO] [stderr] warning: `angine` (bin "angine") generated 1 warning (1 duplicate) [INFO] [stdout] test engine::shapes::obb::tests::OBB_is_inside ... ok [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s [INFO] [stdout] test engine::shapes::obb::tests::OBB_project_point_onto_contour ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/angine-83a8b9dc4583231b) [INFO] [stdout] test engine::shapes::obb::tests::test_distance_to_contour_in_direction ... ok [INFO] [stdout] test engine::shapes::plane::tests::plane_signed_distance ... ok [INFO] [stdout] test engine::shapes::segment::tests::test_closest_point_on_lines ... ok [INFO] [stdout] test engine::shapes::segment::tests::test_intersect_plane ... ok [INFO] [stdout] test geometry::helper::tests::test_clip ... ok [INFO] [stdout] test engine::shapes::plane::tests::test_reject_point_on_plane ... ok [INFO] [stdout] test geometry::sat::test::separating_axis_3d ... ok [INFO] [stdout] test engine::shapes::obb::tests::test_is_on_contour ... ok [INFO] [stdout] test math::matrix::tests::matrix_transpose ... ok [INFO] [stdout] test math::matrix::tests::determinant ... ok [INFO] [stdout] test math::quaternion::tests::quat_composed_rotation_order_to_unity ... ok [INFO] [stdout] test geometry::sat::test::test_project ... ok [INFO] [stdout] test math::matrix::tests::matrix_vec_mul ... ok [INFO] [stdout] test math::matrix::tests::matrix_mul ... ok [INFO] [stdout] test geometry::sat::test::separating_axis_2d ... ok [INFO] [stdout] test engine::shapes::obb::tests::test_computed_normal_inverse_to_normal_from_rotation ... ok [INFO] [stdout] test math::matrix::tests::inverse ... ok [INFO] [stdout] test engine::shapes::obb::tests::normal_face_test ... ok [INFO] [stdout] test math::quaternion::tests::quaternion_rotation ... ok [INFO] [stdout] test geometry::sat::test::test_overlapping_or_touching ... ok [INFO] [stdout] test math::quaternion::tests::test_axis_vs_angle ... ok [INFO] [stdout] test math::quaternion::tests::test_to_mat ... ok [INFO] [stdout] test math::transform::tests::rotation_are_clockwise ... ok [INFO] [stdout] test math::vector::tests::test_orientation_cross_product_vec ... ok [INFO] [stdout] test math::vector::tests::vector_div ... ok [INFO] [stdout] test math::vector::tests::vector_div_assign ... ok [INFO] [stdout] test math::transform::tests::testtesttest ... ok [INFO] [stdout] test math::vector::tests::vector_dot_product ... ok [INFO] [stdout] test math::vector::tests::vector_normalize ... ok [INFO] [stdout] test math::vector::tests::vector_normalized ... ok [INFO] [stdout] test math::matrix::tests::cut ... ok [INFO] [stdout] test engine::contact_algorithms::obb_plane::tests::new_obb_plane_test ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- engine::contact_algorithms::obb_plane::tests::new_obb_plane_test stdout ---- [INFO] [stdout] Points de collisions (4) : [INFO] [stdout] Vector3 { data: [-1.0, -0.25, 1.0] } [INFO] [stdout] Vector3 { data: [1.0, -0.25, 1.0] } [INFO] [stdout] Vector3 { data: [-1.0, -0.25, -1.0] } [INFO] [stdout] Vector3 { data: [1.0, -0.25, -1.0] } [INFO] [stdout] new length after normalization=1.0 [INFO] [stdout] distance = 1.7179114, length = 1.6007811 [INFO] [stdout] [INFO] [stdout] thread 'engine::contact_algorithms::obb_plane::tests::new_obb_plane_test' (19) panicked at src/engine/contact_algorithms/obb_plane.rs:102:17: [INFO] [stdout] assertion failed: obb.is_on_contour(p) [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5c3b746d933a - std[1209cfb42f6d497f]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5c3b746d933a - std[1209cfb42f6d497f]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5c3b746d933a - std[1209cfb42f6d497f]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x5c3b746d933a - <::print::DisplayBacktrace as core[4a92201981c6b77a]::fmt::Display>::fmt [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x5c3b746edc7a - ::fmt [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x5c3b746edc7a - core[4a92201981c6b77a]::fmt::write [INFO] [stdout] 6: 0x5c3b746ddb72 - std[1209cfb42f6d497f]::io::default_write_fmt::> [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/io/mod.rs:621:11 [INFO] [stdout] 7: 0x5c3b746ddb72 - as std[1209cfb42f6d497f]::io::Write>::write_fmt [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/io/mod.rs:1976:13 [INFO] [stdout] 8: 0x5c3b746b833f - ::print [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x5c3b746b833f - std[1209cfb42f6d497f]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x5c3b746d1799 - std[1209cfb42f6d497f]::panicking::default_hook [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x5c3b7466dc9c - core[4a92201981c6b77a]::ops::function::Fn<(&'a std[1209cfb42f6d497f]::panic::PanicHookInfo<'b>,), Output = ()> + core[4a92201981c6b77a]::marker::Sync + core[4a92201981c6b77a]::marker::Send> as core[4a92201981c6b77a]::ops::function::Fn<(&std[1209cfb42f6d497f]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/alloc/src/boxed.rs:2285:9 [INFO] [stdout] 12: 0x5c3b7466dc9c - test[59e67a9bc0e119f1]::test_main_inner::::{closure#0} [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/test/src/lib.rs:155:21 [INFO] [stdout] 13: 0x5c3b746d1952 - core[4a92201981c6b77a]::ops::function::Fn<(&'a std[1209cfb42f6d497f]::panic::PanicHookInfo<'b>,), Output = ()> + core[4a92201981c6b77a]::marker::Sync + core[4a92201981c6b77a]::marker::Send> as core[4a92201981c6b77a]::ops::function::Fn<(&std[1209cfb42f6d497f]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/alloc/src/boxed.rs:2285:9 [INFO] [stdout] 14: 0x5c3b746d1952 - std[1209cfb42f6d497f]::panicking::panic_with_hook [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x5c3b746b842a - std[1209cfb42f6d497f]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:691:13 [INFO] [stdout] 16: 0x5c3b746ad609 - std[1209cfb42f6d497f]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x5c3b746b910d - __rustc[4effac393e9f3da6]::rust_begin_unwind [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x5c3b746ee3cc - core[4a92201981c6b77a]::panicking::panic_fmt [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5c3b746ee392 - core[4a92201981c6b77a]::panicking::panic [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/panicking.rs:150:5 [INFO] [stdout] 20: 0x5c3b7465350f - angine[95f3317f3f62b0a5]::engine::contact_algorithms::obb_plane::tests::new_obb_plane_test [INFO] [stdout] at /opt/rustwide/workdir/src/engine/contact_algorithms/obb_plane.rs:102:17 [INFO] [stdout] 21: 0x5c3b74649ea7 - angine[95f3317f3f62b0a5]::engine::contact_algorithms::obb_plane::tests::new_obb_plane_test::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/engine/contact_algorithms/obb_plane.rs:89:28 [INFO] [stdout] 22: 0x5c3b74648796 - >::call_once [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x5c3b74660f7b - core[4a92201981c6b77a]::result::Result<(), alloc[420bb310a727dfd7]::string::String> as core[4a92201981c6b77a]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/ops/function.rs:250:5 [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] [stdout] 24: 0x5c3b74660f7b - test[59e67a9bc0e119f1]::__rust_begin_short_backtrace::, fn() -> core[4a92201981c6b77a]::result::Result<(), alloc[420bb310a727dfd7]::string::String>> [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/test/src/lib.rs:724:18 [INFO] [stdout] 25: 0x5c3b7466e76b - test[59e67a9bc0e119f1]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/test/src/lib.rs:747:74 [INFO] [stdout] 26: 0x5c3b7466e76b - as core[4a92201981c6b77a]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 27: 0x5c3b7466e76b - std[1209cfb42f6d497f]::panicking::catch_unwind::do_call::, core[4a92201981c6b77a]::result::Result<(), alloc[420bb310a727dfd7]::string::String>> [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:581:40 [INFO] [stdout] 28: 0x5c3b7466e76b - std[1209cfb42f6d497f]::panicking::catch_unwind::, core[4a92201981c6b77a]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:544:19 [INFO] [stdout] 29: 0x5c3b7466e76b - std[1209cfb42f6d497f]::panic::catch_unwind::, core[4a92201981c6b77a]::result::Result<(), alloc[420bb310a727dfd7]::string::String>> [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panic.rs:359:14 [INFO] [stdout] 30: 0x5c3b7466e76b - test[59e67a9bc0e119f1]::run_test_in_process [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/test/src/lib.rs:747:27 [INFO] [stdout] 31: 0x5c3b7466e76b - test[59e67a9bc0e119f1]::run_test::{closure#0} [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/test/src/lib.rs:668:43 [INFO] [stdout] 32: 0x5c3b74667e84 - test[59e67a9bc0e119f1]::run_test::{closure#1} [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/test/src/lib.rs:698:41 [INFO] [stdout] 33: 0x5c3b74667e84 - std[1209cfb42f6d497f]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 34: 0x5c3b74671372 - std[1209cfb42f6d497f]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/thread/lifecycle.rs:70:13 [INFO] [stdout] 35: 0x5c3b74671372 - ::{closure#1}::{closure#0}> as core[4a92201981c6b77a]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 36: 0x5c3b74671372 - std[1209cfb42f6d497f]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:581:40 [INFO] [stdout] 37: 0x5c3b74671372 - std[1209cfb42f6d497f]::panicking::catch_unwind::<(), core[4a92201981c6b77a]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:544:19 [INFO] [stdout] 38: 0x5c3b74671372 - std[1209cfb42f6d497f]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panic.rs:359:14 [INFO] [stdout] 39: 0x5c3b74671372 - std[1209cfb42f6d497f]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/thread/lifecycle.rs:68:26 [INFO] [stdout] 40: 0x5c3b74671372 - ::{closure#1} as core[4a92201981c6b77a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 41: 0x5c3b746d8c4f - + core[4a92201981c6b77a]::marker::Send> as core[4a92201981c6b77a]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/alloc/src/boxed.rs:2271:9 [INFO] [stdout] 42: 0x5c3b746d8c4f - ::new::thread_start [INFO] [stdout] at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 43: 0x74e729dc2aa4 - [INFO] [stdout] 44: 0x74e729e4fa64 - clone [INFO] [stdout] 45: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] engine::contact_algorithms::obb_plane::tests::new_obb_plane_test [INFO] [stdout] [INFO] [stdout] test result: FAILED. 42 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "a3c2c113c87e7cdb3cb34f24c5adbbe5026b80e62c99bc050654c62dd5ebcd4d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a3c2c113c87e7cdb3cb34f24c5adbbe5026b80e62c99bc050654c62dd5ebcd4d", kill_on_drop: false }` [INFO] [stdout] a3c2c113c87e7cdb3cb34f24c5adbbe5026b80e62c99bc050654c62dd5ebcd4d