[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#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMatheoDumont%2Fengine" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-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-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/MatheoDumont/engine on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wayland-egl v0.28.6 [INFO] [stderr] Downloaded raw-window-handle v0.3.4 [INFO] [stderr] Downloaded serde_derive v1.0.136 [INFO] [stderr] Downloaded assert_approx_eq v1.1.0 [INFO] [stderr] Downloaded paste v1.0.7 [INFO] [stderr] Downloaded xdg v2.4.1 [INFO] [stderr] Downloaded slotmap v0.4.3 [INFO] [stderr] Downloaded glutin v0.26.0 [INFO] [stderr] Downloaded wide v0.7.4 [INFO] [stderr] Downloaded simba v0.7.1 [INFO] [stderr] Downloaded ncollide3d v0.32.0 [INFO] [stderr] Downloaded jpeg-decoder v0.1.22 [INFO] [stderr] Downloaded syn v1.0.91 [INFO] [stderr] Downloaded nalgebra v0.31.0 [INFO] [stderr] Downloaded libc v0.2.124 [INFO] [stderr] Downloaded kiss3d v0.32.0 [INFO] [stderr] Downloaded tiff v0.6.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3c3e51c2defc07b39ee65d4cf640059ceea178ba087c7e00d0d7df375e231f74 [INFO] running `Command { std: "docker" "start" "-a" "3c3e51c2defc07b39ee65d4cf640059ceea178ba087c7e00d0d7df375e231f74", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3c3e51c2defc07b39ee65d4cf640059ceea178ba087c7e00d0d7df375e231f74", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3c3e51c2defc07b39ee65d4cf640059ceea178ba087c7e00d0d7df375e231f74", kill_on_drop: false }` [INFO] [stdout] 3c3e51c2defc07b39ee65d4cf640059ceea178ba087c7e00d0d7df375e231f74 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c785a307b30f7d7fde05f7889173b764a336ee4e26550e32c5e121423e960575 [INFO] running `Command { std: "docker" "start" "-a" "c785a307b30f7d7fde05f7889173b764a336ee4e26550e32c5e121423e960575", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.124 [INFO] [stderr] Compiling proc-macro2 v1.0.37 [INFO] [stderr] Compiling xml-rs v0.8.4 [INFO] [stderr] Compiling log v0.4.16 [INFO] [stderr] Compiling pkg-config v0.3.25 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling khronos_api v3.1.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.8 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling libloading v0.7.3 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling memoffset v0.5.6 [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 scoped-tls v1.0.0 [INFO] [stderr] Compiling dlib v0.5.0 [INFO] [stderr] Compiling syn v1.0.91 [INFO] [stderr] Compiling rayon-core v1.9.2 [INFO] [stderr] Compiling ttf-parser v0.6.2 [INFO] [stderr] Compiling nix v0.18.0 [INFO] [stderr] Compiling num-rational v0.4.0 [INFO] [stderr] Compiling rayon v1.5.2 [INFO] [stderr] Compiling lock_api v0.4.7 [INFO] [stderr] Compiling paste v1.0.7 [INFO] [stderr] Compiling slab v0.4.6 [INFO] [stderr] Compiling safe_arch v0.6.0 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling linked-hash-map v0.5.4 [INFO] [stderr] Compiling wayland-sys v0.28.6 [INFO] [stderr] Compiling quote v1.0.18 [INFO] [stderr] Compiling crossbeam-channel v0.5.4 [INFO] [stderr] Compiling x11-dl v2.19.1 [INFO] [stderr] Compiling ab_glyph_rasterizer v0.1.5 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Compiling crossbeam-deque v0.8.1 [INFO] [stderr] Compiling nom v7.1.1 [INFO] [stderr] Compiling wide v0.7.4 [INFO] [stderr] Compiling approx v0.5.1 [INFO] [stderr] Compiling num-complex v0.4.0 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling typenum v1.15.0 [INFO] [stderr] Compiling crossbeam-deque v0.7.4 [INFO] [stderr] Compiling num_cpus v1.13.1 [INFO] [stderr] Compiling wayland-scanner v0.28.6 [INFO] [stderr] Compiling nix v0.20.0 [INFO] [stderr] Compiling dirs-sys v0.3.7 [INFO] [stderr] Compiling net2 v0.2.37 [INFO] [stderr] Compiling dirs v4.0.0 [INFO] [stderr] Compiling xdg v2.4.1 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling instant v0.1.12 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling indexmap v1.8.1 [INFO] [stderr] Compiling adler32 v1.2.0 [INFO] [stderr] Compiling cty v0.2.2 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Compiling slotmap v1.0.6 [INFO] [stderr] Compiling parking_lot_core v0.8.5 [INFO] [stderr] Compiling raw-window-handle v0.4.3 [INFO] [stderr] Compiling matrixmultiply v0.3.2 [INFO] [stderr] Compiling owned_ttf_parser v0.6.0 [INFO] [stderr] Compiling rusttype v0.9.2 [INFO] [stderr] Compiling dlib v0.4.2 [INFO] [stderr] Compiling mio v0.6.23 [INFO] [stderr] Compiling glutin_egl_sys v0.1.5 [INFO] [stderr] Compiling glutin_glx_sys v0.1.7 [INFO] [stderr] Compiling andrew v0.3.1 [INFO] [stderr] Compiling wayland-client v0.28.6 [INFO] [stderr] Compiling wayland-protocols v0.28.6 [INFO] [stderr] Compiling xcursor v0.3.4 [INFO] [stderr] Compiling memmap2 v0.1.0 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Compiling adler v1.0.2 [INFO] [stderr] Compiling weezl v0.1.6 [INFO] [stderr] Compiling deflate v0.8.6 [INFO] [stderr] Compiling mio-extras v2.0.6 [INFO] [stderr] Compiling simba v0.6.0 [INFO] [stderr] Compiling parking_lot v0.11.2 [INFO] [stderr] Compiling raw-window-handle v0.3.4 [INFO] [stderr] Compiling miniz_oxide v0.3.7 [INFO] [stderr] Compiling shared_library v0.1.9 [INFO] [stderr] Compiling serde_derive v1.0.136 [INFO] [stderr] Compiling petgraph v0.5.1 [INFO] [stderr] Compiling osmesa-sys v0.1.2 [INFO] [stderr] Compiling gif v0.11.3 [INFO] [stderr] Compiling serde v1.0.136 [INFO] [stderr] Compiling wayland-commons v0.28.6 [INFO] [stderr] Compiling png v0.16.8 [INFO] [stderr] Compiling scoped_threadpool v0.1.9 [INFO] [stderr] Compiling jpeg-decoder v0.1.22 [INFO] [stderr] Compiling calloop v0.6.5 [INFO] [stderr] Compiling simba v0.7.1 [INFO] [stderr] Compiling assert_approx_eq v1.1.0 [INFO] [stderr] Compiling nalgebra-macros v0.1.0 [INFO] [stderr] Compiling tiff v0.6.1 [INFO] [stderr] Compiling wayland-cursor v0.28.6 [INFO] [stderr] Compiling wayland-egl v0.28.6 [INFO] [stderr] Compiling image v0.23.14 [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] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 74 | fn compute_inertia_matrix(&self, _mass: Real) -> Mat3 { [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TWO` [INFO] [stdout] | [INFO] [stdout] 74 - fn compute_inertia_matrix(&self, mass: Real) -> Mat3 { [INFO] [stdout] 74 + fn compute_inertia_matrix(&self, math::TWO: Real) -> Mat3 { [INFO] [stdout] | [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] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 114 | _penetration_distance: Real, [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TWO` [INFO] [stdout] | [INFO] [stdout] 114 - penetration_distance: Real, [INFO] [stdout] 114 + math::TWO: Real, [INFO] [stdout] | [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 1m 06s [INFO] running `Command { std: "docker" "inspect" "c785a307b30f7d7fde05f7889173b764a336ee4e26550e32c5e121423e960575", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c785a307b30f7d7fde05f7889173b764a336ee4e26550e32c5e121423e960575", kill_on_drop: false }` [INFO] [stdout] c785a307b30f7d7fde05f7889173b764a336ee4e26550e32c5e121423e960575 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f4c8ad032cb29f1877393c21f29729f54ece01ac61ce5052d0963d09d7c9615c [INFO] running `Command { std: "docker" "start" "-a" "f4c8ad032cb29f1877393c21f29729f54ece01ac61ce5052d0963d09d7c9615c", kill_on_drop: false }` [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] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 74 | fn compute_inertia_matrix(&self, _mass: Real) -> Mat3 { [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TWO` [INFO] [stdout] | [INFO] [stdout] 74 - fn compute_inertia_matrix(&self, mass: Real) -> Mat3 { [INFO] [stdout] 74 + fn compute_inertia_matrix(&self, math::TWO: Real) -> Mat3 { [INFO] [stdout] | [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] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 114 | _penetration_distance: Real, [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TWO` [INFO] [stdout] | [INFO] [stdout] 114 - penetration_distance: Real, [INFO] [stdout] 114 + math::TWO: Real, [INFO] [stdout] | [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] [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: 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 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] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 74 | fn compute_inertia_matrix(&self, _mass: Real) -> Mat3 { [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TWO` [INFO] [stdout] | [INFO] [stdout] 74 - fn compute_inertia_matrix(&self, mass: Real) -> Mat3 { [INFO] [stdout] 74 + fn compute_inertia_matrix(&self, math::TWO: Real) -> Mat3 { [INFO] [stdout] | [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] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 114 | _penetration_distance: Real, [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TWO` [INFO] [stdout] | [INFO] [stdout] 114 - penetration_distance: Real, [INFO] [stdout] 114 + math::TWO: Real, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `axis` is never read [INFO] [stdout] --> src/geometry/sat.rs:387:21 [INFO] [stdout] | [INFO] [stdout] 387 | let mut axis = Vec3::zeros(); [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: value assigned to `distance` is never read [INFO] [stdout] --> src/geometry/sat.rs:421:21 [INFO] [stdout] | [INFO] [stdout] 421 | let mut distance = ZERO; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `axis` is never read [INFO] [stdout] --> src/geometry/sat.rs:422:21 [INFO] [stdout] | [INFO] [stdout] 422 | let mut axis = Vec3::zeros(); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [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 `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 2.11s [INFO] running `Command { std: "docker" "inspect" "f4c8ad032cb29f1877393c21f29729f54ece01ac61ce5052d0963d09d7c9615c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f4c8ad032cb29f1877393c21f29729f54ece01ac61ce5052d0963d09d7c9615c", kill_on_drop: false }` [INFO] [stdout] f4c8ad032cb29f1877393c21f29729f54ece01ac61ce5052d0963d09d7c9615c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] d2991f1cee746a95a8e70648263a6624f86ff8dc70551683798a9201b25521d5 [INFO] running `Command { std: "docker" "start" "-a" "d2991f1cee746a95a8e70648263a6624f86ff8dc70551683798a9201b25521d5", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `crate::math::math_essentials::*` [INFO] [stdout] [INFO] [stderr] --> src/engine/collision/collision_object.rs:2:5 [INFO] [stdout] running 43 tests [INFO] [stderr] | [INFO] [stdout] test custom_collections::binary_heap::tests::test_append ... ok [INFO] [stderr] 2 | use crate::math::math_essentials::*; [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] | [INFO] [stdout] test engine::intersection_algorithms::plane::tests::plane_plane_intersection ... ok [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] test engine::intersection_algorithms::plane_sphere::tests::plane_sphere_intersection ... ok [INFO] [stderr] [INFO] [stdout] test engine::intersection_algorithms::sphere::tests::sphere_sphere_intersection ... ok [INFO] [stderr] warning: unused imports: `sat::SAT` and `sat` [INFO] [stdout] test engine::shapes::plane::tests::test_reject_point_on_plane ... ok [INFO] [stderr] --> src/engine/intersection_algorithms/obb.rs:2:23 [INFO] [stdout] test engine::shapes::segment::tests::test_intersect_plane ... ok [INFO] [stderr] | [INFO] [stdout] test geometry::sat::test::separating_axis_2d ... ok [INFO] [stderr] 2 | use crate::geometry::{sat, sat::SAT}; [INFO] [stdout] test engine::shapes::obb::tests::OBB_is_inside ... ok [INFO] [stderr] | ^^^ ^^^^^^^^ [INFO] [stdout] test engine::shapes::obb::tests::OBB_project_point_onto_contour ... ok [INFO] [stderr] [INFO] [stdout] test geometry::helper::tests::test_clip ... ok [INFO] [stderr] warning: unused import: `crate::math::math_essentials::*` [INFO] [stdout] test engine::shapes::obb::tests::test_is_on_contour ... ok [INFO] [stderr] --> src/engine/intersection_algorithms/plane_sphere.rs:2:5 [INFO] [stdout] test engine::shapes::obb::tests::normal_face_test ... ok [INFO] [stderr] | [INFO] [stdout] test engine::intersection_algorithms::obb_plane::tests::obb_plane_intersection ... ok [INFO] [stderr] 2 | use crate::math::math_essentials::*; [INFO] [stdout] test engine::shapes::obb::tests::test_computed_normal_inverse_to_normal_from_rotation ... ok [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] test engine::intersection_algorithms::obb::tests::obb_obb_intersection ... ok [INFO] [stderr] [INFO] [stdout] test engine::shapes::obb::tests::test_distance_to_contour_in_direction ... ok [INFO] [stderr] warning: unused import: `sat::SAT` [INFO] [stdout] test geometry::sat::test::test_overlapping_or_touching ... ok [INFO] [stderr] --> src/engine/shapes/obb.rs:2:43 [INFO] [stdout] test engine::shapes::segment::tests::test_closest_point_on_lines ... ok [INFO] [stderr] | [INFO] [stdout] test geometry::sat::test::test_project ... ok [INFO] [stderr] 2 | use crate::geometry::{geometry_traits::*, sat::SAT}; [INFO] [stdout] test math::matrix::tests::cut ... ok [INFO] [stderr] | ^^^^^^^^ [INFO] [stdout] test math::matrix::tests::inverse ... ok [INFO] [stderr] [INFO] [stdout] test math::matrix::tests::matrix_transpose ... ok [INFO] [stderr] warning: unused imports: `Segment` and `Shape` [INFO] [stdout] test math::matrix::tests::determinant ... ok [INFO] [stderr] --> src/engine/contact_algorithms/obb_plane.rs:2:36 [INFO] [stdout] test math::matrix::tests::matrix_mul ... ok [INFO] [stderr] | [INFO] [stdout] test math::quaternion::tests::quat_composed_rotation_order_to_unity ... ok [INFO] [stderr] 2 | use crate::engine::shapes::{Plane, Segment, Shape, OBB}; [INFO] [stdout] test math::quaternion::tests::quaternion_rotation ... ok [INFO] [stderr] | ^^^^^^^ ^^^^^ [INFO] [stdout] test math::quaternion::tests::test_axis_vs_angle ... ok [INFO] [stderr] [INFO] [stdout] test geometry::sat::test::separating_axis_3d ... ok [INFO] [stderr] warning: unused import: `FaceIndex` [INFO] [stdout] test math::quaternion::tests::test_to_mat ... ok [INFO] [stderr] --> src/engine/contact_algorithms/obb_plane.rs:4:23 [INFO] [stdout] test math::transform::tests::rotation_are_clockwise ... ok [INFO] [stderr] | [INFO] [stdout] test math::transform::tests::testtesttest ... ok [INFO] [stderr] 4 | geometry_traits::{FaceIndex, PolyhedronTrait}, [INFO] [stdout] test math::vector::tests::test_orientation_cross_product_vec ... ok [INFO] [stderr] | ^^^^^^^^^ [INFO] [stdout] test math::vector::tests::vector_div ... ok [INFO] [stderr] [INFO] [stdout] test math::vector::tests::vector_div_assign ... ok [INFO] [stderr] warning: unused imports: `P3`, `Real`, and `Vec3` [INFO] [stdout] test math::vector::tests::vector_dot_product ... ok [INFO] [stderr] --> src/engine/contact_algorithms/sphere.rs:4:30 [INFO] [stdout] test engine::shapes::plane::tests::plane_signed_distance ... ok [INFO] [stderr] | [INFO] [stdout] test math::vector::tests::vector_normalize ... ok [INFO] [stderr] 4 | use crate::math::{vector::*, Real, Vec3, P3}; [INFO] [stdout] test math::vector::tests::vector_normalized ... ok [INFO] [stderr] | ^^^^ ^^^^ ^^ [INFO] [stdout] test engine::intersection_algorithms::obb_sphere::tests::obb_sphere_intersection ... ok [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] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: if this is intentional, prefix it with an underscore [INFO] [stderr] | [INFO] [stderr] 74 | fn compute_inertia_matrix(&self, _mass: Real) -> Mat3 { [INFO] [stderr] | + [INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `TWO` [INFO] [stderr] | [INFO] [stderr] 74 - fn compute_inertia_matrix(&self, mass: Real) -> Mat3 { [INFO] [stderr] 74 + fn compute_inertia_matrix(&self, math::TWO: Real) -> Mat3 { [INFO] [stderr] | [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] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: if this is intentional, prefix it with an underscore [INFO] [stderr] | [INFO] [stderr] 114 | _penetration_distance: Real, [INFO] [stderr] | + [INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `TWO` [INFO] [stderr] | [INFO] [stderr] 114 - penetration_distance: Real, [INFO] [stderr] 114 + math::TWO: Real, [INFO] [stderr] | [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: value assigned to `axis` is never read [INFO] [stderr] --> src/geometry/sat.rs:387:21 [INFO] [stderr] | [INFO] [stderr] 387 | let mut axis = Vec3::zeros(); [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: value assigned to `distance` is never read [INFO] [stderr] --> src/geometry/sat.rs:421:21 [INFO] [stderr] | [INFO] [stderr] 421 | let mut distance = ZERO; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `axis` is never read [INFO] [stderr] --> src/geometry/sat.rs:422:21 [INFO] [stderr] | [INFO] [stderr] 422 | let mut axis = Vec3::zeros(); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [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 `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 16 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] [stderr] --> tests/integration_test.rs:126:5 [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] [stderr] help: use `let _ = ...` to ignore the expression or result [INFO] [stderr] | [INFO] [stderr] 126 - drop(obb_rb); [INFO] [stderr] 126 + let _ = obb_rb; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `angine` (bin "angine" test) generated 1 warning [INFO] [stderr] warning: `angine` (test "integration_test") generated 5 warnings [INFO] [stderr] warning: `angine` (bin "angine") generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.24s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/angine-a9614104bde95e79) [INFO] [stdout] test engine::contact_algorithms::obb_plane::tests::new_obb_plane_test ... FAILED [INFO] [stdout] test math::matrix::tests::matrix_vec_mul ... ok [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' (27) 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: 0x56289053f8f2 - std::backtrace_rs::backtrace::libunwind::trace::h52580dd202462214 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x56289053f8f2 - std::backtrace_rs::backtrace::trace_unsynchronized::hc969519abce0f52b [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x56289053f8f2 - std::sys::backtrace::_print_fmt::hfd5825900b6e0030 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x56289053f8f2 - ::fmt::h427144ad75cfb218 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x56289055069f - core::fmt::rt::Argument::fmt::hd5ccc9cf97cea7f7 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x56289055069f - core::fmt::write::h593aaf5adf0f5dae [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x56289050ced1 - std::io::default_write_fmt::h305b5a0727055346 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x56289050ced1 - std::io::Write::write_fmt::h76f14a8a88733dc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x562890518e32 - std::sys::backtrace::BacktraceLock::print::h3953113552dca3ca [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x56289051d97f - std::panicking::default_hook::{{closure}}::h486b96ad75eafbb8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x56289051d811 - std::panicking::default_hook::h99456317c5a1a20c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5628904dd2de - as core::ops::function::Fn>::call::h441e4551014e4cf8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 12: 0x5628904dd2de - test::test_main_with_exit_callback::{{closure}}::hdbca54e17f1a00e4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x56289051e03f - as core::ops::function::Fn>::call::h1e57b72c4e1d3045 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 14: 0x56289051e03f - std::panicking::panic_with_hook::h67ab0df20212e4ea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x56289051de66 - std::panicking::panic_handler::{{closure}}::hc9e4a933ae92e208 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:700:13 [INFO] [stdout] 16: 0x562890518f69 - std::sys::backtrace::__rust_end_short_backtrace::hbfa72df9b68c2d19 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x56289050117d - __rustc[8cce077e14951490]::rust_begin_unwind [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x562890558020 - core::panicking::panic_fmt::h49931053d20abf41 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x562890557ffc - core::panicking::panic::h5b3f22493728bee0 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:145:5 [INFO] [stdout] 20: 0x5628904a6753 - angine::engine::contact_algorithms::obb_plane::tests::new_obb_plane_test::h7d21499930c42ef1 [INFO] [stdout] at /opt/rustwide/workdir/src/engine/contact_algorithms/obb_plane.rs:102:17 [INFO] [stdout] 21: 0x5628904a67b7 - angine::engine::contact_algorithms::obb_plane::tests::new_obb_plane_test::{{closure}}::hc2f717c1ebbf3eb2 [INFO] [stdout] at /opt/rustwide/workdir/src/engine/contact_algorithms/obb_plane.rs:89:28 [INFO] [stdout] 22: 0x5628904b73c6 - core::ops::function::FnOnce::call_once::h81658ac073471829 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 23: 0x5628904dd09b - core::ops::function::FnOnce::call_once::h5d9016d521f5aee4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x5628904dd09b - test::__rust_begin_short_backtrace::h123fcee610330442 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:663:18 [INFO] [stdout] 25: 0x5628904f2b85 - test::run_test_in_process::{{closure}}::h0442efda2e6359b2 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:74 [INFO] [stdout] 26: 0x5628904f2b85 - as core::ops::function::FnOnce<()>>::call_once::hfe3528c8dd09682c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 27: 0x5628904f2b85 - std::panicking::catch_unwind::do_call::hb1659f7844fe8531 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 28: 0x5628904f2b85 - std::panicking::catch_unwind::hdc1f4be0019e72ad [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 29: 0x5628904f2b85 - std::panic::catch_unwind::hd6d7ccfa4513e770 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 30: 0x5628904f2b85 - test::run_test_in_process::h6bbb839ed0802366 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:27 [INFO] [stdout] 31: 0x5628904f2b85 - test::run_test::{{closure}}::he4fad7398c8acc11 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:607:43 [INFO] [stdout] 32: 0x5628904c94f4 - test::run_test::{{closure}}::h41975797e198d26c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:637:41 [INFO] [stdout] 33: 0x5628904c94f4 - std::sys::backtrace::__rust_begin_short_backtrace::hfb46c397857336f1 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 34: 0x5628904cce9a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hddf826a64f532bea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 35: 0x5628904cce9a - as core::ops::function::FnOnce<()>>::call_once::hc3518c3eab91aeb3 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 36: 0x5628904cce9a - std::panicking::catch_unwind::do_call::h7bf3ad6dc012415a [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 37: 0x5628904cce9a - std::panicking::catch_unwind::h8b88f0375c767e36 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 38: 0x5628904cce9a - std::panic::catch_unwind::h66cb5d61a90f7bc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 39: 0x5628904cce9a - std::thread::Builder::spawn_unchecked_::{{closure}}::h65bc9d15fb966bbd [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 40: 0x5628904cce9a - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8d2c9a8796342e5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 41: 0x56289051309f - as core::ops::function::FnOnce>::call_once::hef12b47e5c033835 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 42: 0x56289051309f - std::sys::pal::unix::thread::Thread::new::thread_start::h135087e7c97657bc [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/pal/unix/thread.rs:118:17 [INFO] [stdout] 43: 0x74663e35caa4 - [INFO] [stdout] 44: 0x74663e3e9a34 - 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.08s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] running `Command { std: "docker" "inspect" "d2991f1cee746a95a8e70648263a6624f86ff8dc70551683798a9201b25521d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d2991f1cee746a95a8e70648263a6624f86ff8dc70551683798a9201b25521d5", kill_on_drop: false }` [INFO] [stdout] d2991f1cee746a95a8e70648263a6624f86ff8dc70551683798a9201b25521d5