[INFO] cloning repository https://github.com/minchaihsieh/DistanceJoint
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/minchaihsieh/DistanceJoint" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fminchaihsieh%2FDistanceJoint", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fminchaihsieh%2FDistanceJoint'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] eb64935e0ed3cf7975e71281fec2b94539909386
[INFO] checking minchaihsieh/DistanceJoint/eb64935e0ed3cf7975e71281fec2b94539909386 against master#31a9463c6e2794a59ce57a8f37abc6966afc2a58 for pr-156807
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fminchaihsieh%2FDistanceJoint" "/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/minchaihsieh/DistanceJoint
[INFO] finished tweaking git repo https://github.com/minchaihsieh/DistanceJoint
[INFO] tweaked toml for git repo https://github.com/minchaihsieh/DistanceJoint written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/minchaihsieh/DistanceJoint on toolchain 31a9463c6e2794a59ce57a8f37abc6966afc2a58
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+31a9463c6e2794a59ce57a8f37abc6966afc2a58" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/minchaihsieh/DistanceJoint 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" "+31a9463c6e2794a59ce57a8f37abc6966afc2a58" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cc v1.0.101
[INFO] [stderr]   Downloaded euclid v0.22.10
[INFO] [stderr]   Downloaded gilrs-core v0.5.12
[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" "+31a9463c6e2794a59ce57a8f37abc6966afc2a58" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ab60f146fc925e9c59bdce12e0fd91032ce7488cf977da23ba132bdfba3c04b7
[INFO] running `Command { std: "docker" "start" "-a" "ab60f146fc925e9c59bdce12e0fd91032ce7488cf977da23ba132bdfba3c04b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ab60f146fc925e9c59bdce12e0fd91032ce7488cf977da23ba132bdfba3c04b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ab60f146fc925e9c59bdce12e0fd91032ce7488cf977da23ba132bdfba3c04b7", kill_on_drop: false }`
[INFO] [stdout] ab60f146fc925e9c59bdce12e0fd91032ce7488cf977da23ba132bdfba3c04b7
[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" "+31a9463c6e2794a59ce57a8f37abc6966afc2a58" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a6df866c3e56207051ffee52a040c4741f8c3e660ca5dd51ec107b71fac19858
[INFO] running `Command { std: "docker" "start" "-a" "a6df866c3e56207051ffee52a040c4741f8c3e660ca5dd51ec107b71fac19858", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]     Checking zerocopy v0.7.34
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling toml_datetime v0.6.6
[INFO] [stderr]     Checking parking v2.2.0
[INFO] [stderr]    Compiling syn v2.0.68
[INFO] [stderr]     Checking nonmax v0.5.5
[INFO] [stderr]     Checking typeid v1.0.0
[INFO] [stderr]     Checking web-time v0.2.4
[INFO] [stderr]     Checking bevy_ptr v0.13.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking regex-automata v0.4.7
[INFO] [stderr]     Checking tracing-log v0.1.4
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking unicode-width v0.1.13
[INFO] [stderr]    Compiling cc v1.0.101
[INFO] [stderr]     Checking piper v0.2.3
[INFO] [stderr]     Checking futures-lite v2.3.0
[INFO] [stderr]    Compiling wgpu-hal v0.19.4
[INFO] [stderr]    Compiling wgpu-core v0.19.4
[INFO] [stderr]    Compiling toml_edit v0.21.1
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking profiling v1.0.15
[INFO] [stderr]     Checking constant_time_eq v0.3.0
[INFO] [stderr]     Checking async-broadcast v0.5.1
[INFO] [stderr]    Compiling wgpu v0.19.4
[INFO] [stderr]     Checking const_soft_float v0.1.4
[INFO] [stderr]     Checking twox-hash v1.6.3
[INFO] [stderr]     Checking unicode-ident v1.0.12
[INFO] [stderr]     Checking data-encoding v2.6.0
[INFO] [stderr]     Checking const_panic v0.2.8
[INFO] [stderr]     Checking ktx2 v0.3.0
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]     Checking radsort v0.1.0
[INFO] [stderr]     Checking constgebra v0.1.4
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.13
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]     Checking ttf-parser v0.21.1
[INFO] [stderr]     Checking euclid v0.22.10
[INFO] [stderr]     Checking event-listener v5.3.1
[INFO] [stderr]     Checking async-executor v1.12.0
[INFO] [stderr]     Checking svg_fmt v0.4.3
[INFO] [stderr]    Compiling serde_json v1.0.118
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling winit v0.29.15
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]     Checking rectangle-pack v0.4.2
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]     Checking ogg v0.8.0
[INFO] [stderr]    Compiling gilrs v0.10.7
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking event-listener-strategy v0.5.2
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]     Checking grid v0.10.0
[INFO] [stderr]     Checking const-fnv1a-hash v1.1.0
[INFO] [stderr]     Checking async-channel v2.3.1
[INFO] [stderr]    Compiling uuid v1.9.1
[INFO] [stderr]     Checking async-lock v3.4.0
[INFO] [stderr]     Checking khronos-egl v6.0.0
[INFO] [stderr]     Checking bevy_tasks v0.13.2
[INFO] [stderr]     Checking blocking v1.6.1
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking inotify v0.10.2
[INFO] [stderr]    Compiling blake3 v1.5.1
[INFO] [stderr]     Checking async-fs v2.1.2
[INFO] [stderr]     Checking taffy v0.3.19
[INFO] [stderr]     Checking sysinfo v0.30.12
[INFO] [stderr]     Checking guillotiere v0.6.2
[INFO] [stderr]     Checking regex v1.10.5
[INFO] [stderr]     Checking owned_ttf_parser v0.21.0
[INFO] [stderr]     Checking ab_glyph v0.2.26
[INFO] [stderr]     Checking glyph_brush_layout v0.2.4
[INFO] [stderr]    Compiling bevy_macro_utils v0.13.2
[INFO] [stderr]    Compiling encase_derive_impl v0.7.0
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling bytemuck_derive v1.7.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling bevy_utils_proc_macros v0.13.2
[INFO] [stderr]    Compiling bevy_reflect_derive v0.13.2
[INFO] [stderr]    Compiling bevy_ecs_macros v0.13.2
[INFO] [stderr]    Compiling bevy_derive v0.13.2
[INFO] [stderr]    Compiling bevy_asset_macros v0.13.2
[INFO] [stderr]    Compiling derive_more v0.99.18
[INFO] [stderr]    Compiling encase_derive v0.7.0
[INFO] [stderr]    Compiling bevy_encase_derive v0.13.2
[INFO] [stderr]    Compiling bevy_render_macros v0.13.2
[INFO] [stderr]    Compiling gltf-derive v1.4.1
[INFO] [stderr]    Compiling bevy_gizmos_macros v0.13.2
[INFO] [stderr]     Checking thiserror v1.0.61
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking bytemuck v1.16.1
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking ruzstd v0.5.0
[INFO] [stderr]     Checking serde v1.0.203
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking glam v0.25.0
[INFO] [stderr]     Checking erased-serde v0.4.5
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.1.2
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking wgpu-types v0.19.2
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking alsa v0.9.0
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking gilrs-core v0.5.12
[INFO] [stderr]     Checking indexmap v2.2.6
[INFO] [stderr]     Checking gpu-descriptor v0.2.4
[INFO] [stderr]     Checking gltf-json v1.4.1
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking naga v0.19.2
[INFO] [stderr]     Checking rodio v0.17.3
[INFO] [stderr]     Checking bevy_utils v0.13.2
[INFO] [stderr]     Checking gltf v1.4.1
[INFO] [stderr]     Checking bevy_math v0.13.2
[INFO] [stderr]     Checking bevy_mikktspace v0.13.2
[INFO] [stderr]     Checking hexasphere v10.0.0
[INFO] [stderr]     Checking encase v0.7.0
[INFO] [stderr]     Checking bevy_reflect v0.13.2
[INFO] [stderr]     Checking polling v3.7.2
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking calloop v0.12.4
[INFO] [stderr]     Checking accesskit_winit v0.17.0
[INFO] [stderr]     Checking bevy_ecs v0.13.2
[INFO] [stderr]     Checking naga_oil v0.13.0
[INFO] [stderr]     Checking bevy_app v0.13.2
[INFO] [stderr]     Checking bevy_log v0.13.2
[INFO] [stderr]     Checking bevy_core v0.13.2
[INFO] [stderr]     Checking bevy_input v0.13.2
[INFO] [stderr]     Checking bevy_a11y v0.13.2
[INFO] [stderr]     Checking bevy_time v0.13.2
[INFO] [stderr]     Checking bevy_hierarchy v0.13.2
[INFO] [stderr]     Checking bevy_asset v0.13.2
[INFO] [stderr]     Checking bevy_transform v0.13.2
[INFO] [stderr]     Checking bevy_diagnostic v0.13.2
[INFO] [stderr]     Checking bevy_window v0.13.2
[INFO] [stderr]     Checking bevy_gilrs v0.13.2
[INFO] [stderr]     Checking bevy_audio v0.13.2
[INFO] [stderr]     Checking bevy_winit v0.13.2
[INFO] [stderr]     Checking bevy_render v0.13.2
[INFO] [stderr]     Checking bevy_core_pipeline v0.13.2
[INFO] [stderr]     Checking bevy_scene v0.13.2
[INFO] [stderr]     Checking bevy_animation v0.13.2
[INFO] [stderr]     Checking bevy_sprite v0.13.2
[INFO] [stderr]     Checking bevy_pbr v0.13.2
[INFO] [stderr]     Checking bevy_text v0.13.2
[INFO] [stderr]     Checking bevy_ui v0.13.2
[INFO] [stderr]     Checking bevy_gltf v0.13.2
[INFO] [stderr]     Checking bevy_gizmos v0.13.2
[INFO] [stderr]     Checking bevy_internal v0.13.2
[INFO] [stderr]     Checking bevy v0.13.2
[INFO] [stderr]     Checking DistanceJoint v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::resource::Gravity`
[INFO] [stdout]  --> src/cuboid.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::resource::Gravity;
[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: `bevy::ui::AlignSelf::Start`
[INFO] [stdout]  --> src/camera.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy::ui::AlignSelf::Start;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::TAU`
[INFO] [stdout]  --> src/XPDB.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f32::consts::TAU;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/XPDB.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 |         if(ang_vel.0 == Vec3::ZERO) {
[INFO] [stdout]    |           ^                       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 66 -         if(ang_vel.0 == Vec3::ZERO) {
[INFO] [stdout] 66 +         if ang_vel.0 == Vec3::ZERO  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/XPDB.rs:81:31
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn solve_pos(mut query: Query<(&mut DistanceJoint)>,
[INFO] [stdout]    |                               ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 81 - fn solve_pos(mut query: Query<(&mut DistanceJoint)>,
[INFO] [stdout] 81 + fn solve_pos(mut query: Query<&mut DistanceJoint >,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/XPDB.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     for (mut joint) in query.iter_mut() {
[INFO] [stdout]    |         ^         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 83 -     for (mut joint) in query.iter_mut() {
[INFO] [stdout] 83 +     for mut joint  in query.iter_mut() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serialize`
[INFO] [stdout]   --> src/components.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `serialize` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serialize`
[INFO] [stdout]   --> src/components.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `serialize` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::reflect::erased_serde::__private::serde`
[INFO] [stdout]  --> src/components.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use bevy::reflect::erased_serde::__private::serde;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serialize`
[INFO] [stdout]  --> src/resource.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `serialize` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::reflect::erased_serde::__private::serde`
[INFO] [stdout]  --> src/resource.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bevy::reflect::erased_serde::__private::serde;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serialize`
[INFO] [stdout]  --> src/DistanceJoint.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `serialize` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::reflect::erased_serde::__private::serde`
[INFO] [stdout]  --> src/DistanceJoint.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy::reflect::erased_serde::__private::serde;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serialize`
[INFO] [stdout]   --> src/rotation.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `serialize` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serialize`
[INFO] [stdout]    --> src/rotation.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 141 | #[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `serialize` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `math::DQuat`
[INFO] [stdout]  --> src/rotation.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bevy::{math::DQuat, prelude::*};
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::f32::consts::PI;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::resource::*`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::resource::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::math::quat`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use bevy::math::quat;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::resource::Gravity`
[INFO] [stdout]  --> src/cuboid.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::resource::Gravity;
[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: `bevy::ui::AlignSelf::Start`
[INFO] [stdout]  --> src/camera.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy::ui::AlignSelf::Start;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::TAU`
[INFO] [stdout]  --> src/XPDB.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f32::consts::TAU;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/XPDB.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 |         if(ang_vel.0 == Vec3::ZERO) {
[INFO] [stdout]    |           ^                       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 66 -         if(ang_vel.0 == Vec3::ZERO) {
[INFO] [stdout] 66 +         if ang_vel.0 == Vec3::ZERO  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/XPDB.rs:81:31
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn solve_pos(mut query: Query<(&mut DistanceJoint)>,
[INFO] [stdout]    |                               ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 81 - fn solve_pos(mut query: Query<(&mut DistanceJoint)>,
[INFO] [stdout] 81 + fn solve_pos(mut query: Query<&mut DistanceJoint >,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/XPDB.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     for (mut joint) in query.iter_mut() {
[INFO] [stdout]    |         ^         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 83 -     for (mut joint) in query.iter_mut() {
[INFO] [stdout] 83 +     for mut joint  in query.iter_mut() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serialize`
[INFO] [stdout]   --> src/components.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `serialize` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serialize`
[INFO] [stdout]   --> src/components.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `serialize` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::reflect::erased_serde::__private::serde`
[INFO] [stdout]  --> src/components.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use bevy::reflect::erased_serde::__private::serde;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serialize`
[INFO] [stdout]  --> src/resource.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `serialize` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::reflect::erased_serde::__private::serde`
[INFO] [stdout]  --> src/resource.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bevy::reflect::erased_serde::__private::serde;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serialize`
[INFO] [stdout]  --> src/DistanceJoint.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `serialize` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::reflect::erased_serde::__private::serde`
[INFO] [stdout]  --> src/DistanceJoint.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy::reflect::erased_serde::__private::serde;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serialize`
[INFO] [stdout]   --> src/rotation.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `serialize` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serialize`
[INFO] [stdout]    --> src/rotation.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 141 | #[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `serialize` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `math::DQuat`
[INFO] [stdout]  --> src/rotation.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bevy::{math::DQuat, prelude::*};
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::f32::consts::PI;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::resource::*`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::resource::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::math::quat`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use bevy::math::quat;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta_seconds`
[INFO] [stdout]   --> src/XPDB.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let delta_seconds = time.delta_seconds_adjusted();
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delta_seconds`
[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]   --> src/XPDB.rs:64:33
[INFO] [stdout]    |
[INFO] [stdout] 64 |     for (mut rot, mut prev_rot, mut ang_vel) in query.iter_mut() {
[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/XPDB.rs:83:10
[INFO] [stdout]    |
[INFO] [stdout] 83 |     for (mut joint) in query.iter_mut() {
[INFO] [stdout]    |          ----^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta_seconds`
[INFO] [stdout]    --> src/XPDB.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let delta_seconds = time.delta_seconds_adjusted();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delta_seconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta_seconds`
[INFO] [stdout]   --> src/XPDB.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let delta_seconds = time.delta_seconds_adjusted();
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delta_seconds`
[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]   --> src/XPDB.rs:64:33
[INFO] [stdout]    |
[INFO] [stdout] 64 |     for (mut rot, mut prev_rot, mut ang_vel) in query.iter_mut() {
[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/XPDB.rs:83:10
[INFO] [stdout]    |
[INFO] [stdout] 83 |     for (mut joint) in query.iter_mut() {
[INFO] [stdout]    |          ----^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta_seconds`
[INFO] [stdout]    --> src/XPDB.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let delta_seconds = time.delta_seconds_adjusted();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delta_seconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugPlugin` is never constructed
[INFO] [stdout]  --> src/debug.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct DebugPlugin;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_position` is never used
[INFO] [stdout]   --> src/debug.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn print_position(mut query: Query<(Entity, &Transform)>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAMERA_DISTANCE` is never used
[INFO] [stdout]  --> src/camera.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const CAMERA_DISTANCE: f32 = 80.0;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PosIntegrationComponents` is never used
[INFO] [stdout]   --> src/XPDB.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 26 | type PosIntegrationComponents = (
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PosToTransformComponents` is never used
[INFO] [stdout]    --> src/XPDB.rs:142:6
[INFO] [stdout]     |
[INFO] [stdout] 142 | type PosToTransformComponents = (
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PosToTransformFilter` is never used
[INFO] [stdout]    --> src/XPDB.rs:149:6
[INFO] [stdout]     |
[INFO] [stdout] 149 | type PosToTransformFilter = (With<RigidBody>, Changed<Position>);
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PosIntegrationComponents` is never used
[INFO] [stdout]  --> src/components.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | type PosIntegrationComponents = (
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_xyz` are never used
[INFO] [stdout]   --> src/components.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl Position {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 42 |     pub fn new(position: Vec3) -> Self { Self(position) }
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 43 |
[INFO] [stdout] 44 |     pub fn from_xyz(x: f32, y: f32, z: f32) ->Self { Self(Vec3::new(x, y, z))}
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccumulatedTranslation` is never constructed
[INFO] [stdout]   --> src/components.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct AccumulatedTranslation(pub Vec3);
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ZERO` is never used
[INFO] [stdout]   --> src/components.rs:61:15
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl LinearVelocity {
[INFO] [stdout]    | ------------------- associated constant in this implementation
[INFO] [stdout] 61 |     pub const ZERO: LinearVelocity = LinearVelocity(Vec3::ZERO);
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ZERO` is never used
[INFO] [stdout]   --> src/components.rs:74:15
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl AngularVelocity {
[INFO] [stdout]    | -------------------- associated constant in this implementation
[INFO] [stdout] 73 |     /// Zero angular velocity.
[INFO] [stdout] 74 |     pub const ZERO: AngularVelocity = AngularVelocity(Vec3::ZERO);
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InverseMass` is never constructed
[INFO] [stdout]   --> src/components.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct InverseMass(pub f32);
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ZERO` is never used
[INFO] [stdout]   --> src/components.rs:91:15
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl InverseMass {
[INFO] [stdout]    | ---------------- associated constant in this implementation
[INFO] [stdout] 91 |     pub const ZERO: Self = Self(0.0);
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ZERO` is never used
[INFO] [stdout]   --> src/resource.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Gravity {
[INFO] [stdout]    | ------------ associated constant in this implementation
[INFO] [stdout] 20 |     pub const ZERO: Gravity = Gravity(Vec3::ZERO);
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/DistanceJoint.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl DistanceJoint {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn with_local_anchor_1(self, anchor: Vec3) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn with_linear_velocity_damping(self, damping: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn with_angular_velocity_damping(self, damping: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn local_anchor_1(&self) -> Vec3 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn local_anchor_2(&self) -> Vec3 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn damping_linear(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn damping_angular(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RotationValue` is never used
[INFO] [stdout]  --> src/rotation.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(crate) type RotationValue = Quat;
[INFO] [stdout]   |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `XPDB` should have a snake case name
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod XPDB;
[INFO] [stdout]   |     ^^^^ help: convert the identifier to snake case: `xpdb`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `DistanceJoint` should have a snake case name
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | mod DistanceJoint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `distance_joint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `DynamicCub` should have a snake case name
[INFO] [stdout]   --> src/cuboid.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let DynamicCub = commands.spawn((
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `dynamic_cub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Static` should have a snake case name
[INFO] [stdout]   --> src/cuboid.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let Static = commands.spawn((
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]    |
[INFO] [stdout] 32 -     let Static = commands.spawn((
[INFO] [stdout] 32 +     let r#static = commands.spawn((
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugPlugin` is never constructed
[INFO] [stdout]  --> src/debug.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct DebugPlugin;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_position` is never used
[INFO] [stdout]   --> src/debug.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn print_position(mut query: Query<(Entity, &Transform)>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAMERA_DISTANCE` is never used
[INFO] [stdout]  --> src/camera.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const CAMERA_DISTANCE: f32 = 80.0;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PosIntegrationComponents` is never used
[INFO] [stdout]   --> src/XPDB.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 26 | type PosIntegrationComponents = (
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PosToTransformComponents` is never used
[INFO] [stdout]    --> src/XPDB.rs:142:6
[INFO] [stdout]     |
[INFO] [stdout] 142 | type PosToTransformComponents = (
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PosToTransformFilter` is never used
[INFO] [stdout]    --> src/XPDB.rs:149:6
[INFO] [stdout]     |
[INFO] [stdout] 149 | type PosToTransformFilter = (With<RigidBody>, Changed<Position>);
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PosIntegrationComponents` is never used
[INFO] [stdout]  --> src/components.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | type PosIntegrationComponents = (
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_xyz` are never used
[INFO] [stdout]   --> src/components.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl Position {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 42 |     pub fn new(position: Vec3) -> Self { Self(position) }
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 43 |
[INFO] [stdout] 44 |     pub fn from_xyz(x: f32, y: f32, z: f32) ->Self { Self(Vec3::new(x, y, z))}
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccumulatedTranslation` is never constructed
[INFO] [stdout]   --> src/components.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct AccumulatedTranslation(pub Vec3);
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ZERO` is never used
[INFO] [stdout]   --> src/components.rs:61:15
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl LinearVelocity {
[INFO] [stdout]    | ------------------- associated constant in this implementation
[INFO] [stdout] 61 |     pub const ZERO: LinearVelocity = LinearVelocity(Vec3::ZERO);
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ZERO` is never used
[INFO] [stdout]   --> src/components.rs:74:15
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl AngularVelocity {
[INFO] [stdout]    | -------------------- associated constant in this implementation
[INFO] [stdout] 73 |     /// Zero angular velocity.
[INFO] [stdout] 74 |     pub const ZERO: AngularVelocity = AngularVelocity(Vec3::ZERO);
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InverseMass` is never constructed
[INFO] [stdout]   --> src/components.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct InverseMass(pub f32);
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ZERO` is never used
[INFO] [stdout]   --> src/components.rs:91:15
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl InverseMass {
[INFO] [stdout]    | ---------------- associated constant in this implementation
[INFO] [stdout] 91 |     pub const ZERO: Self = Self(0.0);
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ZERO` is never used
[INFO] [stdout]   --> src/resource.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Gravity {
[INFO] [stdout]    | ------------ associated constant in this implementation
[INFO] [stdout] 20 |     pub const ZERO: Gravity = Gravity(Vec3::ZERO);
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/DistanceJoint.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl DistanceJoint {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn with_local_anchor_1(self, anchor: Vec3) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn with_linear_velocity_damping(self, damping: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn with_angular_velocity_damping(self, damping: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn local_anchor_1(&self) -> Vec3 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn local_anchor_2(&self) -> Vec3 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn damping_linear(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn damping_angular(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RotationValue` is never used
[INFO] [stdout]  --> src/rotation.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(crate) type RotationValue = Quat;
[INFO] [stdout]   |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `XPDB` should have a snake case name
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod XPDB;
[INFO] [stdout]   |     ^^^^ help: convert the identifier to snake case: `xpdb`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `DistanceJoint` should have a snake case name
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | mod DistanceJoint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `distance_joint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `DynamicCub` should have a snake case name
[INFO] [stdout]   --> src/cuboid.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let DynamicCub = commands.spawn((
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `dynamic_cub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Static` should have a snake case name
[INFO] [stdout]   --> src/cuboid.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let Static = commands.spawn((
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]    |
[INFO] [stdout] 32 -     let Static = commands.spawn((
[INFO] [stdout] 32 +     let r#static = commands.spawn((
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 43s
[INFO] running `Command { std: "docker" "inspect" "a6df866c3e56207051ffee52a040c4741f8c3e660ca5dd51ec107b71fac19858", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a6df866c3e56207051ffee52a040c4741f8c3e660ca5dd51ec107b71fac19858", kill_on_drop: false }`
[INFO] [stdout] a6df866c3e56207051ffee52a040c4741f8c3e660ca5dd51ec107b71fac19858
