[INFO] fetching crate physics2d 0.6.0...
[INFO] building physics2d-0.6.0 against try#d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6 for pr-146237-1
[INFO] extracting crate physics2d 0.6.0 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate physics2d 0.6.0
[INFO] finished tweaking crates.io crate physics2d 0.6.0
[INFO] tweaked toml for crates.io crate physics2d 0.6.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate physics2d 0.6.0 on toolchain d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 8 packages to latest compatible versions
[INFO] [stderr]       Adding sfml v0.14.0 (available: v0.24.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 980843d7541b86c5af5b1742261e12cc9f7badd4c39367413da4685c9bd27728
[INFO] running `Command { std: "docker" "start" "-a" "980843d7541b86c5af5b1742261e12cc9f7badd4c39367413da4685c9bd27728", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "980843d7541b86c5af5b1742261e12cc9f7badd4c39367413da4685c9bd27728", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "980843d7541b86c5af5b1742261e12cc9f7badd4c39367413da4685c9bd27728", kill_on_drop: false }`
[INFO] [stdout] 980843d7541b86c5af5b1742261e12cc9f7badd4c39367413da4685c9bd27728
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c2c44dd815d32b5c8033a68067e5104e2838d80b0147df32bc73b6e98b952930
[INFO] running `Command { std: "docker" "start" "-a" "c2c44dd815d32b5c8033a68067e5104e2838d80b0147df32bc73b6e98b952930", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling physics2d v0.6.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused macro definition: `match_owned_fn_to_variants`
[INFO] [stdout]  --> src/util/mod.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | macro_rules! match_owned_fn_to_variants {
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `generate_match_owned_fn_macro_for_enum`
[INFO] [stdout]   --> src/util/mod.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 | macro_rules! generate_match_owned_fn_macro_for_enum {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BodyPair`
[INFO] [stdout]  --> src/collision/broad_phase/mod.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use world::{Bodies, ConstraintsMap, BodyPair, Body};
[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: `Collide`
[INFO] [stdout]  --> src/collision/mod.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use self::narrow_phase::{Collide, collide};
[INFO] [stdout]   |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collision::Contact`
[INFO] [stdout]  --> src/world/collections.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use collision::Contact;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Values`
[INFO] [stdout]  --> src/world/collections.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::hash_map::Values;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> src/world/body/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec2`
[INFO] [stdout]  --> src/world/debug.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ::math::{Vec2};
[INFO] [stdout]   |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NaiveBroadPhase`
[INFO] [stdout]   --> src/world/mod.rs:13:42
[INFO] [stdout]    |
[INFO] [stdout] 13 | use collision::broad_phase::{BroadPhase, NaiveBroadPhase, BoundsTreeBroadPhase};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/util/pool.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut node_pool = Vec::with_capacity(initial_capacity);
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/collision/broad_phase/bounds_tree/mod.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let mut pool = pool::Pool::default();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rel_vel_normal`
[INFO] [stdout]   --> src/collision/solver.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let rel_vel_normal = contact.normal.dot(&rel_vel);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let _rel_vel_normal = contact.normal.dot(&rel_vel);
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]    |
[INFO] [stdout] 71 -         let rel_vel_normal = contact.normal.dot(&rel_vel);
[INFO] [stdout] 71 +         let joint::spring::SPRING_DISPLACEMENT_SLOP = contact.normal.dot(&rel_vel);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]   --> src/collision/solver.rs:65:59
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn initialize_velocity(&mut self, a: &Body, b: &Body, dt: f32) {
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn initialize_velocity(&mut self, a: &Body, b: &Body, _dt: f32) {
[INFO] [stdout]    |                                                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]    |
[INFO] [stdout] 65 -     fn initialize_velocity(&mut self, a: &Body, b: &Body, dt: f32) {
[INFO] [stdout] 65 +     fn initialize_velocity(&mut self, a: &Body, b: &Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]   --> src/collision/solver.rs:97:67
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout]    |                                                                   ^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {
[INFO] [stdout]    |                                                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]    |
[INFO] [stdout] 97 -     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout] 97 +     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/collision/solver.rs:108:39
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                       ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/collision/solver.rs:108:53
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                                     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/collision/solver.rs:108:67
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                                                   ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {}
[INFO] [stdout]     |                                                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]     |
[INFO] [stdout] 108 -     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout] 108 +     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {}
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/collision/solver.rs:110:62
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn solve_velocity(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout]     |                                                              ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn solve_velocity(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {
[INFO] [stdout]     |                                                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]     |
[INFO] [stdout] 110 -     fn solve_velocity(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout] 110 +     fn solve_velocity(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/joint/spring.rs:118:39
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                       ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/joint/spring.rs:118:53
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                                     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/joint/spring.rs:118:67
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                                                   ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {}
[INFO] [stdout]     |                                                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]     |
[INFO] [stdout] 118 -     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout] 118 +     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {}
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/joint/spring.rs:111:67
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout]     |                                                                   ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {
[INFO] [stdout]     |                                                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]     |
[INFO] [stdout] 111 -     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout] 111 +     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/joint/spring.rs:137:34
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn solve_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/joint/spring.rs:137:48
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn solve_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                                ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/joint/spring.rs:137:62
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn solve_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                                              ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn solve_position(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {}
[INFO] [stdout]     |                                                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]     |
[INFO] [stdout] 137 -     fn solve_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout] 137 +     fn solve_position(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {}
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/collision/solver.rs:152:62
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn solve_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout]     |                                                              ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn solve_position(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {
[INFO] [stdout]     |                                                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]     |
[INFO] [stdout] 152 -     fn solve_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout] 152 +     fn solve_position(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]   --> src/world/collections.rs:93:28
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub type ConstraintsMap<T: Constraint> = FnvHashMap<BodyPair, Vec<T>>;
[INFO] [stdout]    |                          --^^^^^^^^^^
[INFO] [stdout]    |                          | |
[INFO] [stdout]    |                          | will not be checked at usage sites of the type alias
[INFO] [stdout]    |                          help: remove this bound
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]            see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]    = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout]    = note: `#[warn(type_alias_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `remove` are never used
[INFO] [stdout]   --> src/world/collections.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Bodies {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 19 |     pub fn new() -> Bodies {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn remove(&mut self, id: BodyId) -> Option<Body> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_mut` is never used
[INFO] [stdout]   --> src/world/body/pair.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl BodyPair {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn with_mut<F, R>(&self, bodies: &mut Bodies, mut f: F) -> R
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_root` and `get_root_mut` are never used
[INFO] [stdout]   --> src/collision/broad_phase/bounds_tree/mod.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl<T: Default> BoundsTree<T> {
[INFO] [stdout]    | ------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn get_root(&self) -> &Node<T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn get_root_mut(&mut self) -> &mut Node<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NaiveBroadPhase` is never constructed
[INFO] [stdout]  --> src/collision/broad_phase/naive.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct NaiveBroadPhase;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.74s
[INFO] running `Command { std: "docker" "inspect" "c2c44dd815d32b5c8033a68067e5104e2838d80b0147df32bc73b6e98b952930", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c2c44dd815d32b5c8033a68067e5104e2838d80b0147df32bc73b6e98b952930", kill_on_drop: false }`
[INFO] [stdout] c2c44dd815d32b5c8033a68067e5104e2838d80b0147df32bc73b6e98b952930
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 651efa4ba20d49243293441b057f8c6fdc6beb88b71352d28fbe241653e5d4c8
[INFO] running `Command { std: "docker" "start" "-a" "651efa4ba20d49243293441b057f8c6fdc6beb88b71352d28fbe241653e5d4c8", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling sfml-build v0.2.0
[INFO] [stdout] warning: unused macro definition: `match_owned_fn_to_variants`
[INFO] [stdout]  --> src/util/mod.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | macro_rules! match_owned_fn_to_variants {
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `generate_match_owned_fn_macro_for_enum`
[INFO] [stdout]   --> src/util/mod.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 | macro_rules! generate_match_owned_fn_macro_for_enum {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BodyPair`
[INFO] [stdout]  --> src/collision/broad_phase/mod.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use world::{Bodies, ConstraintsMap, BodyPair, Body};
[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: `Collide`
[INFO] [stdout]  --> src/collision/mod.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use self::narrow_phase::{Collide, collide};
[INFO] [stdout]   |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collision::Contact`
[INFO] [stdout]  --> src/world/collections.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use collision::Contact;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Values`
[INFO] [stdout]  --> src/world/collections.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::hash_map::Values;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> src/world/body/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec2`
[INFO] [stdout]  --> src/world/debug.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ::math::{Vec2};
[INFO] [stdout]   |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NaiveBroadPhase`
[INFO] [stdout]   --> src/world/mod.rs:13:42
[INFO] [stdout]    |
[INFO] [stdout] 13 | use collision::broad_phase::{BroadPhase, NaiveBroadPhase, BoundsTreeBroadPhase};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/util/pool.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut node_pool = Vec::with_capacity(initial_capacity);
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/collision/broad_phase/bounds_tree/mod.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let mut pool = pool::Pool::default();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rel_vel_normal`
[INFO] [stdout]   --> src/collision/solver.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let rel_vel_normal = contact.normal.dot(&rel_vel);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let _rel_vel_normal = contact.normal.dot(&rel_vel);
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]    |
[INFO] [stdout] 71 -         let rel_vel_normal = contact.normal.dot(&rel_vel);
[INFO] [stdout] 71 +         let joint::spring::SPRING_DISPLACEMENT_SLOP = contact.normal.dot(&rel_vel);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]   --> src/collision/solver.rs:65:59
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn initialize_velocity(&mut self, a: &Body, b: &Body, dt: f32) {
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn initialize_velocity(&mut self, a: &Body, b: &Body, _dt: f32) {
[INFO] [stdout]    |                                                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]    |
[INFO] [stdout] 65 -     fn initialize_velocity(&mut self, a: &Body, b: &Body, dt: f32) {
[INFO] [stdout] 65 +     fn initialize_velocity(&mut self, a: &Body, b: &Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]   --> src/collision/solver.rs:97:67
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout]    |                                                                   ^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {
[INFO] [stdout]    |                                                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]    |
[INFO] [stdout] 97 -     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout] 97 +     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/collision/solver.rs:108:39
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                       ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/collision/solver.rs:108:53
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                                     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/collision/solver.rs:108:67
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                                                   ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {}
[INFO] [stdout]     |                                                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]     |
[INFO] [stdout] 108 -     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout] 108 +     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {}
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/collision/solver.rs:110:62
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn solve_velocity(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout]     |                                                              ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn solve_velocity(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {
[INFO] [stdout]     |                                                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]     |
[INFO] [stdout] 110 -     fn solve_velocity(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout] 110 +     fn solve_velocity(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/joint/spring.rs:118:39
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                       ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/joint/spring.rs:118:53
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                                     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/joint/spring.rs:118:67
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                                                   ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {}
[INFO] [stdout]     |                                                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]     |
[INFO] [stdout] 118 -     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout] 118 +     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {}
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/joint/spring.rs:111:67
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout]     |                                                                   ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {
[INFO] [stdout]     |                                                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]     |
[INFO] [stdout] 111 -     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout] 111 +     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/joint/spring.rs:137:34
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn solve_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/joint/spring.rs:137:48
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn solve_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                                ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/joint/spring.rs:137:62
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn solve_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                                              ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn solve_position(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {}
[INFO] [stdout]     |                                                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]     |
[INFO] [stdout] 137 -     fn solve_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout] 137 +     fn solve_position(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {}
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/collision/solver.rs:152:62
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn solve_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout]     |                                                              ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn solve_position(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {
[INFO] [stdout]     |                                                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]     |
[INFO] [stdout] 152 -     fn solve_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout] 152 +     fn solve_position(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]   --> src/world/collections.rs:93:28
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub type ConstraintsMap<T: Constraint> = FnvHashMap<BodyPair, Vec<T>>;
[INFO] [stdout]    |                          --^^^^^^^^^^
[INFO] [stdout]    |                          | |
[INFO] [stdout]    |                          | will not be checked at usage sites of the type alias
[INFO] [stdout]    |                          help: remove this bound
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]            see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]    = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout]    = note: `#[warn(type_alias_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `remove` are never used
[INFO] [stdout]   --> src/world/collections.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Bodies {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 19 |     pub fn new() -> Bodies {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn remove(&mut self, id: BodyId) -> Option<Body> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_mut` is never used
[INFO] [stdout]   --> src/world/body/pair.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl BodyPair {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn with_mut<F, R>(&self, bodies: &mut Bodies, mut f: F) -> R
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_root` and `get_root_mut` are never used
[INFO] [stdout]   --> src/collision/broad_phase/bounds_tree/mod.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl<T: Default> BoundsTree<T> {
[INFO] [stdout]    | ------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn get_root(&self) -> &Node<T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn get_root_mut(&mut self) -> &mut Node<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NaiveBroadPhase` is never constructed
[INFO] [stdout]  --> src/collision/broad_phase/naive.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct NaiveBroadPhase;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling csfml-system-sys v0.4.0
[INFO] [stderr]    Compiling csfml-window-sys v0.4.0
[INFO] [stderr]    Compiling csfml-graphics-sys v0.4.0
[INFO] [stderr]    Compiling csfml-audio-sys v0.4.0
[INFO] [stderr]    Compiling sfml v0.14.0
[INFO] [stderr]    Compiling physics2d v0.6.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Key`
[INFO] [stdout]   --> examples/testbed/mod.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use self::input::{Input, Key};
[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: `Key`
[INFO] [stdout]   --> examples/testbed/mod.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use self::input::{Input, Key};
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> examples/testbed/canvas.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |     draw_queue: Vec<Box<sfml::graphics::Drawable>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     draw_queue: Vec<Box<dyn sfml::graphics::Drawable>>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> examples/testbed/canvas.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |     draw_queue: Vec<Box<sfml::graphics::Drawable>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     draw_queue: Vec<Box<dyn sfml::graphics::Drawable>>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> examples/testbed/canvas.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |     draw_queue: Vec<Box<sfml::graphics::Drawable>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     draw_queue: Vec<Box<dyn sfml::graphics::Drawable>>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Key`
[INFO] [stdout]   --> examples/testbed/mod.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use self::input::{Input, Key};
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> examples/testbed/canvas.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |     draw_queue: Vec<Box<sfml::graphics::Drawable>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     draw_queue: Vec<Box<dyn sfml::graphics::Drawable>>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Key`
[INFO] [stdout]   --> examples/testbed/mod.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use self::input::{Input, Key};
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> examples/testbed/canvas.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |     draw_queue: Vec<Box<sfml::graphics::Drawable>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     draw_queue: Vec<Box<dyn sfml::graphics::Drawable>>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Key`
[INFO] [stdout]   --> examples/testbed/mod.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use self::input::{Input, Key};
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> examples/testbed/canvas.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |     draw_queue: Vec<Box<sfml::graphics::Drawable>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     draw_queue: Vec<Box<dyn sfml::graphics::Drawable>>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alt`
[INFO] [stdout]   --> examples/testbed/input.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                       ^^^ help: try ignoring the field: `alt: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctrl`
[INFO] [stdout]   --> examples/testbed/input.rs:46:44
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                            ^^^^ help: try ignoring the field: `ctrl: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shift`
[INFO] [stdout]   --> examples/testbed/input.rs:46:50
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                                  ^^^^^ help: try ignoring the field: `shift: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system`
[INFO] [stdout]   --> examples/testbed/input.rs:46:57
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                                         ^^^^^^ help: try ignoring the field: `system: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfml_pos`
[INFO] [stdout]   --> examples/testbed/canvas.rs:89:32
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn draw_polygon(&mut self, sfml_pos: sfml::system::Vector2f,
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfml_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfml_pos`
[INFO] [stdout]   --> examples/testbed/canvas.rs:63:31
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn draw_circle(&mut self, sfml_pos: sfml::system::Vector2f,
[INFO] [stdout]    |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfml_pos`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfml_pos`
[INFO] [stdout]   --> examples/testbed/canvas.rs:89:32
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn draw_polygon(&mut self, sfml_pos: sfml::system::Vector2f,
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfml_pos`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alt`
[INFO] [stdout]   --> examples/testbed/input.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                       ^^^ help: try ignoring the field: `alt: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctrl`
[INFO] [stdout]   --> examples/testbed/input.rs:46:44
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                            ^^^^ help: try ignoring the field: `ctrl: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shift`
[INFO] [stdout]   --> examples/testbed/input.rs:46:50
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                                  ^^^^^ help: try ignoring the field: `shift: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system`
[INFO] [stdout]   --> examples/testbed/input.rs:46:57
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                                         ^^^^^^ help: try ignoring the field: `system: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfml_pos`
[INFO] [stdout]   --> examples/testbed/canvas.rs:63:31
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn draw_circle(&mut self, sfml_pos: sfml::system::Vector2f,
[INFO] [stdout]    |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfml_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfml_pos`
[INFO] [stdout]   --> examples/testbed/canvas.rs:89:32
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn draw_polygon(&mut self, sfml_pos: sfml::system::Vector2f,
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfml_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]   --> examples/stacks.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |             for j in i..N {
[INFO] [stdout]    |                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 55 |             for _j in i..N {
[INFO] [stdout]    |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `N`
[INFO] [stdout]    |
[INFO] [stdout] 55 -             for j in i..N {
[INFO] [stdout] 55 +             for StacksTestbed::new::N in i..N {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfml_pos`
[INFO] [stdout]   --> examples/testbed/canvas.rs:63:31
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn draw_circle(&mut self, sfml_pos: sfml::system::Vector2f,
[INFO] [stdout]    |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfml_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/circle_polygon_collisions.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut b = Body::new(circle.into_shape(), 10.0, Material::new(0.3, 0.3));
[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: unused variable: `sfml_pos`
[INFO] [stdout]   --> examples/testbed/canvas.rs:89:32
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn draw_polygon(&mut self, sfml_pos: sfml::system::Vector2f,
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfml_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> examples/circle_polygon_collisions.rs:46:29
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn sfml_loop(&mut self, input: &testbed::Input, dt: f32) {
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfml_pos`
[INFO] [stdout]   --> examples/testbed/canvas.rs:63:31
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn draw_circle(&mut self, sfml_pos: sfml::system::Vector2f,
[INFO] [stdout]    |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfml_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/stacks.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let mut testbed = StacksTestbed::new(&config);
[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: unused variable: `dt`
[INFO] [stdout]   --> examples/circle_polygon_collisions.rs:58:59
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn sfml_draw(&mut self, canvas: &mut testbed::Canvas, dt: f32) {
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn sfml_draw(&mut self, canvas: &mut testbed::Canvas, _dt: f32) {
[INFO] [stdout]    |                                                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `PADDING`
[INFO] [stdout]    |
[INFO] [stdout] 58 -     fn sfml_draw(&mut self, canvas: &mut testbed::Canvas, dt: f32) {
[INFO] [stdout] 58 +     fn sfml_draw(&mut self, canvas: &mut testbed::Canvas, testbed::canvas::Canvas::process_draw_queue::PADDING: f32) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/circle_polygon_collisions.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut testbed = CirclePolygonCollisionsTestbed::new();
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alt`
[INFO] [stdout]   --> examples/testbed/input.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                       ^^^ help: try ignoring the field: `alt: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctrl`
[INFO] [stdout]   --> examples/testbed/input.rs:46:44
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                            ^^^^ help: try ignoring the field: `ctrl: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shift`
[INFO] [stdout]   --> examples/testbed/input.rs:46:50
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                                  ^^^^^ help: try ignoring the field: `shift: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system`
[INFO] [stdout]   --> examples/testbed/input.rs:46:57
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                                         ^^^^^^ help: try ignoring the field: `system: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alt`
[INFO] [stdout]   --> examples/testbed/input.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                       ^^^ help: try ignoring the field: `alt: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctrl`
[INFO] [stdout]   --> examples/testbed/input.rs:46:44
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                            ^^^^ help: try ignoring the field: `ctrl: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shift`
[INFO] [stdout]   --> examples/testbed/input.rs:46:50
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                                  ^^^^^ help: try ignoring the field: `shift: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system`
[INFO] [stdout]   --> examples/testbed/input.rs:46:57
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                                         ^^^^^^ help: try ignoring the field: `system: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/polygon_collisions.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let mut b = Body::new(poly_b.into_shape(), 10.0, Material::default());
[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: unused variable: `input`
[INFO] [stdout]   --> examples/polygon_collisions.rs:47:29
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn sfml_loop(&mut self, input: &testbed::Input, dt: f32) {
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfml_pos`
[INFO] [stdout]   --> examples/testbed/canvas.rs:89:32
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn draw_polygon(&mut self, sfml_pos: sfml::system::Vector2f,
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfml_pos`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]   --> examples/polygon_collisions.rs:59:59
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn sfml_draw(&mut self, canvas: &mut testbed::Canvas, dt: f32) {
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn sfml_draw(&mut self, canvas: &mut testbed::Canvas, _dt: f32) {
[INFO] [stdout]    |                                                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `PADDING`
[INFO] [stdout]    |
[INFO] [stdout] 59 -     fn sfml_draw(&mut self, canvas: &mut testbed::Canvas, dt: f32) {
[INFO] [stdout] 59 +     fn sfml_draw(&mut self, canvas: &mut testbed::Canvas, testbed::canvas::Canvas::process_draw_queue::PADDING: f32) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/collisions.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut testbed = CollisionsTestbed::new(&config);
[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: variable does not need to be mutable
[INFO] [stdout]   --> examples/polygon_collisions.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut testbed = PolygonCollisionsTestbed::new();
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> examples/testbed/canvas.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |     draw_queue: Vec<Box<sfml::graphics::Drawable>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     draw_queue: Vec<Box<dyn sfml::graphics::Drawable>>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `config_shape` is never used
[INFO] [stdout]   --> examples/testbed/canvas.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl Canvas {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fn config_shape<'a, T: sfml::graphics::Shape<'a>>(&self, shape: &mut T) {
[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 `config_shape`, `draw_line`, and `draw_text` are never used
[INFO] [stdout]    --> examples/testbed/canvas.rs:53:8
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl Canvas {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  53 |     fn config_shape<'a, T: sfml::graphics::Shape<'a>>(&self, shape: &mut T) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn draw_line(&mut self, a: Vec2, b: Vec2) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn draw_text(&mut self, text: String, size: u32) {
[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 `config_shape`, `draw_line`, and `draw_text` are never used
[INFO] [stdout]    --> examples/testbed/canvas.rs:53:8
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl Canvas {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  53 |     fn config_shape<'a, T: sfml::graphics::Shape<'a>>(&self, shape: &mut T) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn draw_line(&mut self, a: Vec2, b: Vec2) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn draw_text(&mut self, text: String, size: u32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Key`
[INFO] [stdout]   --> examples/testbed/mod.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use self::input::{Input, Key};
[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: `Key`
[INFO] [stdout]   --> examples/testbed/mod.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use self::input::{Input, Key};
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `config_shape` is never used
[INFO] [stdout]   --> examples/testbed/canvas.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl Canvas {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fn config_shape<'a, T: sfml::graphics::Shape<'a>>(&self, shape: &mut T) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> examples/testbed/canvas.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |     draw_queue: Vec<Box<sfml::graphics::Drawable>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     draw_queue: Vec<Box<dyn sfml::graphics::Drawable>>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alt`
[INFO] [stdout]   --> examples/testbed/input.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                       ^^^ help: try ignoring the field: `alt: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctrl`
[INFO] [stdout]   --> examples/testbed/input.rs:46:44
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                            ^^^^ help: try ignoring the field: `ctrl: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shift`
[INFO] [stdout]   --> examples/testbed/input.rs:46:50
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                                  ^^^^^ help: try ignoring the field: `shift: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system`
[INFO] [stdout]   --> examples/testbed/input.rs:46:57
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                                         ^^^^^^ help: try ignoring the field: `system: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfml_pos`
[INFO] [stdout]   --> examples/testbed/canvas.rs:63:31
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn draw_circle(&mut self, sfml_pos: sfml::system::Vector2f,
[INFO] [stdout]    |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfml_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfml_pos`
[INFO] [stdout]   --> examples/testbed/canvas.rs:63:31
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn draw_circle(&mut self, sfml_pos: sfml::system::Vector2f,
[INFO] [stdout]    |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfml_pos`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfml_pos`
[INFO] [stdout]   --> examples/testbed/canvas.rs:89:32
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn draw_polygon(&mut self, sfml_pos: sfml::system::Vector2f,
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfml_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> examples/testbed/canvas.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |     draw_queue: Vec<Box<sfml::graphics::Drawable>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     draw_queue: Vec<Box<dyn sfml::graphics::Drawable>>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alt`
[INFO] [stdout]   --> examples/testbed/input.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                       ^^^ help: try ignoring the field: `alt: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctrl`
[INFO] [stdout]   --> examples/testbed/input.rs:46:44
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                            ^^^^ help: try ignoring the field: `ctrl: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shift`
[INFO] [stdout]   --> examples/testbed/input.rs:46:50
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                                  ^^^^^ help: try ignoring the field: `shift: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system`
[INFO] [stdout]   --> examples/testbed/input.rs:46:57
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                                         ^^^^^^ help: try ignoring the field: `system: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/springs.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut circle_body = Body::new(circle.into_shape(), 10.0, Material::new(0.8, 0.8));
[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: unused variable: `input`
[INFO] [stdout]   --> examples/circles.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn sfml_loop(&mut self, input: &testbed::Input, dt: f32) {
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/springs.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let mut testbed = SpringsTestbed::new(&config);
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `match_owned_fn_to_variants`
[INFO] [stdout]  --> src/util/mod.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | macro_rules! match_owned_fn_to_variants {
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `config_shape` is never used
[INFO] [stdout]   --> examples/testbed/canvas.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl Canvas {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fn config_shape<'a, T: sfml::graphics::Shape<'a>>(&self, shape: &mut T) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `generate_match_owned_fn_macro_for_enum`
[INFO] [stdout]   --> src/util/mod.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 | macro_rules! generate_match_owned_fn_macro_for_enum {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BodyPair`
[INFO] [stdout]  --> src/collision/broad_phase/mod.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use world::{Bodies, ConstraintsMap, BodyPair, Body};
[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: `Collide`
[INFO] [stdout]  --> src/collision/mod.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use self::narrow_phase::{Collide, collide};
[INFO] [stdout]   |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collision::Contact`
[INFO] [stdout]  --> src/world/collections.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use collision::Contact;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Values`
[INFO] [stdout]  --> src/world/collections.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::hash_map::Values;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> src/world/body/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec2`
[INFO] [stdout]  --> src/world/debug.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ::math::{Vec2};
[INFO] [stdout]   |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NaiveBroadPhase`
[INFO] [stdout]   --> src/world/mod.rs:13:42
[INFO] [stdout]    |
[INFO] [stdout] 13 | use collision::broad_phase::{BroadPhase, NaiveBroadPhase, BoundsTreeBroadPhase};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `config_shape`, `draw_point`, `draw_line`, and `draw_text` are never used
[INFO] [stdout]    --> examples/testbed/canvas.rs:53:8
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl Canvas {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  53 |     fn config_shape<'a, T: sfml::graphics::Shape<'a>>(&self, shape: &mut T) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn draw_point(&mut self, point: Vec2) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn draw_line(&mut self, a: Vec2, b: Vec2) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn draw_text(&mut self, text: String, size: u32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfml_pos`
[INFO] [stdout]   --> examples/testbed/canvas.rs:63:31
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn draw_circle(&mut self, sfml_pos: sfml::system::Vector2f,
[INFO] [stdout]    |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfml_pos`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfml_pos`
[INFO] [stdout]   --> examples/testbed/canvas.rs:89:32
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn draw_polygon(&mut self, sfml_pos: sfml::system::Vector2f,
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfml_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alt`
[INFO] [stdout]   --> examples/testbed/input.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                       ^^^ help: try ignoring the field: `alt: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctrl`
[INFO] [stdout]   --> examples/testbed/input.rs:46:44
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                            ^^^^ help: try ignoring the field: `ctrl: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shift`
[INFO] [stdout]   --> examples/testbed/input.rs:46:50
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                                  ^^^^^ help: try ignoring the field: `shift: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system`
[INFO] [stdout]   --> examples/testbed/input.rs:46:57
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                                         ^^^^^^ help: try ignoring the field: `system: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> examples/polygons.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn sfml_loop(&mut self, input: &testbed::Input, dt: f32) {
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alt`
[INFO] [stdout]   --> examples/testbed/input.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                       ^^^ help: try ignoring the field: `alt: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctrl`
[INFO] [stdout]   --> examples/testbed/input.rs:46:44
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                            ^^^^ help: try ignoring the field: `ctrl: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shift`
[INFO] [stdout]   --> examples/testbed/input.rs:46:50
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                                  ^^^^^ help: try ignoring the field: `shift: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system`
[INFO] [stdout]   --> examples/testbed/input.rs:46:57
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                                         ^^^^^^ help: try ignoring the field: `system: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfml_pos`
[INFO] [stdout]   --> examples/testbed/canvas.rs:63:31
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn draw_circle(&mut self, sfml_pos: sfml::system::Vector2f,
[INFO] [stdout]    |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfml_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfml_pos`
[INFO] [stdout]   --> examples/testbed/canvas.rs:89:32
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn draw_polygon(&mut self, sfml_pos: sfml::system::Vector2f,
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfml_pos`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/circle_collisions.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let mut b = Body::new(circle_b.into_shape(), 10.0, Material::new(0.3, 0.3));
[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: unused variable: `input`
[INFO] [stdout]   --> examples/circle_collisions.rs:39:29
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn sfml_loop(&mut self, input: &testbed::Input, dt: f32) {
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]   --> examples/circle_collisions.rs:51:59
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn sfml_draw(&mut self, canvas: &mut testbed::Canvas, dt: f32) {
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn sfml_draw(&mut self, canvas: &mut testbed::Canvas, _dt: f32) {
[INFO] [stdout]    |                                                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `PADDING`
[INFO] [stdout]    |
[INFO] [stdout] 51 -     fn sfml_draw(&mut self, canvas: &mut testbed::Canvas, dt: f32) {
[INFO] [stdout] 51 +     fn sfml_draw(&mut self, canvas: &mut testbed::Canvas, testbed::canvas::Canvas::process_draw_queue::PADDING: f32) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `config_shape`, `draw_point`, `draw_line`, and `draw_text` are never used
[INFO] [stdout]    --> examples/testbed/canvas.rs:53:8
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl Canvas {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  53 |     fn config_shape<'a, T: sfml::graphics::Shape<'a>>(&self, shape: &mut T) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn draw_point(&mut self, point: Vec2) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn draw_line(&mut self, a: Vec2, b: Vec2) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn draw_text(&mut self, text: String, size: u32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfml_pos`
[INFO] [stdout]   --> examples/testbed/canvas.rs:63:31
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn draw_circle(&mut self, sfml_pos: sfml::system::Vector2f,
[INFO] [stdout]    |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfml_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]   --> examples/pyramid.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 |             for j in i..N {
[INFO] [stdout]    |                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 56 |             for _j in i..N {
[INFO] [stdout]    |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `N`
[INFO] [stdout]    |
[INFO] [stdout] 56 -             for j in i..N {
[INFO] [stdout] 56 +             for PyramidTestbed::new::N in i..N {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alt`
[INFO] [stdout]   --> examples/testbed/input.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                       ^^^ help: try ignoring the field: `alt: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctrl`
[INFO] [stdout]   --> examples/testbed/input.rs:46:44
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                            ^^^^ help: try ignoring the field: `ctrl: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/circle_collisions.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut testbed = CircleCollisionsTestbed::new();
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shift`
[INFO] [stdout]   --> examples/testbed/input.rs:46:50
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                                  ^^^^^ help: try ignoring the field: `shift: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system`
[INFO] [stdout]   --> examples/testbed/input.rs:46:57
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Event::KeyPressed { code, alt, ctrl, shift, system } => {
[INFO] [stdout]    |                                                         ^^^^^^ help: try ignoring the field: `system: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `config_shape`, `draw_line`, and `draw_text` are never used
[INFO] [stdout]    --> examples/testbed/canvas.rs:53:8
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl Canvas {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  53 |     fn config_shape<'a, T: sfml::graphics::Shape<'a>>(&self, shape: &mut T) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn draw_line(&mut self, a: Vec2, b: Vec2) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn draw_text(&mut self, text: String, size: u32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfml_pos`
[INFO] [stdout]   --> examples/testbed/canvas.rs:89:32
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn draw_polygon(&mut self, sfml_pos: sfml::system::Vector2f,
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfml_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/pyramid.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let mut testbed = PyramidTestbed::new(&config);
[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 `config_shape` is never used
[INFO] [stdout]   --> examples/testbed/canvas.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl Canvas {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fn config_shape<'a, T: sfml::graphics::Shape<'a>>(&self, shape: &mut T) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/util/pool.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut node_pool = Vec::with_capacity(initial_capacity);
[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: unused variable: `a`
[INFO] [stdout]   --> src/util/pool.rs:99:14
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let (a, b, c) = (pool.allocate(), pool.allocate(), pool.allocate());
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/util/pool.rs:99:20
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let (a, b, c) = (pool.allocate(), pool.allocate(), pool.allocate());
[INFO] [stdout]    |                    ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/collision/broad_phase/bounds_tree/mod.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let mut pool = pool::Pool::default();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/collision/solver.rs:110:62
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn solve_velocity(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout]     |                                                              ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn solve_velocity(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {
[INFO] [stdout]     |                                                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]     |
[INFO] [stdout] 110 -     fn solve_velocity(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout] 110 +     fn solve_velocity(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/collision/solver.rs:152:62
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn solve_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout]     |                                                              ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn solve_position(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {
[INFO] [stdout]     |                                                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]     |
[INFO] [stdout] 152 -     fn solve_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout] 152 +     fn solve_position(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rel_vel_normal`
[INFO] [stdout]   --> src/collision/solver.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let rel_vel_normal = contact.normal.dot(&rel_vel);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let _rel_vel_normal = contact.normal.dot(&rel_vel);
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]    |
[INFO] [stdout] 71 -         let rel_vel_normal = contact.normal.dot(&rel_vel);
[INFO] [stdout] 71 +         let joint::spring::SPRING_DISPLACEMENT_SLOP = contact.normal.dot(&rel_vel);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]   --> src/collision/solver.rs:65:59
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn initialize_velocity(&mut self, a: &Body, b: &Body, dt: f32) {
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn initialize_velocity(&mut self, a: &Body, b: &Body, _dt: f32) {
[INFO] [stdout]    |                                                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]    |
[INFO] [stdout] 65 -     fn initialize_velocity(&mut self, a: &Body, b: &Body, dt: f32) {
[INFO] [stdout] 65 +     fn initialize_velocity(&mut self, a: &Body, b: &Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]   --> src/collision/solver.rs:97:67
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout]    |                                                                   ^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {
[INFO] [stdout]    |                                                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]    |
[INFO] [stdout] 97 -     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout] 97 +     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/collision/solver.rs:108:39
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                       ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/collision/solver.rs:108:53
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                                     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/collision/solver.rs:108:67
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                                                   ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {}
[INFO] [stdout]     |                                                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]     |
[INFO] [stdout] 108 -     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout] 108 +     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {}
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/joint/spring.rs:111:67
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout]     |                                                                   ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {
[INFO] [stdout]     |                                                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]     |
[INFO] [stdout] 111 -     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, dt: f32) {
[INFO] [stdout] 111 +     fn warm_start_velocity(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/joint/spring.rs:118:39
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                       ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/joint/spring.rs:118:53
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                                     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/joint/spring.rs:118:67
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                                                   ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {}
[INFO] [stdout]     |                                                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]     |
[INFO] [stdout] 118 -     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout] 118 +     fn warm_start_position(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {}
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/joint/spring.rs:137:34
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn solve_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/joint/spring.rs:137:48
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn solve_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                                ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/joint/spring.rs:137:62
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn solve_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout]     |                                                              ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn solve_position(&mut self, a: &mut Body, b: &mut Body, _dt: f32) {}
[INFO] [stdout]     |                                                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SPRING_DISPLACEMENT_SLOP`
[INFO] [stdout]     |
[INFO] [stdout] 137 -     fn solve_position(&mut self, a: &mut Body, b: &mut Body, dt: f32) {}
[INFO] [stdout] 137 +     fn solve_position(&mut self, a: &mut Body, b: &mut Body, joint::spring::SPRING_DISPLACEMENT_SLOP: f32) {}
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NaiveBroadPhase` is never constructed
[INFO] [stdout]  --> src/collision/broad_phase/naive.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct NaiveBroadPhase;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_root_mut` is never used
[INFO] [stdout]   --> src/collision/broad_phase/bounds_tree/mod.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl<T: Default> BoundsTree<T> {
[INFO] [stdout]    | ------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn get_root_mut(&mut self) -> &mut Node<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `remove` are never used
[INFO] [stdout]   --> src/world/collections.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Bodies {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 19 |     pub fn new() -> Bodies {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn remove(&mut self, id: BodyId) -> Option<Body> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_mut` is never used
[INFO] [stdout]   --> src/world/body/pair.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl BodyPair {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn with_mut<F, R>(&self, bodies: &mut Bodies, mut f: F) -> R
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]   --> src/world/collections.rs:93:28
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub type ConstraintsMap<T: Constraint> = FnvHashMap<BodyPair, Vec<T>>;
[INFO] [stdout]    |                          --^^^^^^^^^^
[INFO] [stdout]    |                          | |
[INFO] [stdout]    |                          | will not be checked at usage sites of the type alias
[INFO] [stdout]    |                          help: remove this bound
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]            see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]    = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout]    = note: `#[warn(type_alias_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.24s
[INFO] running `Command { std: "docker" "inspect" "651efa4ba20d49243293441b057f8c6fdc6beb88b71352d28fbe241653e5d4c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "651efa4ba20d49243293441b057f8c6fdc6beb88b71352d28fbe241653e5d4c8", kill_on_drop: false }`
[INFO] [stdout] 651efa4ba20d49243293441b057f8c6fdc6beb88b71352d28fbe241653e5d4c8
