[INFO] cloning repository https://github.com/LoganZ2/game-server
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/LoganZ2/game-server" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLoganZ2%2Fgame-server", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLoganZ2%2Fgame-server'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3d75f906b995ba0488190086857985f81b167fcd
[INFO] checking LoganZ2/game-server against master#4b9792692fbb675174d4d2082e7c37b2bc930e71 for pr-153692-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLoganZ2%2Fgame-server" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/LoganZ2/game-server
[INFO] finished tweaking git repo https://github.com/LoganZ2/game-server
[INFO] tweaked toml for git repo https://github.com/LoganZ2/game-server written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/LoganZ2/game-server on toolchain 4b9792692fbb675174d4d2082e7c37b2bc930e71
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4b9792692fbb675174d4d2082e7c37b2bc930e71" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/LoganZ2/game-server already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4b9792692fbb675174d4d2082e7c37b2bc930e71" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+4b9792692fbb675174d4d2082e7c37b2bc930e71" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4b95142139840262edd535bfc97c38f10f0dcadde072337fba5d8fd5bc565ceb
[INFO] running `Command { std: "docker" "start" "-a" "4b95142139840262edd535bfc97c38f10f0dcadde072337fba5d8fd5bc565ceb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4b95142139840262edd535bfc97c38f10f0dcadde072337fba5d8fd5bc565ceb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4b95142139840262edd535bfc97c38f10f0dcadde072337fba5d8fd5bc565ceb", kill_on_drop: false }`
[INFO] [stdout] 4b95142139840262edd535bfc97c38f10f0dcadde072337fba5d8fd5bc565ceb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+4b9792692fbb675174d4d2082e7c37b2bc930e71" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 935dd9aca88f61e40acb81f8f6de2c20193b2fdef491702659525710180e28ac
[INFO] running `Command { std: "docker" "start" "-a" "935dd9aca88f61e40acb81f8f6de2c20193b2fdef491702659525710180e28ac", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]     Checking cfg-if v1.0.3
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling game-server v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking socket2 v0.6.0
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stdout] warning: unused imports: `Body`, `Shape`, and `WorldRef`
[INFO] [stdout]  --> src/game.rs:3:42
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...::{Body, BodyDef, BodyId, BodyRef, BodyType}, geometry::make_box, math::Vec2, shape::{Shape, ShapeDef}, world::{World, WorldDef, WorldRef}},...
[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: `sync::Arc`
[INFO] [stdout]  --> src/entity/player.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::c_float, sync::Arc};
[INFO] [stdout]   |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Body`
[INFO] [stdout]  --> src/entity/player.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{box2d::{body::{Body, BodyRef}, math::Vec2}, entity:: MoveInput};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shape`
[INFO] [stdout]  --> src/box2d/world.rs:3:234
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...peProxy}, math::{AABB, Transform, Vec2}, shape::{QueryFilter, Shape, ShapeId, ShapeRef}};
[INFO] [stdout]   |                                                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WorldId` and `World`
[INFO] [stdout]  --> src/box2d/body.rs:4:177
[INFO] [stdout]   |
[INFO] [stdout] 4 | ...c2}, shape::{Shape, ShapeDef, ShapeId, ShapeRef}, world::{World, WorldId, WorldRef}};
[INFO] [stdout]   |                                                              ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BodyId`, `Body`, `geometry::Polygon`, and `world::WorldRef`
[INFO] [stdout]  --> src/box2d/shape.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::box2d::{body::{Body, BodyId, BodyRef}, geometry::Polygon, world::WorldRef};
[INFO] [stdout]   |                           ^^^^  ^^^^^^            ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Body`, `Shape`, and `WorldRef`
[INFO] [stdout]  --> src/game.rs:3:42
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...::{Body, BodyDef, BodyId, BodyRef, BodyType}, geometry::make_box, math::Vec2, shape::{Shape, ShapeDef}, world::{World, WorldDef, WorldRef}},...
[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: `sync::Arc`
[INFO] [stdout]  --> src/entity/player.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::c_float, sync::Arc};
[INFO] [stdout]   |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Body`
[INFO] [stdout]  --> src/entity/player.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{box2d::{body::{Body, BodyRef}, math::Vec2}, entity:: MoveInput};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shape`
[INFO] [stdout]  --> src/box2d/world.rs:3:234
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...peProxy}, math::{AABB, Transform, Vec2}, shape::{QueryFilter, Shape, ShapeId, ShapeRef}};
[INFO] [stdout]   |                                                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WorldId` and `World`
[INFO] [stdout]  --> src/box2d/body.rs:4:177
[INFO] [stdout]   |
[INFO] [stdout] 4 | ...c2}, shape::{Shape, ShapeDef, ShapeId, ShapeRef}, world::{World, WorldId, WorldRef}};
[INFO] [stdout]   |                                                              ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BodyId`, `Body`, `geometry::Polygon`, and `world::WorldRef`
[INFO] [stdout]  --> src/box2d/shape.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::box2d::{body::{Body, BodyId, BodyRef}, geometry::Polygon, world::WorldRef};
[INFO] [stdout]   |                           ^^^^  ^^^^^^            ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NO_GRAVITY` is never used
[INFO] [stdout]  --> src/game.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const NO_GRAVITY: Vec2 = Vec2 { x: 0., y: 0. };
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/game.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Game {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 12 |     id: u32,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove_body` is never used
[INFO] [stdout]    --> src/game.rs:156:14
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl Game {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 156 |     async fn remove_body(&self, body_id: &BodyId) {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Version` is never constructed
[INFO] [stdout]   --> src/box2d/base.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Version {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AllocFcn` is never used
[INFO] [stdout]   --> src/box2d/base.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | type AllocFcn = extern "C" fn(
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FreeFcn` is never used
[INFO] [stdout]   --> src/box2d/base.rs:24:6
[INFO] [stdout]    |
[INFO] [stdout] 24 | type FreeFcn = extern "C" fn(
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AssertFcn` is never used
[INFO] [stdout]   --> src/box2d/base.rs:28:6
[INFO] [stdout]    |
[INFO] [stdout] 28 | type AssertFcn = extern "C" fn(
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_byte_count` is never used
[INFO] [stdout]  --> src/box2d/base.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub unsafe fn get_byte_count() -> c_int;
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_allocator` is never used
[INFO] [stdout]  --> src/box2d/base.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub unsafe fn set_allocator(alloc_fcn: *mut AllocFcn, free_fcn: *mut FreeFcn);
[INFO] [stdout]   |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_assert_fcn` is never used
[INFO] [stdout]  --> src/box2d/base.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub unsafe fn set_assert_fcn(assert_fcn: *mut AssertFcn);
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RayResult` is never constructed
[INFO] [stdout]    --> src/box2d/world.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct RayResult {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/box2d/world.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | impl World {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn id(&self) -> WorldId {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub async fn get_body(self: &Arc<Self>, body_id: &BodyId) -> Option<BodyRef> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub async fn remove_body(self: &Arc<Self>, body_id: &BodyId) -> Option<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub async fn get_shape(self: &Arc<Self>, shape_id: &ShapeId) -> Option<ShapeRef> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn draw(&self, draw: DebugDraw) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn get_body_events(&self) -> BodyEvents {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub fn get_sensor_events(&self) -> SensorEvents {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn get_contact_events(&self) -> ContactEvents {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub fn overlap_aabb(&self, aabb: AABB, filter: QueryFilter, fcn: *mut OverlapResultFcn, context: *mut c_void) -> TreeStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub fn overlap_shape(&self, proxy: &[ShapeProxy], translation: Vec2, filter: QueryFilter, fcn: *mut CastResultFcn, context: *mu...
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub fn cast_ray(&self, origin: Vec2, translation: Vec2, filter: QueryFilter, fcn: *mut CastResultFcn, context: *mut c_void) -> ...
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn cast_ray_closest(&self, origin: Vec2, translation: Vec2, filter: QueryFilter) -> RayResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn cast_shape(&self, proxy: &[ShapeProxy], translation: Vec2, filter: QueryFilter, fcn: *mut CastResultFcn, context: *mut c...
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn cast_mover(&self, mover: &[Capsule], translation: Vec2, filter: QueryFilter) -> c_float {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn collide_mover(&self, mover: &[Capsule], filter: QueryFilter, fcn: *mut PlaneResultFcn, context: *mut c_void) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub fn enable_sleeping(&self, flag: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn is_sleeping_enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn enable_continuous(&self, flag: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub fn is_continuous_enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub fn set_restitution_threshold(&self, value: c_float) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn get_restitution_threshold(&self) -> c_float {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn set_hit_event_threshold(&self, value: c_float) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_hit_event_threshold(&self) -> c_float {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     pub fn set_custom_filter_callback(&self, fcn: *mut CustomFilterFcn, context: *mut c_void) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub fn set_pre_solve_callback(&self, fcn: *mut PreSolveFcn, context: *mut c_void) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn get_gravity(&self) -> Vec2 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn explode(&self, explosion_def: &ExplosionDef) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     pub fn set_contact_tuning(&self, hertz: c_float, damping_ratio: c_float, push_speed: c_float) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn set_joint_tuning(&self, hertz: c_float, damping_ratio: c_float) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn set_maximum_linear_speed(&self, maximum_linear_speed: c_float) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 298 |     pub fn get_maximum_linear_speed(&self) -> c_float {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn enable_warm_starting(&self, flag: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub fn is_warm_starting_enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 307 |     pub fn get_awake_body_count(&self) -> c_int {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub fn get_profile(&self) -> Profile {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub fn get_counters(&self) -> Counters {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 316 |     pub fn set_user_data(&self, user_data: *mut c_void) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub fn get_user_data(&self) -> *mut c_void {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub fn set_friction_callback(&self, callback: *mut FrictionCallback) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub fn set_restitution_callback(&self, callback: *mut RestitutionCallback) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     pub fn dump_memory_stats(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn rebuild_static_tree(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |     pub fn enable_speculative(&self, flag: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExplosionDef` is never constructed
[INFO] [stdout]    --> src/box2d/world.rs:349:12
[INFO] [stdout]     |
[INFO] [stdout] 349 | pub struct ExplosionDef {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugDraw` is never constructed
[INFO] [stdout]    --> src/box2d/world.rs:368:12
[INFO] [stdout]     |
[INFO] [stdout] 368 | pub struct DebugDraw {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Profile` is never constructed
[INFO] [stdout]    --> src/box2d/world.rs:403:12
[INFO] [stdout]     |
[INFO] [stdout] 403 | pub struct Profile {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Counters` is never constructed
[INFO] [stdout]    --> src/box2d/world.rs:431:12
[INFO] [stdout]     |
[INFO] [stdout] 431 | pub struct Counters {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DrawPolygonFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:446:10
[INFO] [stdout]     |
[INFO] [stdout] 446 | pub type DrawPolygonFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DrawSolidPolygonFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:454:10
[INFO] [stdout]     |
[INFO] [stdout] 454 | pub type DrawSolidPolygonFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DrawCircleFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:464:10
[INFO] [stdout]     |
[INFO] [stdout] 464 | pub type DrawCircleFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DrawSolidCircleFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:472:10
[INFO] [stdout]     |
[INFO] [stdout] 472 | pub type DrawSolidCircleFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DrawSolidCapsuleFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:480:10
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub type DrawSolidCapsuleFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DrawLineFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:489:10
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub type DrawLineFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DrawTransformFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:497:10
[INFO] [stdout]     |
[INFO] [stdout] 497 | pub type DrawTransformFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DrawPointFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:503:10
[INFO] [stdout]     |
[INFO] [stdout] 503 | pub type DrawPointFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DrawStringFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:511:10
[INFO] [stdout]     |
[INFO] [stdout] 511 | pub type DrawStringFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CastResultFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:518:10
[INFO] [stdout]     |
[INFO] [stdout] 518 | pub type CastResultFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PlaneResultFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:526:10
[INFO] [stdout]     |
[INFO] [stdout] 526 | pub type PlaneResultFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CustomFilterFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:532:10
[INFO] [stdout]     |
[INFO] [stdout] 532 | pub type CustomFilterFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `OverlapResultFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:558:10
[INFO] [stdout]     |
[INFO] [stdout] 558 | pub type OverlapResultFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PreSolveFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:563:10
[INFO] [stdout]     |
[INFO] [stdout] 563 | pub type PreSolveFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_explosion_def` is never used
[INFO] [stdout]   --> src/box2d/world.rs:97:15
[INFO] [stdout]    |
[INFO] [stdout] 97 |     unsafe fn default_explosion_def() -> ExplosionDef;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_debug_draw` is never used
[INFO] [stdout]   --> src/box2d/world.rs:99:15
[INFO] [stdout]    |
[INFO] [stdout] 99 |     unsafe fn default_debug_draw() -> DebugDraw;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/box2d/body.rs:241:18
[INFO] [stdout]     |
[INFO] [stdout] 226 | impl BodyRef {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub async fn get_shape(self: &BodyRef, shape_id: &ShapeId) -> Option<ShapeRef> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub async fn remove_shape(self: &BodyRef, shape_id: &ShapeId) -> Option<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     pub fn get_world(&self) -> Option<WorldRef> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn get_rotation(&self) -> Option<Rot> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub fn get_type(&self) -> Option<BodyType> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn set_type(&self, r#type: BodyType) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub fn set_name(&self, name: &str) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     pub fn get_name(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub fn set_user_data(&self, user_data: *mut c_void) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub fn get_user_data(&self) -> Option<*mut c_void> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn get_transform(&self) -> Option<Transform> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     pub fn set_transform(&self, position: Vec2, rotation: Rot) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     pub fn get_local_point(&self, world_point: Vec2) -> Option<Vec2> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     pub fn get_world_point(&self, local_point: Vec2) -> Option<Vec2> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     pub fn get_local_vector(&self, world_vector: Vec2) -> Option<Vec2> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn get_world_vector(&self, local_vector: Vec2) -> Option<Vec2> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn get_linear_velocity(&self) -> Option<Vec2> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |     pub fn get_angular_velocity(&self) -> Option<c_float> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     pub fn set_angular_velocity(&self, angular_velocity: c_float) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |     pub fn set_target_transform(&self, target: Transform, time_step: c_float) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     pub fn get_local_point_velocity(&self, local_point: Vec2) -> Option<Vec2> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub fn get_world_point_velocity(&self, world_point: Vec2) -> Option<Vec2> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 326 |     pub fn apply_force(&self, force: Vec2, point: Vec2, wake: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub fn apply_force_to_center(&self, force: Vec2, wake: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn apply_torque(&self, torque: c_float, wake: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     pub fn apply_linear_impulse(&self, impulse: Vec2, point: Vec2, wake: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub fn apply_linear_impulse_to_center(&self, impulse: Vec2, wake: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pub fn apply_angular_impulse(&self, impulse: c_float, wake: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn get_mass(&self) -> Option<c_float> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 347 |     pub fn get_rotational_inertia(&self) -> Option<c_float> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub fn get_local_center_of_mass(&self) -> Option<Vec2> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     pub fn get_world_center_of_mass(&self) -> Option<Vec2> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |     pub fn set_mass_data(&self, mass_data: MassData) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub fn get_mass_data(&self) -> Option<MassData> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     pub fn apply_mass_from_shapes(&self) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub fn set_linear_damping(&self, linear_damping: c_float) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub fn get_linear_damping(&self) -> Option<c_float> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     pub fn set_angular_damping(&self, angular_damping: c_float) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     pub fn get_angular_damping(&self) -> Option<c_float> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     pub fn set_gravity_scale(&self, gravity_scale: c_float) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub fn get_gravity_scale(&self) -> Option<c_float> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 383 |     pub fn is_awake(&self) -> Option<bool> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     pub fn set_awake(&self, awake: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn enable_sleep(&self, enable_sleep: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 392 |     pub fn is_sleep_enabled(&self) -> Option<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 395 |     pub fn set_sleep_threshold(&self, sleep_threshold: c_float) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     pub fn get_sleep_threshold(&self) -> Option<c_float> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |     pub fn is_enabled(&self) -> Option<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 404 |     pub fn disable(&self) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     pub fn enable(&self) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 410 |     pub fn set_fixed_rotation(&self, flag: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 413 |     pub fn is_fixed_rotation(&self) -> Option<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub fn set_bullet(&self, flag: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 419 |     pub fn is_bullet(&self) -> Option<bool> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 422 |     pub fn enable_contact_events(&self, flag: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 425 |     pub fn enable_hit_events(&self, flag: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 428 |     pub fn get_shape_count(&self) -> Option<c_int> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 431 |     pub fn get_shapes(&self, shape_array: &mut [ShapeId]) -> Option<c_int> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 434 |     pub fn get_joint_count(&self) -> Option<c_int> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |     pub fn get_joints(&self, joint_array: &mut [JointId]) -> Option<c_int> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     pub fn get_contact_data(&self, contact_data: &mut [ContactData]) -> Option<c_int> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 443 |     pub fn compute_aabb(&self) -> Option<AABB> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `StaticBody`, `KinematicBody`, and `BodyTypeCount` are never constructed
[INFO] [stdout]    --> src/box2d/body.rs:450:5
[INFO] [stdout]     |
[INFO] [stdout] 449 | pub enum BodyType {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] 450 |     StaticBody = 0,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 451 |     KinematicBody = 1,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 452 |     DynamicBody = 2,
[INFO] [stdout] 453 |     BodyTypeCount = 3
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Capsule` is never constructed
[INFO] [stdout]   --> src/box2d/geometry.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Capsule {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShapeProxy` is never constructed
[INFO] [stdout]   --> src/box2d/geometry.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct ShapeProxy {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlaneResult` is never constructed
[INFO] [stdout]   --> src/box2d/geometry.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct PlaneResult {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MassData` is never constructed
[INFO] [stdout]   --> src/box2d/geometry.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct MassData {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `id` is never used
[INFO] [stdout]   --> src/box2d/shape.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl ShapeRef {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 75 |     pub fn id(&self) -> Option<ShapeId> {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueryFilter` is never constructed
[INFO] [stdout]    --> src/box2d/shape.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct QueryFilter {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CosSin` is never constructed
[INFO] [stdout]   --> src/box2d/math.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct CosSin {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Transform` is never constructed
[INFO] [stdout]   --> src/box2d/math.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Transform {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AABB` is never constructed
[INFO] [stdout]   --> src/box2d/math.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct AABB {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Plane` is never constructed
[INFO] [stdout]   --> src/box2d/math.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct Plane {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ManifoldPoint` is never constructed
[INFO] [stdout]  --> src/box2d/collision.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ManifoldPoint {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Manifold` is never constructed
[INFO] [stdout]   --> src/box2d/collision.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Manifold {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContactId` is never constructed
[INFO] [stdout]   --> src/box2d/collision.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct ContactId {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BodyMoveEvent` is never constructed
[INFO] [stdout]  --> src/box2d/events.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct BodyMoveEvent {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BodyEvents` is never constructed
[INFO] [stdout]   --> src/box2d/events.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct BodyEvents {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SensorEvents` is never constructed
[INFO] [stdout]   --> src/box2d/events.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct SensorEvents {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SensorBeginTouchEvent` is never constructed
[INFO] [stdout]   --> src/box2d/events.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct SensorBeginTouchEvent {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SensorEndTouchEvent` is never constructed
[INFO] [stdout]   --> src/box2d/events.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct SensorEndTouchEvent {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContactEvents` is never constructed
[INFO] [stdout]   --> src/box2d/events.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct ContactEvents {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContactBeginTouchEvent` is never constructed
[INFO] [stdout]   --> src/box2d/events.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct ContactBeginTouchEvent {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContactEndTouchEvent` is never constructed
[INFO] [stdout]   --> src/box2d/events.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct ContactEndTouchEvent {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContactHitEvent` is never constructed
[INFO] [stdout]   --> src/box2d/events.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct ContactHitEvent {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContactData` is never constructed
[INFO] [stdout]   --> src/box2d/events.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct ContactData {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TreeStats` is never constructed
[INFO] [stdout]  --> src/box2d/dynamic_tree.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TreeStats {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JointId` is never constructed
[INFO] [stdout]  --> src/box2d/joint.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct JointId {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Joint` is never constructed
[INFO] [stdout]   --> src/box2d/joint.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Joint {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NO_GRAVITY` is never used
[INFO] [stdout]  --> src/game.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const NO_GRAVITY: Vec2 = Vec2 { x: 0., y: 0. };
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/game.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Game {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 12 |     id: u32,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove_body` is never used
[INFO] [stdout]    --> src/game.rs:156:14
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl Game {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 156 |     async fn remove_body(&self, body_id: &BodyId) {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Version` is never constructed
[INFO] [stdout]   --> src/box2d/base.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Version {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AllocFcn` is never used
[INFO] [stdout]   --> src/box2d/base.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | type AllocFcn = extern "C" fn(
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FreeFcn` is never used
[INFO] [stdout]   --> src/box2d/base.rs:24:6
[INFO] [stdout]    |
[INFO] [stdout] 24 | type FreeFcn = extern "C" fn(
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AssertFcn` is never used
[INFO] [stdout]   --> src/box2d/base.rs:28:6
[INFO] [stdout]    |
[INFO] [stdout] 28 | type AssertFcn = extern "C" fn(
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_byte_count` is never used
[INFO] [stdout]  --> src/box2d/base.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub unsafe fn get_byte_count() -> c_int;
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_allocator` is never used
[INFO] [stdout]  --> src/box2d/base.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub unsafe fn set_allocator(alloc_fcn: *mut AllocFcn, free_fcn: *mut FreeFcn);
[INFO] [stdout]   |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_assert_fcn` is never used
[INFO] [stdout]  --> src/box2d/base.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub unsafe fn set_assert_fcn(assert_fcn: *mut AssertFcn);
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RayResult` is never constructed
[INFO] [stdout]    --> src/box2d/world.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct RayResult {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/box2d/world.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | impl World {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn id(&self) -> WorldId {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub async fn get_body(self: &Arc<Self>, body_id: &BodyId) -> Option<BodyRef> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub async fn remove_body(self: &Arc<Self>, body_id: &BodyId) -> Option<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub async fn get_shape(self: &Arc<Self>, shape_id: &ShapeId) -> Option<ShapeRef> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn draw(&self, draw: DebugDraw) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn get_body_events(&self) -> BodyEvents {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub fn get_sensor_events(&self) -> SensorEvents {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn get_contact_events(&self) -> ContactEvents {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub fn overlap_aabb(&self, aabb: AABB, filter: QueryFilter, fcn: *mut OverlapResultFcn, context: *mut c_void) -> TreeStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub fn overlap_shape(&self, proxy: &[ShapeProxy], translation: Vec2, filter: QueryFilter, fcn: *mut CastResultFcn, context: *mu...
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub fn cast_ray(&self, origin: Vec2, translation: Vec2, filter: QueryFilter, fcn: *mut CastResultFcn, context: *mut c_void) -> ...
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn cast_ray_closest(&self, origin: Vec2, translation: Vec2, filter: QueryFilter) -> RayResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn cast_shape(&self, proxy: &[ShapeProxy], translation: Vec2, filter: QueryFilter, fcn: *mut CastResultFcn, context: *mut c...
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn cast_mover(&self, mover: &[Capsule], translation: Vec2, filter: QueryFilter) -> c_float {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn collide_mover(&self, mover: &[Capsule], filter: QueryFilter, fcn: *mut PlaneResultFcn, context: *mut c_void) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub fn enable_sleeping(&self, flag: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn is_sleeping_enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn enable_continuous(&self, flag: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub fn is_continuous_enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub fn set_restitution_threshold(&self, value: c_float) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn get_restitution_threshold(&self) -> c_float {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn set_hit_event_threshold(&self, value: c_float) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_hit_event_threshold(&self) -> c_float {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     pub fn set_custom_filter_callback(&self, fcn: *mut CustomFilterFcn, context: *mut c_void) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub fn set_pre_solve_callback(&self, fcn: *mut PreSolveFcn, context: *mut c_void) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn get_gravity(&self) -> Vec2 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn explode(&self, explosion_def: &ExplosionDef) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     pub fn set_contact_tuning(&self, hertz: c_float, damping_ratio: c_float, push_speed: c_float) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn set_joint_tuning(&self, hertz: c_float, damping_ratio: c_float) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn set_maximum_linear_speed(&self, maximum_linear_speed: c_float) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 298 |     pub fn get_maximum_linear_speed(&self) -> c_float {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn enable_warm_starting(&self, flag: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub fn is_warm_starting_enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 307 |     pub fn get_awake_body_count(&self) -> c_int {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub fn get_profile(&self) -> Profile {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub fn get_counters(&self) -> Counters {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 316 |     pub fn set_user_data(&self, user_data: *mut c_void) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub fn get_user_data(&self) -> *mut c_void {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub fn set_friction_callback(&self, callback: *mut FrictionCallback) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub fn set_restitution_callback(&self, callback: *mut RestitutionCallback) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     pub fn dump_memory_stats(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn rebuild_static_tree(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |     pub fn enable_speculative(&self, flag: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExplosionDef` is never constructed
[INFO] [stdout]    --> src/box2d/world.rs:349:12
[INFO] [stdout]     |
[INFO] [stdout] 349 | pub struct ExplosionDef {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugDraw` is never constructed
[INFO] [stdout]    --> src/box2d/world.rs:368:12
[INFO] [stdout]     |
[INFO] [stdout] 368 | pub struct DebugDraw {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Profile` is never constructed
[INFO] [stdout]    --> src/box2d/world.rs:403:12
[INFO] [stdout]     |
[INFO] [stdout] 403 | pub struct Profile {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Counters` is never constructed
[INFO] [stdout]    --> src/box2d/world.rs:431:12
[INFO] [stdout]     |
[INFO] [stdout] 431 | pub struct Counters {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DrawPolygonFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:446:10
[INFO] [stdout]     |
[INFO] [stdout] 446 | pub type DrawPolygonFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DrawSolidPolygonFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:454:10
[INFO] [stdout]     |
[INFO] [stdout] 454 | pub type DrawSolidPolygonFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DrawCircleFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:464:10
[INFO] [stdout]     |
[INFO] [stdout] 464 | pub type DrawCircleFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DrawSolidCircleFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:472:10
[INFO] [stdout]     |
[INFO] [stdout] 472 | pub type DrawSolidCircleFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DrawSolidCapsuleFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:480:10
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub type DrawSolidCapsuleFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DrawLineFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:489:10
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub type DrawLineFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DrawTransformFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:497:10
[INFO] [stdout]     |
[INFO] [stdout] 497 | pub type DrawTransformFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DrawPointFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:503:10
[INFO] [stdout]     |
[INFO] [stdout] 503 | pub type DrawPointFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DrawStringFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:511:10
[INFO] [stdout]     |
[INFO] [stdout] 511 | pub type DrawStringFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CastResultFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:518:10
[INFO] [stdout]     |
[INFO] [stdout] 518 | pub type CastResultFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PlaneResultFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:526:10
[INFO] [stdout]     |
[INFO] [stdout] 526 | pub type PlaneResultFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CustomFilterFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:532:10
[INFO] [stdout]     |
[INFO] [stdout] 532 | pub type CustomFilterFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `OverlapResultFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:558:10
[INFO] [stdout]     |
[INFO] [stdout] 558 | pub type OverlapResultFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PreSolveFcn` is never used
[INFO] [stdout]    --> src/box2d/world.rs:563:10
[INFO] [stdout]     |
[INFO] [stdout] 563 | pub type PreSolveFcn = extern "C" fn(
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_explosion_def` is never used
[INFO] [stdout]   --> src/box2d/world.rs:97:15
[INFO] [stdout]    |
[INFO] [stdout] 97 |     unsafe fn default_explosion_def() -> ExplosionDef;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_debug_draw` is never used
[INFO] [stdout]   --> src/box2d/world.rs:99:15
[INFO] [stdout]    |
[INFO] [stdout] 99 |     unsafe fn default_debug_draw() -> DebugDraw;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/box2d/body.rs:241:18
[INFO] [stdout]     |
[INFO] [stdout] 226 | impl BodyRef {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub async fn get_shape(self: &BodyRef, shape_id: &ShapeId) -> Option<ShapeRef> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub async fn remove_shape(self: &BodyRef, shape_id: &ShapeId) -> Option<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     pub fn get_world(&self) -> Option<WorldRef> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn get_rotation(&self) -> Option<Rot> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub fn get_type(&self) -> Option<BodyType> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn set_type(&self, r#type: BodyType) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub fn set_name(&self, name: &str) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     pub fn get_name(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub fn set_user_data(&self, user_data: *mut c_void) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub fn get_user_data(&self) -> Option<*mut c_void> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn get_transform(&self) -> Option<Transform> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     pub fn set_transform(&self, position: Vec2, rotation: Rot) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     pub fn get_local_point(&self, world_point: Vec2) -> Option<Vec2> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     pub fn get_world_point(&self, local_point: Vec2) -> Option<Vec2> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     pub fn get_local_vector(&self, world_vector: Vec2) -> Option<Vec2> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn get_world_vector(&self, local_vector: Vec2) -> Option<Vec2> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn get_linear_velocity(&self) -> Option<Vec2> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |     pub fn get_angular_velocity(&self) -> Option<c_float> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     pub fn set_angular_velocity(&self, angular_velocity: c_float) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |     pub fn set_target_transform(&self, target: Transform, time_step: c_float) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     pub fn get_local_point_velocity(&self, local_point: Vec2) -> Option<Vec2> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub fn get_world_point_velocity(&self, world_point: Vec2) -> Option<Vec2> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 326 |     pub fn apply_force(&self, force: Vec2, point: Vec2, wake: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub fn apply_force_to_center(&self, force: Vec2, wake: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn apply_torque(&self, torque: c_float, wake: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     pub fn apply_linear_impulse(&self, impulse: Vec2, point: Vec2, wake: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub fn apply_linear_impulse_to_center(&self, impulse: Vec2, wake: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pub fn apply_angular_impulse(&self, impulse: c_float, wake: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn get_mass(&self) -> Option<c_float> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 347 |     pub fn get_rotational_inertia(&self) -> Option<c_float> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub fn get_local_center_of_mass(&self) -> Option<Vec2> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     pub fn get_world_center_of_mass(&self) -> Option<Vec2> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |     pub fn set_mass_data(&self, mass_data: MassData) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub fn get_mass_data(&self) -> Option<MassData> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     pub fn apply_mass_from_shapes(&self) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub fn set_linear_damping(&self, linear_damping: c_float) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub fn get_linear_damping(&self) -> Option<c_float> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     pub fn set_angular_damping(&self, angular_damping: c_float) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     pub fn get_angular_damping(&self) -> Option<c_float> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     pub fn set_gravity_scale(&self, gravity_scale: c_float) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub fn get_gravity_scale(&self) -> Option<c_float> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 383 |     pub fn is_awake(&self) -> Option<bool> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     pub fn set_awake(&self, awake: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn enable_sleep(&self, enable_sleep: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 392 |     pub fn is_sleep_enabled(&self) -> Option<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 395 |     pub fn set_sleep_threshold(&self, sleep_threshold: c_float) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     pub fn get_sleep_threshold(&self) -> Option<c_float> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |     pub fn is_enabled(&self) -> Option<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 404 |     pub fn disable(&self) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     pub fn enable(&self) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 410 |     pub fn set_fixed_rotation(&self, flag: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 413 |     pub fn is_fixed_rotation(&self) -> Option<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub fn set_bullet(&self, flag: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 419 |     pub fn is_bullet(&self) -> Option<bool> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 422 |     pub fn enable_contact_events(&self, flag: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 425 |     pub fn enable_hit_events(&self, flag: bool) -> Option<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 428 |     pub fn get_shape_count(&self) -> Option<c_int> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 431 |     pub fn get_shapes(&self, shape_array: &mut [ShapeId]) -> Option<c_int> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 434 |     pub fn get_joint_count(&self) -> Option<c_int> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |     pub fn get_joints(&self, joint_array: &mut [JointId]) -> Option<c_int> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     pub fn get_contact_data(&self, contact_data: &mut [ContactData]) -> Option<c_int> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 443 |     pub fn compute_aabb(&self) -> Option<AABB> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `StaticBody`, `KinematicBody`, and `BodyTypeCount` are never constructed
[INFO] [stdout]    --> src/box2d/body.rs:450:5
[INFO] [stdout]     |
[INFO] [stdout] 449 | pub enum BodyType {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] 450 |     StaticBody = 0,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 451 |     KinematicBody = 1,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 452 |     DynamicBody = 2,
[INFO] [stdout] 453 |     BodyTypeCount = 3
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Capsule` is never constructed
[INFO] [stdout]   --> src/box2d/geometry.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Capsule {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShapeProxy` is never constructed
[INFO] [stdout]   --> src/box2d/geometry.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct ShapeProxy {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlaneResult` is never constructed
[INFO] [stdout]   --> src/box2d/geometry.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct PlaneResult {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MassData` is never constructed
[INFO] [stdout]   --> src/box2d/geometry.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct MassData {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `id` is never used
[INFO] [stdout]   --> src/box2d/shape.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl ShapeRef {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 75 |     pub fn id(&self) -> Option<ShapeId> {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueryFilter` is never constructed
[INFO] [stdout]    --> src/box2d/shape.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct QueryFilter {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CosSin` is never constructed
[INFO] [stdout]   --> src/box2d/math.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct CosSin {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Transform` is never constructed
[INFO] [stdout]   --> src/box2d/math.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Transform {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AABB` is never constructed
[INFO] [stdout]   --> src/box2d/math.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct AABB {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Plane` is never constructed
[INFO] [stdout]   --> src/box2d/math.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct Plane {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ManifoldPoint` is never constructed
[INFO] [stdout]  --> src/box2d/collision.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ManifoldPoint {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Manifold` is never constructed
[INFO] [stdout]   --> src/box2d/collision.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Manifold {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContactId` is never constructed
[INFO] [stdout]   --> src/box2d/collision.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct ContactId {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BodyMoveEvent` is never constructed
[INFO] [stdout]  --> src/box2d/events.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct BodyMoveEvent {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BodyEvents` is never constructed
[INFO] [stdout]   --> src/box2d/events.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct BodyEvents {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.40s
[INFO] [stdout] warning: struct `SensorEvents` is never constructed
[INFO] [stdout]   --> src/box2d/events.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct SensorEvents {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SensorBeginTouchEvent` is never constructed
[INFO] [stdout]   --> src/box2d/events.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct SensorBeginTouchEvent {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SensorEndTouchEvent` is never constructed
[INFO] [stdout]   --> src/box2d/events.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct SensorEndTouchEvent {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContactEvents` is never constructed
[INFO] [stdout]   --> src/box2d/events.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct ContactEvents {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContactBeginTouchEvent` is never constructed
[INFO] [stdout]   --> src/box2d/events.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct ContactBeginTouchEvent {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContactEndTouchEvent` is never constructed
[INFO] [stdout]   --> src/box2d/events.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct ContactEndTouchEvent {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContactHitEvent` is never constructed
[INFO] [stdout]   --> src/box2d/events.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct ContactHitEvent {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContactData` is never constructed
[INFO] [stdout]   --> src/box2d/events.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct ContactData {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TreeStats` is never constructed
[INFO] [stdout]  --> src/box2d/dynamic_tree.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TreeStats {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JointId` is never constructed
[INFO] [stdout]  --> src/box2d/joint.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct JointId {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Joint` is never constructed
[INFO] [stdout]   --> src/box2d/joint.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Joint {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "935dd9aca88f61e40acb81f8f6de2c20193b2fdef491702659525710180e28ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "935dd9aca88f61e40acb81f8f6de2c20193b2fdef491702659525710180e28ac", kill_on_drop: false }`
[INFO] [stdout] 935dd9aca88f61e40acb81f8f6de2c20193b2fdef491702659525710180e28ac
