[INFO] cloning repository https://github.com/Ricky-Jan/Force2D
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Ricky-Jan/Force2D" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRicky-Jan%2FForce2D", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRicky-Jan%2FForce2D'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 97aa79c2d1e45c929bc4f99ec24c47d66f2d0299
[INFO] checking Ricky-Jan/Force2D against 895980e0290783bb09b1ccf1b11f14eb09b10430 for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRicky-Jan%2FForce2D" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Ricky-Jan/Force2D
[INFO] finished tweaking git repo https://github.com/Ricky-Jan/Force2D
[INFO] tweaked toml for git repo https://github.com/Ricky-Jan/Force2D written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Ricky-Jan/Force2D on toolchain 895980e0290783bb09b1ccf1b11f14eb09b10430
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Ricky-Jan/Force2D 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" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a5727636c1554240b893701a33eb770a9d804064e5b4061991cbf22965bb4f3f
[INFO] running `Command { std: "docker" "start" "a5727636c1554240b893701a33eb770a9d804064e5b4061991cbf22965bb4f3f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a5727636c1554240b893701a33eb770a9d804064e5b4061991cbf22965bb4f3f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a5727636c1554240b893701a33eb770a9d804064e5b4061991cbf22965bb4f3f" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a5727636c1554240b893701a33eb770a9d804064e5b4061991cbf22965bb4f3f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a5727636c1554240b893701a33eb770a9d804064e5b4061991cbf22965bb4f3f" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking simd-adler32 v0.3.10
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling crc32fast v1.5.2
[INFO] [stderr]    Compiling miniquad v0.4.11
[INFO] [stderr]     Checking bytemuck v1.25.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking miniz_oxide v0.9.1
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking flate2 v1.1.10
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking core_maths v0.1.1
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking fontdue v0.9.4
[INFO] [stderr]     Checking macroquad v0.4.16
[INFO] [stderr]     Checking main v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Polygon`
[INFO] [stdout]  --> src/scene.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 |     shape::{Circle, Polygon, Rect, ShapeType},
[INFO] [stdout]   |                     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Polygon`
[INFO] [stdout]  --> src/scene.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 |     shape::{Circle, Polygon, Rect, ShapeType},
[INFO] [stdout]   |                     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `bias_coeff` is never read
[INFO] [stdout]   --> src/joint.rs:31:30
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut bias_coeff = 0.0;
[INFO] [stdout]    |                              ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 44 |             bias_coeff = omega / a1;
[INFO] [stdout]    |             ----------------------- `bias_coeff` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mass_coeff` is never read
[INFO] [stdout]   --> src/joint.rs:32:30
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let mut mass_coeff = 0.0;
[INFO] [stdout]    |                              ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 45 |             mass_coeff = a2 * a3;
[INFO] [stdout]    |             -------------------- `mass_coeff` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `impulse_coeff` is never read
[INFO] [stdout]   --> src/joint.rs:33:33
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut impulse_coeff = 0.0;
[INFO] [stdout]    |                                 ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 46 |             impulse_coeff = a3;
[INFO] [stdout]    |             ------------------ `impulse_coeff` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `bias_coeff` is never read
[INFO] [stdout]    --> src/joint.rs:125:30
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let mut bias_coeff = 0.0;
[INFO] [stdout]     |                              ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 138 |             bias_coeff = omega / a1;
[INFO] [stdout]     |             ----------------------- `bias_coeff` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mass_coeff` is never read
[INFO] [stdout]    --> src/joint.rs:126:30
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let mut mass_coeff = 0.0;
[INFO] [stdout]     |                              ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 139 |             mass_coeff = a2 * a3;
[INFO] [stdout]     |             -------------------- `mass_coeff` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `impulse_coeff` is never read
[INFO] [stdout]    --> src/joint.rs:127:33
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut impulse_coeff = 0.0;
[INFO] [stdout]     |                                 ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 140 |             impulse_coeff = a3;
[INFO] [stdout]     |             ------------------ `impulse_coeff` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/scene.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let mut set_filter =
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `bias_coeff` is never read
[INFO] [stdout]   --> src/joint.rs:31:30
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut bias_coeff = 0.0;
[INFO] [stdout]    |                              ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 44 |             bias_coeff = omega / a1;
[INFO] [stdout]    |             ----------------------- `bias_coeff` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mass_coeff` is never read
[INFO] [stdout]   --> src/joint.rs:32:30
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let mut mass_coeff = 0.0;
[INFO] [stdout]    |                              ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 45 |             mass_coeff = a2 * a3;
[INFO] [stdout]    |             -------------------- `mass_coeff` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `impulse_coeff` is never read
[INFO] [stdout]   --> src/joint.rs:33:33
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut impulse_coeff = 0.0;
[INFO] [stdout]    |                                 ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 46 |             impulse_coeff = a3;
[INFO] [stdout]    |             ------------------ `impulse_coeff` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `bias_coeff` is never read
[INFO] [stdout]    --> src/joint.rs:125:30
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let mut bias_coeff = 0.0;
[INFO] [stdout]     |                              ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 138 |             bias_coeff = omega / a1;
[INFO] [stdout]     |             ----------------------- `bias_coeff` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mass_coeff` is never read
[INFO] [stdout]    --> src/joint.rs:126:30
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let mut mass_coeff = 0.0;
[INFO] [stdout]     |                              ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 139 |             mass_coeff = a2 * a3;
[INFO] [stdout]     |             -------------------- `mass_coeff` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `impulse_coeff` is never read
[INFO] [stdout]    --> src/joint.rs:127:33
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut impulse_coeff = 0.0;
[INFO] [stdout]     |                                 ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 140 |             impulse_coeff = a3;
[INFO] [stdout]     |             ------------------ `impulse_coeff` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `greedy_sah` is never used
[INFO] [stdout]    --> src/bvh.rs:156:8
[INFO] [stdout]     |
[INFO] [stdout]  49 | impl DynamicBVH {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 156 |     fn greedy_sah(&mut self, leaf_aabb: AABB) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `draw_aabb`, `draw_shape_aabbs`, and `draw_bvh_aabbs` are never used
[INFO] [stdout]    --> src/renderer.rs:321:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl Renderer {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 321 |     fn draw_aabb(&self, aabb: &AABB, camera: &Camera, color: Color, thickness: f32) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 333 |     fn draw_shape_aabbs(&self, world: &World, camera: &Camera, color: Color, thickness: f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     fn draw_bvh_aabbs(&self, world: &World, camera: &Camera, color: Color, thickness: f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_softness` and `set_body_filter` are never used
[INFO] [stdout]    --> src/world.rs:90:12
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl World {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn set_softness(&mut self, freq: f64, damping: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     pub fn set_body_filter(&mut self, body_idx: usize, category: u16, mask: u16, group: i16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `rA` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub rA: Vec2,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `r_a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `rB` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub rB: Vec2,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `r_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Knn` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub Knn: f64,
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case (notice the capitalization): `knn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Ktt` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub Ktt: f64,
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case (notice the capitalization): `ktt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Knt` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub Knt: f64,
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case (notice the capitalization): `knt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `damped_Knn` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub damped_Knn: f64,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `damped_knn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rnA` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 |             let rnA = state.rA.cross(&normal);
[INFO] [stdout]    |                 ^^^ help: convert the identifier to snake case: `rn_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rnB` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |             let rnB = state.rB.cross(&normal);
[INFO] [stdout]    |                 ^^^ help: convert the identifier to snake case: `rn_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rtA` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |             let rtA = state.rA.dot(&normal);
[INFO] [stdout]    |                 ^^^ help: convert the identifier to snake case: `rt_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rtB` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let rtB = state.rB.dot(&normal);
[INFO] [stdout]    |                 ^^^ help: convert the identifier to snake case: `rt_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `wSum` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let wSum = body_a.inv_m + body_b.inv_m;
[INFO] [stdout]    |                 ^^^^ help: convert the identifier to snake case: `w_sum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vA` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |             let vA = body_a.vel.add(&Vec2::cross_sv(body_a.ang_vel, &state.rA));
[INFO] [stdout]    |                 ^^ help: convert the identifier to snake case: `v_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vB` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |             let vB = body_b.vel.add(&Vec2::cross_sv(body_b.ang_vel, &state.rB));
[INFO] [stdout]    |                 ^^ help: convert the identifier to snake case: `v_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vA` should have a snake case name
[INFO] [stdout]    --> src/arbiter.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 |             let vA = body_a.vel.add(&Vec2::cross_sv(body_a.ang_vel, &state.rA));
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `v_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vB` should have a snake case name
[INFO] [stdout]    --> src/arbiter.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |             let vB = body_b.vel.add(&Vec2::cross_sv(body_b.ang_vel, &state.rB));
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `v_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/scene.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let mut set_filter =
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `greedy_sah` is never used
[INFO] [stdout]    --> src/bvh.rs:156:8
[INFO] [stdout]     |
[INFO] [stdout]  49 | impl DynamicBVH {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 156 |     fn greedy_sah(&mut self, leaf_aabb: AABB) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `draw_aabb`, `draw_shape_aabbs`, and `draw_bvh_aabbs` are never used
[INFO] [stdout]    --> src/renderer.rs:321:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl Renderer {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 321 |     fn draw_aabb(&self, aabb: &AABB, camera: &Camera, color: Color, thickness: f32) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 333 |     fn draw_shape_aabbs(&self, world: &World, camera: &Camera, color: Color, thickness: f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     fn draw_bvh_aabbs(&self, world: &World, camera: &Camera, color: Color, thickness: f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_softness` and `set_body_filter` are never used
[INFO] [stdout]    --> src/world.rs:90:12
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl World {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn set_softness(&mut self, freq: f64, damping: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     pub fn set_body_filter(&mut self, body_idx: usize, category: u16, mask: u16, group: i16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `rA` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub rA: Vec2,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `r_a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `rB` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub rB: Vec2,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `r_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Knn` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub Knn: f64,
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case (notice the capitalization): `knn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Ktt` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub Ktt: f64,
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case (notice the capitalization): `ktt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Knt` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub Knt: f64,
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case (notice the capitalization): `knt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `damped_Knn` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub damped_Knn: f64,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `damped_knn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rnA` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 |             let rnA = state.rA.cross(&normal);
[INFO] [stdout]    |                 ^^^ help: convert the identifier to snake case: `rn_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rnB` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |             let rnB = state.rB.cross(&normal);
[INFO] [stdout]    |                 ^^^ help: convert the identifier to snake case: `rn_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rtA` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |             let rtA = state.rA.dot(&normal);
[INFO] [stdout]    |                 ^^^ help: convert the identifier to snake case: `rt_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rtB` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let rtB = state.rB.dot(&normal);
[INFO] [stdout]    |                 ^^^ help: convert the identifier to snake case: `rt_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `wSum` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let wSum = body_a.inv_m + body_b.inv_m;
[INFO] [stdout]    |                 ^^^^ help: convert the identifier to snake case: `w_sum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vA` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |             let vA = body_a.vel.add(&Vec2::cross_sv(body_a.ang_vel, &state.rA));
[INFO] [stdout]    |                 ^^ help: convert the identifier to snake case: `v_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vB` should have a snake case name
[INFO] [stdout]   --> src/arbiter.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |             let vB = body_b.vel.add(&Vec2::cross_sv(body_b.ang_vel, &state.rB));
[INFO] [stdout]    |                 ^^ help: convert the identifier to snake case: `v_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vA` should have a snake case name
[INFO] [stdout]    --> src/arbiter.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 |             let vA = body_a.vel.add(&Vec2::cross_sv(body_a.ang_vel, &state.rA));
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `v_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vB` should have a snake case name
[INFO] [stdout]    --> src/arbiter.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |             let vB = body_b.vel.add(&Vec2::cross_sv(body_b.ang_vel, &state.rB));
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `v_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.61s
[INFO] running `Command { std: "docker" "inspect" "a5727636c1554240b893701a33eb770a9d804064e5b4061991cbf22965bb4f3f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a5727636c1554240b893701a33eb770a9d804064e5b4061991cbf22965bb4f3f", kill_on_drop: false }`
[INFO] [stdout] a5727636c1554240b893701a33eb770a9d804064e5b4061991cbf22965bb4f3f
