[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 beta-2025-01-12 for beta-1.85-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMatheoDumont%2Fengine" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/MatheoDumont/engine on toolchain beta-2025-01-12 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-01-12" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-0-tc2/source/Cargo.toml [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" "+beta-2025-01-12" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ncollide3d v0.32.0 [INFO] [stderr] Downloaded kiss3d v0.32.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-01-12" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c7ec361525d84d9f6279689b0f2a77d46614aed29e005f2e3a889024f64fd9a3 [INFO] running `Command { std: "docker" "start" "-a" "c7ec361525d84d9f6279689b0f2a77d46614aed29e005f2e3a889024f64fd9a3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c7ec361525d84d9f6279689b0f2a77d46614aed29e005f2e3a889024f64fd9a3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c7ec361525d84d9f6279689b0f2a77d46614aed29e005f2e3a889024f64fd9a3", kill_on_drop: false }` [INFO] [stdout] c7ec361525d84d9f6279689b0f2a77d46614aed29e005f2e3a889024f64fd9a3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-01-12" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9c48151f138870ad455c4bef3d3b6c19d18990360cc7a578932b0c6a9c06b9a7 [INFO] running `Command { std: "docker" "start" "-a" "9c48151f138870ad455c4bef3d3b6c19d18990360cc7a578932b0c6a9c06b9a7", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling libc v0.2.124 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling proc-macro2 v1.0.37 [INFO] [stderr] Compiling xml-rs v0.8.4 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling pkg-config v0.3.25 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling log v0.4.16 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling smallvec v1.8.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.8 [INFO] [stderr] Compiling khronos_api v3.1.0 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling libloading v0.7.3 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling downcast-rs v1.2.0 [INFO] [stderr] Compiling once_cell v1.10.0 [INFO] [stderr] Compiling bytemuck v1.9.1 [INFO] [stderr] Compiling syn v1.0.91 [INFO] [stderr] Compiling rayon-core v1.9.2 [INFO] [stderr] Compiling dlib v0.5.0 [INFO] [stderr] Compiling scoped-tls v1.0.0 [INFO] [stderr] Compiling ttf-parser v0.6.2 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling nix v0.18.0 [INFO] [stderr] Compiling safe_arch v0.6.0 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling ab_glyph_rasterizer v0.1.5 [INFO] [stderr] Compiling linked-hash-map v0.5.4 [INFO] [stderr] Compiling paste v1.0.7 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling wayland-sys v0.28.6 [INFO] [stderr] Compiling crossbeam-epoch v0.9.8 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Compiling x11-dl v2.19.1 [INFO] [stderr] Compiling nom v7.1.1 [INFO] [stderr] Compiling wide v0.7.4 [INFO] [stderr] Compiling rayon v1.5.2 [INFO] [stderr] Compiling num-rational v0.4.0 [INFO] [stderr] Compiling quote v1.0.18 [INFO] [stderr] Compiling crossbeam-channel v0.5.4 [INFO] [stderr] Compiling lock_api v0.4.7 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling slab v0.4.6 [INFO] [stderr] Compiling parking_lot_core v0.8.5 [INFO] [stderr] Compiling typenum v1.15.0 [INFO] [stderr] Compiling wayland-scanner v0.28.6 [INFO] [stderr] Compiling num-complex v0.4.0 [INFO] [stderr] Compiling crossbeam-deque v0.8.1 [INFO] [stderr] Compiling approx v0.5.1 [INFO] [stderr] Compiling crossbeam-deque v0.7.4 [INFO] [stderr] Compiling owned_ttf_parser v0.6.0 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling walkdir v2.3.2 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling indexmap v1.8.1 [INFO] [stderr] Compiling libloading v0.6.7 [INFO] [stderr] Compiling instant v0.1.12 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Compiling adler32 v1.2.0 [INFO] [stderr] Compiling cty v0.2.2 [INFO] [stderr] Compiling matrixmultiply v0.3.2 [INFO] [stderr] Compiling raw-window-handle v0.4.3 [INFO] [stderr] Compiling dlib v0.4.2 [INFO] [stderr] Compiling slotmap v1.0.6 [INFO] [stderr] Compiling glutin_glx_sys v0.1.7 [INFO] [stderr] Compiling glutin_egl_sys v0.1.5 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling adler v1.0.2 [INFO] [stderr] Compiling hashbrown v0.11.2 [INFO] [stderr] Compiling weezl v0.1.6 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling miniz_oxide v0.3.7 [INFO] [stderr] Compiling simba v0.6.0 [INFO] [stderr] Compiling percent-encoding v2.1.0 [INFO] [stderr] Compiling num_cpus v1.13.1 [INFO] [stderr] Compiling nix v0.20.0 [INFO] [stderr] Compiling dirs-sys v0.3.7 [INFO] [stderr] Compiling rusttype v0.9.2 [INFO] [stderr] Compiling dirs v4.0.0 [INFO] [stderr] Compiling xdg v2.4.1 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling net2 v0.2.37 [INFO] [stderr] Compiling memmap2 v0.1.0 [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 andrew v0.3.1 [INFO] [stderr] Compiling mio v0.6.23 [INFO] [stderr] Compiling parking_lot v0.11.2 [INFO] [stderr] Compiling mio-extras v2.0.6 [INFO] [stderr] Compiling deflate v0.8.6 [INFO] [stderr] Compiling shared_library v0.1.9 [INFO] [stderr] Compiling raw-window-handle v0.3.4 [INFO] [stderr] Compiling serde_derive v1.0.136 [INFO] [stderr] Compiling fixedbitset v0.2.0 [INFO] [stderr] Compiling color_quant v1.1.0 [INFO] [stderr] Compiling serde v1.0.136 [INFO] [stderr] Compiling osmesa-sys v0.1.2 [INFO] [stderr] Compiling petgraph v0.5.1 [INFO] [stderr] Compiling gif v0.11.3 [INFO] [stderr] Compiling png v0.16.8 [INFO] [stderr] Compiling scoped_threadpool v0.1.9 [INFO] [stderr] Compiling simba v0.7.1 [INFO] [stderr] Compiling glow v0.7.2 [INFO] [stderr] Compiling assert_approx_eq v1.1.0 [INFO] [stderr] Compiling nalgebra-macros v0.1.0 [INFO] [stderr] Compiling calloop v0.6.5 [INFO] [stderr] Compiling wayland-commons v0.28.6 [INFO] [stderr] Compiling jpeg-decoder v0.1.22 [INFO] [stderr] Compiling tiff v0.6.1 [INFO] [stderr] Compiling image v0.23.14 [INFO] [stderr] Compiling nalgebra v0.29.0 [INFO] [stderr] Compiling wayland-cursor v0.28.6 [INFO] [stderr] Compiling wayland-egl v0.28.6 [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)]` 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: elided lifetime has a name [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:13:56 [INFO] [stdout] | [INFO] [stdout] 12 | impl<'a> ContactSolver<'a> { [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] 13 | pub fn new(simulation: &'a mut SimulationWorld) -> ContactSolver { [INFO] [stdout] | ^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContactInformations` and `ContactManifold` [INFO] [stdout] --> src/engine/simulation/mod.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::engine::contact_algorithms::{ContactInformations, ContactManifold}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mat3` [INFO] [stdout] --> src/geometry/geometry_traits.rs:2:39 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::math::{math_essentials::*, Mat3}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `P3` [INFO] [stdout] --> src/math/helper.rs:1:39 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{Real, Vec3, Vector3, ONE, P3, ZERO}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `P3` and `vector::*` [INFO] [stdout] --> src/math/matrix.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{vector::*, Real, Vec3, Vector3, ONE, P3, ZERO}; [INFO] [stdout] | ^^^^^^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nalgebra::Matrix3` [INFO] [stdout] --> src/math/matrix.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nalgebra::Matrix3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Directions` [INFO] [stdout] --> src/math/quaternion.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{helper, Directions, Mat3, Real, Vec3, ONE, TWO, ZERO}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mass` [INFO] [stdout] --> src/engine/shapes/plane.rs:74:38 [INFO] [stdout] | [INFO] [stdout] 74 | fn compute_inertia_matrix(&self, mass: Real) -> Mat3 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mass` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> src/engine/shapes/sphere.rs:52:35 [INFO] [stdout] | [INFO] [stdout] 52 | fn set_orientation(&mut self, o: Mat3) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obb` [INFO] [stdout] --> src/engine/contact_algorithms/obb_sphere.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn obb_sphere(obb: &OBB, sphere: &Sphere) -> ContactInformations { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sphere` [INFO] [stdout] --> src/engine/contact_algorithms/obb_sphere.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn obb_sphere(obb: &OBB, sphere: &Sphere) -> ContactInformations { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sphere` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p1` [INFO] [stdout] --> src/engine/contact_algorithms/plane.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn plane_plane(p1: &Plane, p2: &Plane) -> ContactInformations { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p2` [INFO] [stdout] --> src/engine/contact_algorithms/plane.rs:4:32 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn plane_plane(p1: &Plane, p2: &Plane) -> ContactInformations { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `penetration_distance` [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | penetration_distance: Real, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_penetration_distance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `end` is never read [INFO] [stdout] --> src/custom_collections/binary_heap.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | end -= 1; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` 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)]` 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] --> 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)]` 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 57s [INFO] running `Command { std: "docker" "inspect" "9c48151f138870ad455c4bef3d3b6c19d18990360cc7a578932b0c6a9c06b9a7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9c48151f138870ad455c4bef3d3b6c19d18990360cc7a578932b0c6a9c06b9a7", kill_on_drop: false }` [INFO] [stdout] 9c48151f138870ad455c4bef3d3b6c19d18990360cc7a578932b0c6a9c06b9a7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-01-12" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1d93a9534db7b1c0051aa47c8985857604e0462f22612de8b9dd8501166a17d4 [INFO] running `Command { std: "docker" "start" "-a" "1d93a9534db7b1c0051aa47c8985857604e0462f22612de8b9dd8501166a17d4", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `crate::math::math_essentials::*` [INFO] [stdout] --> src/engine/collision/collision_object.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::math::math_essentials::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` 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: elided lifetime has a name [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:13:56 [INFO] [stdout] | [INFO] [stdout] 12 | impl<'a> ContactSolver<'a> { [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] 13 | pub fn new(simulation: &'a mut SimulationWorld) -> ContactSolver { [INFO] [stdout] | ^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContactInformations` and `ContactManifold` [INFO] [stdout] --> src/engine/simulation/mod.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::engine::contact_algorithms::{ContactInformations, ContactManifold}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mat3` [INFO] [stdout] --> src/geometry/geometry_traits.rs:2:39 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::math::{math_essentials::*, Mat3}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `P3` [INFO] [stdout] --> src/math/helper.rs:1:39 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{Real, Vec3, Vector3, ONE, P3, ZERO}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `P3` and `vector::*` [INFO] [stdout] --> src/math/matrix.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{vector::*, Real, Vec3, Vector3, ONE, P3, ZERO}; [INFO] [stdout] | ^^^^^^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nalgebra::Matrix3` [INFO] [stdout] --> src/math/matrix.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nalgebra::Matrix3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Directions` [INFO] [stdout] --> src/math/quaternion.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{helper, Directions, Mat3, Real, Vec3, ONE, TWO, ZERO}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mass` [INFO] [stdout] --> src/engine/shapes/plane.rs:74:38 [INFO] [stdout] | [INFO] [stdout] 74 | fn compute_inertia_matrix(&self, mass: Real) -> Mat3 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mass` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> src/engine/shapes/sphere.rs:52:35 [INFO] [stdout] | [INFO] [stdout] 52 | fn set_orientation(&mut self, o: Mat3) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obb` [INFO] [stdout] --> src/engine/contact_algorithms/obb_sphere.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn obb_sphere(obb: &OBB, sphere: &Sphere) -> ContactInformations { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sphere` [INFO] [stdout] --> src/engine/contact_algorithms/obb_sphere.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn obb_sphere(obb: &OBB, sphere: &Sphere) -> ContactInformations { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sphere` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p1` [INFO] [stdout] --> src/engine/contact_algorithms/plane.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn plane_plane(p1: &Plane, p2: &Plane) -> ContactInformations { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p2` [INFO] [stdout] --> src/engine/contact_algorithms/plane.rs:4:32 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn plane_plane(p1: &Plane, p2: &Plane) -> ContactInformations { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `penetration_distance` [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | penetration_distance: Real, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_penetration_distance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `end` is never read [INFO] [stdout] --> src/custom_collections/binary_heap.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | end -= 1; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` 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)]` 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] --> 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)]` 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] [stderr] Compiling angine v0.1.0 (/opt/rustwide/workdir) [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep` [INFO] [stdout] --> src/main.rs:146:22 [INFO] [stdout] | [INFO] [stdout] 146 | std::thread::sleep_ms(16 - i); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `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)]` 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: elided lifetime has a name [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:13:56 [INFO] [stdout] | [INFO] [stdout] 12 | impl<'a> ContactSolver<'a> { [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] 13 | pub fn new(simulation: &'a mut SimulationWorld) -> ContactSolver { [INFO] [stdout] | ^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContactInformations` and `ContactManifold` [INFO] [stdout] --> src/engine/simulation/mod.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::engine::contact_algorithms::{ContactInformations, ContactManifold}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mat3` [INFO] [stdout] --> src/geometry/geometry_traits.rs:2:39 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::math::{math_essentials::*, Mat3}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `P3` [INFO] [stdout] --> src/math/helper.rs:1:39 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{Real, Vec3, Vector3, ONE, P3, ZERO}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `P3` [INFO] [stdout] --> src/math/matrix.rs:1:50 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{vector::*, Real, Vec3, Vector3, ONE, P3, ZERO}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nalgebra::Matrix3` [INFO] [stdout] --> src/math/matrix.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nalgebra::Matrix3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Directions` [INFO] [stdout] --> src/math/quaternion.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{helper, Directions, Mat3, Real, Vec3, ONE, TWO, ZERO}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `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)]` 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)]` 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 variable: `mass` [INFO] [stdout] --> src/engine/shapes/plane.rs:74:38 [INFO] [stdout] | [INFO] [stdout] 74 | fn compute_inertia_matrix(&self, mass: Real) -> Mat3 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mass` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> src/engine/shapes/sphere.rs:52:35 [INFO] [stdout] | [INFO] [stdout] 52 | fn set_orientation(&mut self, o: Mat3) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obb` [INFO] [stdout] --> src/engine/contact_algorithms/obb_sphere.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn obb_sphere(obb: &OBB, sphere: &Sphere) -> ContactInformations { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sphere` [INFO] [stdout] --> src/engine/contact_algorithms/obb_sphere.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn obb_sphere(obb: &OBB, sphere: &Sphere) -> ContactInformations { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sphere` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p1` [INFO] [stdout] --> src/engine/contact_algorithms/plane.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn plane_plane(p1: &Plane, p2: &Plane) -> ContactInformations { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p2` [INFO] [stdout] --> src/engine/contact_algorithms/plane.rs:4:32 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn plane_plane(p1: &Plane, p2: &Plane) -> ContactInformations { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `penetration_distance` [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | penetration_distance: Real, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_penetration_distance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `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)]` 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)]` 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)]` 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)]` 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: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | drop(rb1); [INFO] [stdout] | ^^^^^---^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&RigidBody` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 88 - drop(rb1); [INFO] [stdout] 88 + let _ = rb1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/engine/simulation/collision_solver.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | drop(rb2); [INFO] [stdout] | ^^^^^---^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&RigidBody` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 89 - drop(rb2); [INFO] [stdout] 89 + let _ = rb2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `face_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | pub face_A: FaceResult, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `face_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub face_B: FaceResult, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `face_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | pub face_A: FaceResult, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `face_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub face_B: FaceResult, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sat_2D` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn sat_2D( [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `sat_2_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `face_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | let face_A = FaceResult { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `face_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | let face_B = FaceResult { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `face_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sat_3D` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn sat_3D(shape_A: &T, shape_B: &T) -> Option { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `sat_3_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `shape_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:134:35 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn sat_3D(shape_A: &T, shape_B: &T) -> Option { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `shape_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `shape_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:134:48 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn sat_3D(shape_A: &T, shape_B: &T) -> Option { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `shape_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `vertices_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | let vertices_A = shape_A.transformed_vertices(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `vertices_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `vertices_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | let vertices_B = shape_B.transformed_vertices(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `vertices_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `best_face_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:139:13 [INFO] [stdout] | [INFO] [stdout] 139 | let mut best_face_A = FaceResult { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `best_face_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `best_face_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | let mut best_face_B = FaceResult { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `best_face_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `direction_edge_A` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:194:17 [INFO] [stdout] | [INFO] [stdout] 194 | let direction_edge_A = vertices_A[edge1.vi1] - vertices_A[edge1.vi2]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `direction_edge_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `direction_edge_B` should have a snake case name [INFO] [stdout] --> src/geometry/sat.rs:195:17 [INFO] [stdout] | [INFO] [stdout] 195 | let direction_edge_B = vertices_B[edge2.vi1] - vertices_B[edge2.vi2]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `direction_edge_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `X` should have a snake case name [INFO] [stdout] --> src/math/transform.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn X(pitch: Real) -> Mat3 { [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `Y` should have a snake case name [INFO] [stdout] --> src/math/transform.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn Y(yaw: Real) -> Mat3 { [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `Z` should have a snake case name [INFO] [stdout] --> src/math/transform.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn Z(roll: Real) -> Mat3 { [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:84:19 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn projection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:84:32 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn projection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:92:18 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn rejection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:92:31 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn rejection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:100:19 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn reflection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B` should have a snake case name [INFO] [stdout] --> src/math/vector.rs:100:32 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn reflection(A: &Vector3, B: &Vector3) -> Vector3 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `b` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.89s [INFO] running `Command { std: "docker" "inspect" "1d93a9534db7b1c0051aa47c8985857604e0462f22612de8b9dd8501166a17d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d93a9534db7b1c0051aa47c8985857604e0462f22612de8b9dd8501166a17d4", kill_on_drop: false }` [INFO] [stdout] 1d93a9534db7b1c0051aa47c8985857604e0462f22612de8b9dd8501166a17d4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-01-12" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ce17a15f7207696a2ddf11065f5baee736bf824ad6e21f3d1e034e1e8be8c129 [INFO] running `Command { std: "docker" "start" "-a" "ce17a15f7207696a2ddf11065f5baee736bf824ad6e21f3d1e034e1e8be8c129", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `crate::math::math_essentials::*` [INFO] [stderr] --> src/engine/collision/collision_object.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::math::math_essentials::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `sat::SAT` and `sat` [INFO] [stderr] --> src/engine/intersection_algorithms/obb.rs:2:23 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::geometry::{sat, sat::SAT}; [INFO] [stderr] | ^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::math::math_essentials::*` [INFO] [stderr] --> src/engine/intersection_algorithms/plane_sphere.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::math::math_essentials::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `sat::SAT` [INFO] [stderr] --> src/engine/shapes/obb.rs:2:43 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::geometry::{geometry_traits::*, sat::SAT}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Segment` and `Shape` [INFO] [stderr] --> src/engine/contact_algorithms/obb_plane.rs:2:36 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::engine::shapes::{Plane, Segment, Shape, OBB}; [INFO] [stderr] | ^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `FaceIndex` [INFO] [stderr] --> src/engine/contact_algorithms/obb_plane.rs:4:23 [INFO] [stderr] | [INFO] [stderr] 4 | geometry_traits::{FaceIndex, PolyhedronTrait}, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `P3`, `Real`, and `Vec3` [INFO] [stderr] --> src/engine/contact_algorithms/sphere.rs:4:30 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::math::{vector::*, Real, Vec3, P3}; [INFO] [stderr] | ^^^^ ^^^^ ^^ [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/engine/simulation/collision_solver.rs:13:56 [INFO] [stderr] | [INFO] [stderr] 12 | impl<'a> ContactSolver<'a> { [INFO] [stderr] | -- lifetime `'a` declared here [INFO] [stderr] 13 | pub fn new(simulation: &'a mut SimulationWorld) -> ContactSolver { [INFO] [stderr] | ^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ContactInformations` and `ContactManifold` [INFO] [stderr] --> src/engine/simulation/mod.rs:8:41 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::engine::contact_algorithms::{ContactInformations, ContactManifold}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Mat3` [INFO] [stderr] --> src/geometry/geometry_traits.rs:2:39 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::math::{math_essentials::*, Mat3}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `P3` [INFO] [stderr] --> src/math/helper.rs:1:39 [INFO] [stderr] | [INFO] [stderr] 1 | use super::{Real, Vec3, Vector3, ONE, P3, ZERO}; [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `P3` and `vector::*` [INFO] [stderr] --> src/math/matrix.rs:1:13 [INFO] [stderr] | [INFO] [stderr] 1 | use super::{vector::*, Real, Vec3, Vector3, ONE, P3, ZERO}; [INFO] [stderr] | ^^^^^^^^^ ^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `nalgebra::Matrix3` [INFO] [stderr] --> src/math/matrix.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use nalgebra::Matrix3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Directions` [INFO] [stderr] --> src/math/quaternion.rs:1:21 [INFO] [stderr] | [INFO] [stderr] 1 | use super::{helper, Directions, Mat3, Real, Vec3, ONE, TWO, ZERO}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mass` [INFO] [stderr] --> src/engine/shapes/plane.rs:74:38 [INFO] [stderr] | [INFO] [stderr] 74 | fn compute_inertia_matrix(&self, mass: Real) -> Mat3 { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mass` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `o` [INFO] [stderr] --> src/engine/shapes/sphere.rs:52:35 [INFO] [stderr] | [INFO] [stderr] 52 | fn set_orientation(&mut self, o: Mat3) {} [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `obb` [INFO] [stderr] --> src/engine/contact_algorithms/obb_sphere.rs:4:19 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn obb_sphere(obb: &OBB, sphere: &Sphere) -> ContactInformations { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_obb` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sphere` [INFO] [stderr] --> src/engine/contact_algorithms/obb_sphere.rs:4:30 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn obb_sphere(obb: &OBB, sphere: &Sphere) -> ContactInformations { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sphere` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `p1` [INFO] [stderr] --> src/engine/contact_algorithms/plane.rs:4:20 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn plane_plane(p1: &Plane, p2: &Plane) -> ContactInformations { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_p1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `p2` [INFO] [stderr] --> src/engine/contact_algorithms/plane.rs:4:32 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn plane_plane(p1: &Plane, p2: &Plane) -> ContactInformations { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_p2` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `penetration_distance` [INFO] [stderr] --> src/engine/simulation/collision_solver.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | penetration_distance: Real, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_penetration_distance` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `end` is never read [INFO] [stderr] --> src/custom_collections/binary_heap.rs:83:9 [INFO] [stderr] | [INFO] [stderr] 83 | end -= 1; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` 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)]` 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] --> 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)]` 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)]` 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)]` 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)]` 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)]` 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 13 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)]` 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)]` 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)]` 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") generated 1 warning [INFO] [stderr] warning: `angine` (test "integration_test") generated 5 warnings [INFO] [stderr] warning: `angine` (bin "angine" test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/angine-ae06b465822c972b) [INFO] [stdout] [INFO] [stdout] running 43 tests [INFO] [stdout] test custom_collections::binary_heap::tests::test_append ... ok [INFO] [stdout] test engine::intersection_algorithms::obb::tests::obb_obb_intersection ... ok [INFO] [stdout] test engine::contact_algorithms::sphere::test::sphere_sphere_point_intersection ... ok [INFO] [stdout] test custom_collections::binary_heap::tests::test_pop ... ok [INFO] [stdout] test engine::intersection_algorithms::obb_sphere::tests::obb_sphere_intersection ... ok [INFO] [stdout] test engine::intersection_algorithms::obb_plane::tests::obb_plane_intersection ... ok [INFO] [stdout] test engine::intersection_algorithms::plane::tests::plane_plane_intersection ... ok [INFO] [stdout] test engine::intersection_algorithms::plane_sphere::tests::plane_sphere_intersection ... ok [INFO] [stdout] test engine::shapes::obb::tests::OBB_project_point_onto_contour ... ok [INFO] [stdout] test engine::intersection_algorithms::sphere::tests::sphere_sphere_intersection ... ok [INFO] [stdout] test engine::shapes::obb::tests::OBB_is_inside ... ok [INFO] [stdout] test engine::shapes::obb::tests::normal_face_test ... ok [INFO] [stdout] test engine::shapes::obb::tests::test_distance_to_contour_in_direction ... ok [INFO] [stdout] test engine::shapes::obb::tests::test_is_on_contour ... ok [INFO] [stdout] test engine::shapes::segment::tests::test_closest_point_on_lines ... ok [INFO] [stdout] test geometry::helper::tests::test_clip ... ok [INFO] [stdout] test engine::shapes::segment::tests::test_intersect_plane ... ok [INFO] [stdout] test geometry::sat::test::separating_axis_2d ... ok [INFO] [stdout] test math::matrix::tests::determinant ... ok [INFO] [stdout] test math::matrix::tests::inverse ... ok [INFO] [stdout] test math::matrix::tests::matrix_mul ... ok [INFO] [stdout] test geometry::sat::test::test_project ... ok [INFO] [stdout] test math::quaternion::tests::quat_composed_rotation_order_to_unity ... ok [INFO] [stdout] test math::matrix::tests::matrix_transpose ... ok [INFO] [stdout] test geometry::sat::test::test_overlapping_or_touching ... ok [INFO] [stdout] test math::matrix::tests::matrix_vec_mul ... ok [INFO] [stdout] test math::quaternion::tests::quaternion_rotation ... ok [INFO] [stdout] test geometry::sat::test::separating_axis_3d ... ok [INFO] [stdout] test engine::shapes::obb::tests::test_computed_normal_inverse_to_normal_from_rotation ... ok [INFO] [stdout] test engine::shapes::plane::tests::test_reject_point_on_plane ... ok [INFO] [stdout] test engine::shapes::plane::tests::plane_signed_distance ... ok [INFO] [stdout] test math::quaternion::tests::test_axis_vs_angle ... ok [INFO] [stdout] test math::quaternion::tests::test_to_mat ... ok [INFO] [stdout] test math::transform::tests::rotation_are_clockwise ... ok [INFO] [stdout] test math::transform::tests::testtesttest ... ok [INFO] [stdout] test math::vector::tests::test_orientation_cross_product_vec ... ok [INFO] [stdout] test math::vector::tests::vector_div ... ok [INFO] [stdout] test math::vector::tests::vector_div_assign ... ok [INFO] [stdout] test math::vector::tests::vector_dot_product ... ok [INFO] [stdout] test math::vector::tests::vector_normalize ... ok [INFO] [stdout] test math::vector::tests::vector_normalized ... ok [INFO] [stdout] test math::matrix::tests::cut ... ok [INFO] [stdout] test engine::contact_algorithms::obb_plane::tests::new_obb_plane_test ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- engine::contact_algorithms::obb_plane::tests::new_obb_plane_test stdout ---- [INFO] [stdout] Points de collisions (4) : [INFO] [stdout] Vector3 { data: [-1.0, -0.25, 1.0] } [INFO] [stdout] Vector3 { data: [1.0, -0.25, 1.0] } [INFO] [stdout] Vector3 { data: [-1.0, -0.25, -1.0] } [INFO] [stdout] Vector3 { data: [1.0, -0.25, -1.0] } [INFO] [stdout] new length after normalization=1.0 [INFO] [stdout] distance = 1.7179114, length = 1.6007811 [INFO] [stdout] [INFO] [stdout] thread 'engine::contact_algorithms::obb_plane::tests::new_obb_plane_test' 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: 0x5595c3e1feba - std::backtrace_rs::backtrace::libunwind::trace::ha13ab8a94fd3bb92 [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5 [INFO] [stdout] 1: 0x5595c3e1feba - std::backtrace_rs::backtrace::trace_unsynchronized::h2a4c556e569d314b [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x5595c3e1feba - std::sys::backtrace::_print_fmt::hf52186dec7bdf1bb [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5595c3e1feba - ::fmt::hb5c3379828c15690 [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5595c3e462d3 - core::fmt::rt::Argument::fmt::h8220db795cd6f76c [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/core/src/fmt/rt.rs:177:76 [INFO] [stdout] 5: 0x5595c3e462d3 - core::fmt::write::hd20c41beeec2e8c0 [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/core/src/fmt/mod.rs:1440:21 [INFO] [stdout] 6: 0x5595c3e1cfd3 - std::io::Write::write_fmt::hf276ec928345bea3 [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/io/mod.rs:1887:15 [INFO] [stdout] 7: 0x5595c3e1fd02 - std::sys::backtrace::BacktraceLock::print::h4fa77b65bb5ed2ec [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 8: 0x5595c3e213f0 - std::panicking::default_hook::{{closure}}::hd3560f93167cf51e [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/panicking.rs:295:22 [INFO] [stdout] 9: 0x5595c3e2118d - std::panicking::default_hook::h361b8e3c5cbb2501 [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/panicking.rs:319:9 [INFO] [stdout] 10: 0x5595c3deaba3 - as core::ops::function::Fn>::call::h52b4c42c9dce8b0e [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/alloc/src/boxed.rs:2007:9 [INFO] [stdout] 11: 0x5595c3deaba3 - test::test_main::{{closure}}::h1a9dc25180417899 [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/test/src/lib.rs:134:21 [INFO] [stdout] 12: 0x5595c3e21c23 - as core::ops::function::Fn>::call::h080867abcafb687f [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/alloc/src/boxed.rs:2007:9 [INFO] [stdout] 13: 0x5595c3e21c23 - std::panicking::rust_panic_with_hook::h7e187ba6ef3a8505 [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/panicking.rs:836:13 [INFO] [stdout] 14: 0x5595c3e218c6 - std::panicking::begin_panic_handler::{{closure}}::h2160aaedd30b4698 [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/panicking.rs:694:13 [INFO] [stdout] 15: 0x5595c3e203b9 - std::sys::backtrace::__rust_end_short_backtrace::h2544fe16c7a2009f [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/sys/backtrace.rs:168:18 [INFO] [stdout] 16: 0x5595c3e2158d - rust_begin_unwind [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/panicking.rs:692:5 [INFO] [stdout] 17: 0x5595c3d84c60 - core::panicking::panic_fmt::h55d7693adb8e1cee [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/core/src/panicking.rs:75:14 [INFO] [stdout] 18: 0x5595c3d84cec - core::panicking::panic::h1bc1995c6e13b0ae [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/core/src/panicking.rs:145:5 [INFO] [stdout] 19: 0x5595c3db0644 - angine::engine::contact_algorithms::obb_plane::tests::new_obb_plane_test::h387a2db02f749a7c [INFO] [stdout] at /opt/rustwide/workdir/src/engine/contact_algorithms/obb_plane.rs:102:17 [INFO] [stdout] 20: 0x5595c3daf157 - angine::engine::contact_algorithms::obb_plane::tests::new_obb_plane_test::{{closure}}::ha473d7b22722c20d [INFO] [stdout] at /opt/rustwide/workdir/src/engine/contact_algorithms/obb_plane.rs:89:28 [INFO] [stdout] 21: 0x5595c3da84f6 - core::ops::function::FnOnce::call_once::ha90e47e129f6815a [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 22: 0x5595c3df03fb - core::ops::function::FnOnce::call_once::h42df3dc9a56fb705 [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x5595c3df03fb - test::__rust_begin_short_backtrace::hf2ff4d4d12dd75b0 [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/test/src/lib.rs:632:18 [INFO] [stdout] 24: 0x5595c3def283 - test::run_test_in_process::{{closure}}::h8461a23c6c0ac10c [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/test/src/lib.rs:655:60 [INFO] [stdout] 25: 0x5595c3def283 - as core::ops::function::FnOnce<()>>::call_once::hefab1bfcb42baf2e [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 26: 0x5595c3def283 - std::panicking::try::do_call::h75c82cb1133d19f1 [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/panicking.rs:584:40 [INFO] [stdout] 27: 0x5595c3def283 - std::panicking::try::h41d68fc63841231a [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/panicking.rs:547:19 [INFO] [stdout] 28: 0x5595c3def283 - std::panic::catch_unwind::h7a7ff6adf9e0c698 [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/panic.rs:358:14 [INFO] [stdout] 29: 0x5595c3def283 - test::run_test_in_process::hcd527530689ec177 [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/test/src/lib.rs:655:27 [INFO] [stdout] 30: 0x5595c3def283 - test::run_test::{{closure}}::h51ba581aac56ca21 [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/test/src/lib.rs:576:43 [INFO] [stdout] 31: 0x5595c3db2f85 - test::run_test::{{closure}}::h9d0d2581742c4e6c [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/test/src/lib.rs:606:41 [INFO] [stdout] 32: 0x5595c3db2f85 - std::sys::backtrace::__rust_begin_short_backtrace::h94b953e0285eca69 [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/sys/backtrace.rs:152:18 [INFO] [stdout] 33: 0x5595c3db6a16 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hac891bfe52f0501a [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/thread/mod.rs:564:17 [INFO] [stdout] 34: 0x5595c3db6a16 - as core::ops::function::FnOnce<()>>::call_once::hd4f76b3ef0615394 [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 35: 0x5595c3db6a16 - std::panicking::try::do_call::h31b1a419f4fa670c [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/panicking.rs:584:40 [INFO] [stdout] 36: 0x5595c3db6a16 - std::panicking::try::h277e348adef7f0af [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/panicking.rs:547:19 [INFO] [stdout] 37: 0x5595c3db6a16 - std::panic::catch_unwind::h06db5059e51a109d [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/panic.rs:358:14 [INFO] [stdout] 38: 0x5595c3db6a16 - std::thread::Builder::spawn_unchecked_::{{closure}}::h048aed1b5c822396 [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/thread/mod.rs:562:30 [INFO] [stdout] 39: 0x5595c3db6a16 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9f03098da71d0b51 [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 40: 0x5595c3e25a8b - as core::ops::function::FnOnce>::call_once::hcc221cc1d8cbbdc7 [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/alloc/src/boxed.rs:1993:9 [INFO] [stdout] 41: 0x5595c3e25a8b - as core::ops::function::FnOnce>::call_once::he5e5264a0dcd6e5f [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/alloc/src/boxed.rs:1993:9 [INFO] [stdout] 42: 0x5595c3e25a8b - std::sys::pal::unix::thread::Thread::new::thread_start::h307a072356a0dfca [INFO] [stdout] at /rustc/fe9b9751fa54a5871b87cd36a582f9b7b06123fd/library/std/src/sys/pal/unix/thread.rs:106:17 [INFO] [stdout] 43: 0x7ef902008ac3 - [INFO] [stdout] 44: 0x7ef902099a04 - 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.04s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] running `Command { std: "docker" "inspect" "ce17a15f7207696a2ddf11065f5baee736bf824ad6e21f3d1e034e1e8be8c129", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ce17a15f7207696a2ddf11065f5baee736bf824ad6e21f3d1e034e1e8be8c129", kill_on_drop: false }` [INFO] [stdout] ce17a15f7207696a2ddf11065f5baee736bf824ad6e21f3d1e034e1e8be8c129