[INFO] cloning repository https://github.com/jandan138/rust_distance_joint_simulator
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jandan138/rust_distance_joint_simulator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjandan138%2Frust_distance_joint_simulator", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjandan138%2Frust_distance_joint_simulator'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4d89cef07f848dacdd584e9343210323a48bcd44
[INFO] checking jandan138/rust_distance_joint_simulator against d0ab665d12770dbaae620b539ee4319b83445f45 for pr-133502-25
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjandan138%2Frust_distance_joint_simulator" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jandan138/rust_distance_joint_simulator
[INFO] finished tweaking git repo https://github.com/jandan138/rust_distance_joint_simulator
[INFO] tweaked toml for git repo https://github.com/jandan138/rust_distance_joint_simulator written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jandan138/rust_distance_joint_simulator on toolchain d0ab665d12770dbaae620b539ee4319b83445f45
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d0ab665d12770dbaae620b539ee4319b83445f45" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jandan138/rust_distance_joint_simulator 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" "+d0ab665d12770dbaae620b539ee4319b83445f45" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 43ff193b295e54c3457b43731ec7c2fc15c00ddf0a7a7abf8a3e2c82e4344ad7
[INFO] running `Command { std: "docker" "start" "43ff193b295e54c3457b43731ec7c2fc15c00ddf0a7a7abf8a3e2c82e4344ad7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "43ff193b295e54c3457b43731ec7c2fc15c00ddf0a7a7abf8a3e2c82e4344ad7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "43ff193b295e54c3457b43731ec7c2fc15c00ddf0a7a7abf8a3e2c82e4344ad7" "/opt/rustwide/cargo-home/bin/cargo" "+d0ab665d12770dbaae620b539ee4319b83445f45" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "43ff193b295e54c3457b43731ec7c2fc15c00ddf0a7a7abf8a3e2c82e4344ad7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "43ff193b295e54c3457b43731ec7c2fc15c00ddf0a7a7abf8a3e2c82e4344ad7" "/opt/rustwide/cargo-home/bin/cargo" "+d0ab665d12770dbaae620b539ee4319b83445f45" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.88
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling libc v0.2.161
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling hashbrown v0.15.0
[INFO] [stderr]    Compiling thiserror v1.0.64
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking indexmap v2.6.0
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]     Checking futures-lite v2.3.0
[INFO] [stderr]    Compiling syn v2.0.82
[INFO] [stderr]     Checking waker-fn v1.2.0
[INFO] [stderr]     Checking fastrand v1.9.0
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling uuid v1.11.0
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking fastrand v2.1.1
[INFO] [stderr]     Checking async-task v4.7.1
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking parking v2.2.1
[INFO] [stderr]     Checking async-channel v1.9.0
[INFO] [stderr]     Checking async-executor v1.13.1
[INFO] [stderr]     Checking futures-lite v1.13.0
[INFO] [stderr]     Checking bevy_ptr v0.10.1
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking regex-automata v0.4.8
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking bevy_tasks v0.10.1
[INFO] [stderr]     Checking tracing-log v0.1.4
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking raw-window-handle v0.5.2
[INFO] [stderr]     Checking crossbeam-channel v0.5.13
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking libloading v0.7.4
[INFO] [stderr]    Compiling ash v0.37.3+1.3.251
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]    Compiling khronos-egl v4.1.0
[INFO] [stderr]    Compiling anyhow v1.0.90
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking pp-rs v0.2.1
[INFO] [stderr]     Checking spirv v0.2.0+1.5.4
[INFO] [stderr]     Checking inotify v0.9.6
[INFO] [stderr]     Checking sysinfo v0.28.4
[INFO] [stderr]     Checking filetime v0.2.25
[INFO] [stderr]     Checking gpu-alloc-types v0.2.0
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling bytemuck_derive v1.8.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.64
[INFO] [stderr]     Checking miniz_oxide v0.8.0
[INFO] [stderr]     Checking notify v5.2.0
[INFO] [stderr]     Checking regex v1.11.0
[INFO] [stderr]     Checking gpu-alloc v0.5.4
[INFO] [stderr]    Compiling bevy_macro_utils v0.10.1
[INFO] [stderr]    Compiling encase_derive_impl v0.5.0
[INFO] [stderr]     Checking wgpu-types v0.15.2
[INFO] [stderr]     Checking bytemuck v1.19.0
[INFO] [stderr]     Checking renderdoc-sys v0.7.1
[INFO] [stderr]     Checking glow v0.12.3
[INFO] [stderr]     Checking profiling v1.0.16
[INFO] [stderr]     Checking flate2 v1.0.34
[INFO] [stderr]     Checking fdeflate v0.3.5
[INFO] [stderr]     Checking twox-hash v1.6.3
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking const_panic v0.2.10
[INFO] [stderr]     Checking ruzstd v0.2.4
[INFO] [stderr]     Checking png v0.17.14
[INFO] [stderr]     Checking ktx2 v0.3.0
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling xml-rs v0.8.22
[INFO] [stderr]     Checking radsort v0.1.1
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]    Compiling bevy_utils_proc_macros v0.10.1
[INFO] [stderr]    Compiling bevy_reflect_derive v0.10.1
[INFO] [stderr]    Compiling bevy_ecs_macros v0.10.1
[INFO] [stderr]    Compiling bevy_derive v0.10.1
[INFO] [stderr]    Compiling encase_derive v0.5.0
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]    Compiling bevy_encase_derive v0.10.1
[INFO] [stderr]    Compiling bevy_render_macros v0.10.1
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]     Checking ttf-parser v0.25.0
[INFO] [stderr]    Compiling serde_json v1.0.132
[INFO] [stderr]     Checking euclid v0.22.11
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]    Compiling winit v0.28.7
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]     Checking svg_fmt v0.4.3
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.8
[INFO] [stderr]     Checking accesskit v0.10.1
[INFO] [stderr]    Compiling inflections v1.1.1
[INFO] [stderr]     Checking tinyvec v1.8.0
[INFO] [stderr]    Compiling gltf-derive v1.4.1
[INFO] [stderr]     Checking guillotiere v0.6.2
[INFO] [stderr]     Checking inotify v0.10.2
[INFO] [stderr]     Checking ogg v0.8.0
[INFO] [stderr]    Compiling gilrs v0.10.10
[INFO] [stderr]     Checking rectangle-pack v0.4.2
[INFO] [stderr]     Checking xi-unicode v0.3.0
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]     Checking owned_ttf_parser v0.25.0
[INFO] [stderr]     Checking ab_glyph v0.2.29
[INFO] [stderr]     Checking taffy v0.3.19
[INFO] [stderr]     Checking glyph_brush_layout v0.2.4
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking glam v0.23.0
[INFO] [stderr]     Checking erased-serde v0.3.31
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]     Checking gpu-descriptor-types v0.1.2
[INFO] [stderr]     Checking bevy_utils v0.10.1
[INFO] [stderr]     Checking gpu-descriptor v0.2.4
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking naga v0.11.1
[INFO] [stderr]     Checking gilrs-core v0.5.15
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking bevy_math v0.10.1
[INFO] [stderr]     Checking hexasphere v8.1.0
[INFO] [stderr]     Checking bevy_mikktspace v0.10.1
[INFO] [stderr]     Checking bevy_reflect v0.10.1
[INFO] [stderr]     Checking encase v0.5.0
[INFO] [stderr]     Checking gltf-json v1.4.1
[INFO] [stderr]     Checking rodio v0.17.3
[INFO] [stderr]     Checking gltf v1.4.1
[INFO] [stderr]     Checking bevy_ecs v0.10.1
[INFO] [stderr]     Checking accesskit_winit v0.12.4
[INFO] [stderr]     Checking wgpu-hal v0.15.4
[INFO] [stderr]     Checking wgpu-core v0.15.1
[INFO] [stderr]     Checking bevy_app v0.10.1
[INFO] [stderr]     Checking bevy_core v0.10.1
[INFO] [stderr]     Checking bevy_log v0.10.1
[INFO] [stderr]     Checking bevy_time v0.10.1
[INFO] [stderr]     Checking bevy_input v0.10.1
[INFO] [stderr]     Checking bevy_a11y v0.10.1
[INFO] [stderr]     Checking bevy_hierarchy v0.10.1
[INFO] [stderr]     Checking bevy_diagnostic v0.10.1
[INFO] [stderr]     Checking bevy_transform v0.10.1
[INFO] [stderr]     Checking bevy_asset v0.10.1
[INFO] [stderr]     Checking bevy_window v0.10.1
[INFO] [stderr]     Checking bevy_gilrs v0.10.1
[INFO] [stderr]     Checking bevy_animation v0.10.1
[INFO] [stderr]     Checking bevy_audio v0.10.1
[INFO] [stderr]     Checking wgpu v0.15.1
[INFO] [stderr]     Checking bevy_winit v0.10.1
[INFO] [stderr]     Checking bevy_render v0.10.1
[INFO] [stderr]     Checking bevy_core_pipeline v0.10.1
[INFO] [stderr]     Checking bevy_scene v0.10.1
[INFO] [stderr]     Checking bevy_sprite v0.10.1
[INFO] [stderr]     Checking bevy_pbr v0.10.1
[INFO] [stderr]     Checking bevy_text v0.10.1
[INFO] [stderr]     Checking bevy_ui v0.10.1
[INFO] [stderr]     Checking bevy_gltf v0.10.1
[INFO] [stderr]     Checking bevy_internal v0.10.1
[INFO] [stderr]     Checking bevy v0.10.1
[INFO] [stderr]     Checking rust_distance_joint_simulator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::cuboid::Cuboid`
[INFO] [stdout]  --> src/distance_joint.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::cuboid::Cuboid;
[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: `crate::cuboid::Cuboid`
[INFO] [stdout]  --> src/distance_joint.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::cuboid::Cuboid;
[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: `CuboidBundle`
[INFO] [stdout]  --> src/rendering.rs:3:29
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::cuboid::{Cuboid, CuboidBundle};
[INFO] [stdout]   |                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `maintain_rope_constraints`
[INFO] [stdout]  --> src/rendering.rs:6:63
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::rope_constraint::{RopeConstraint, RopeConstraints, maintain_rope_constraints, add_constraint};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CuboidBundle`
[INFO] [stdout]  --> src/rendering.rs:3:29
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::cuboid::{Cuboid, CuboidBundle};
[INFO] [stdout]   |                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/simulation.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |         else if (physics.is_fixed) {
[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] 21 -         else if (physics.is_fixed) {
[INFO] [stdout] 21 +         else if physics.is_fixed {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `maintain_rope_constraints`
[INFO] [stdout]  --> src/rendering.rs:6:63
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::rope_constraint::{RopeConstraint, RopeConstraints, maintain_rope_constraints, add_constraint};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cuboid::Cuboid`
[INFO] [stdout]  --> src/rope_constraint.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::cuboid::Cuboid;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/simulation.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |         else if (physics.is_fixed) {
[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] 21 -         else if (physics.is_fixed) {
[INFO] [stdout] 21 +         else if physics.is_fixed {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cuboid::Cuboid`
[INFO] [stdout]  --> src/rope_constraint.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::cuboid::Cuboid;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CuboidBundle` and `Cuboid`
[INFO] [stdout]   --> src/main.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::cuboid::{Cuboid, CuboidBundle};
[INFO] [stdout]    |                     ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `maintain_distance_joints`
[INFO] [stdout]   --> src/main.rs:17:44
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::distance_joint::{DistanceJoint, maintain_distance_joints};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CuboidBundle` and `Cuboid`
[INFO] [stdout]   --> src/main.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::cuboid::{Cuboid, CuboidBundle};
[INFO] [stdout]    |                     ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `maintain_distance_joints`
[INFO] [stdout]   --> src/main.rs:17:44
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::distance_joint::{DistanceJoint, maintain_distance_joints};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsBody`
[INFO] [stdout]   --> src/main.rs:18:43
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::physics::{physics_step_system, PhysicsBody};
[INFO] [stdout]    |                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `update_rendering`
[INFO] [stdout]   --> src/main.rs:20:53
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::rendering::{setup_rendering_environment, update_rendering};
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RopeConstraint`
[INFO] [stdout]   --> src/main.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::rope_constraint::{RopeConstraint, RopeConstraints, maintain_rope_constraints};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsBody`
[INFO] [stdout]   --> src/main.rs:18:43
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::physics::{physics_step_system, PhysicsBody};
[INFO] [stdout]    |                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `update_rendering`
[INFO] [stdout]   --> src/main.rs:20:53
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::rendering::{setup_rendering_environment, update_rendering};
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RopeConstraint`
[INFO] [stdout]   --> src/main.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::rope_constraint::{RopeConstraint, RopeConstraints, maintain_rope_constraints};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/main.rs:34:44
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 resolution: (800.0, 600.0).into(),
[INFO] [stdout]    |                                            ^^^^ the trait `From<f64>` is not implemented for `f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: `f32` implements trait `From<T>`:
[INFO] [stdout]              From<bool>
[INFO] [stdout]              From<f16>
[INFO] [stdout]              From<i16>
[INFO] [stdout]              From<i8>
[INFO] [stdout]              From<u16>
[INFO] [stdout]              From<u8>
[INFO] [stdout]    = note: required for `f64` to implement `Into<f32>`
[INFO] [stdout]    = note: required for `WindowResolution` to implement `From<(f64, f64)>`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `(f64, f64)` to implement `Into<WindowResolution>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/main.rs:34:44
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 resolution: (800.0, 600.0).into(),
[INFO] [stdout]    |                                            ^^^^ the trait `From<f64>` is not implemented for `f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: `f32` implements trait `From<T>`:
[INFO] [stdout]              From<bool>
[INFO] [stdout]              From<f16>
[INFO] [stdout]              From<i16>
[INFO] [stdout]              From<i8>
[INFO] [stdout]              From<u16>
[INFO] [stdout]              From<u8>
[INFO] [stdout]    = note: required for `f64` to implement `Into<f32>`
[INFO] [stdout]    = note: required for `WindowResolution` to implement `From<(f64, f64)>`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `(f64, f64)` to implement `Into<WindowResolution>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/distance_joint.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     mut query: Query<(Entity, &DistanceJoint, &Transform, &PhysicsBody)>,
[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/distance_joint.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     mut query: Query<(Entity, &DistanceJoint, &Transform, &PhysicsBody)>,
[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/distance_joint.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |     for (entity, mut joint, transform, mut physics) in query.iter() {
[INFO] [stdout]    |                  ----^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/distance_joint.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |     for (entity, mut joint, transform, mut physics) in query.iter() {
[INFO] [stdout]    |                  ----^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/distance_joint.rs:36:40
[INFO] [stdout]    |
[INFO] [stdout] 36 |     for (entity, mut joint, transform, mut physics) in query.iter() {
[INFO] [stdout]    |                                        ----^^^^^^^
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `physics_query`
[INFO] [stdout]   --> src/distance_joint.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     physics_query: Query<&PhysicsBody>
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_physics_query`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity`
[INFO] [stdout]   --> src/distance_joint.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 |     for (entity, mut joint, transform, mut physics) in query.iter() {
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transform`
[INFO] [stdout]   --> src/distance_joint.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |     for (entity, mut joint, transform, mut physics) in query.iter() {
[INFO] [stdout]    |                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/distance_joint.rs:36:40
[INFO] [stdout]    |
[INFO] [stdout] 36 |     for (entity, mut joint, transform, mut physics) in query.iter() {
[INFO] [stdout]    |                                        ----^^^^^^^
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `physics_query`
[INFO] [stdout]   --> src/distance_joint.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     physics_query: Query<&PhysicsBody>
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_physics_query`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity`
[INFO] [stdout]   --> src/distance_joint.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 |     for (entity, mut joint, transform, mut physics) in query.iter() {
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/physics.rs:87:18
[INFO] [stdout]    |
[INFO] [stdout] 87 |     for (entity, mut transform, mut physics) in query.iter_mut() {
[INFO] [stdout]    |                  ----^^^^^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transform`
[INFO] [stdout]   --> src/distance_joint.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |     for (entity, mut joint, transform, mut physics) in query.iter() {
[INFO] [stdout]    |                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rendering.rs:122:10
[INFO] [stdout]     |
[INFO] [stdout] 122 |     for (mut transform, physics, cuboid, mut material_handle) in query.iter_mut() {
[INFO] [stdout]     |          ----^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rendering.rs:122:42
[INFO] [stdout]     |
[INFO] [stdout] 122 |     for (mut transform, physics, cuboid, mut material_handle) in query.iter_mut() {
[INFO] [stdout]     |                                          ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transform`
[INFO] [stdout]    --> src/rendering.rs:122:10
[INFO] [stdout]     |
[INFO] [stdout] 122 |     for (mut transform, physics, cuboid, mut material_handle) in query.iter_mut() {
[INFO] [stdout]     |          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `physics`
[INFO] [stdout]    --> src/rendering.rs:122:25
[INFO] [stdout]     |
[INFO] [stdout] 122 |     for (mut transform, physics, cuboid, mut material_handle) in query.iter_mut() {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_physics`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cuboid`
[INFO] [stdout]    --> src/rendering.rs:122:34
[INFO] [stdout]     |
[INFO] [stdout] 122 |     for (mut transform, physics, cuboid, mut material_handle) in query.iter_mut() {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cuboid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `material`
[INFO] [stdout]    --> src/rendering.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let material = materials.get_mut(&material_handle).unwrap();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mass`
[INFO] [stdout]   --> src/simulation.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mass = physics.mass;  // 先复制质量到局部变量
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_mass`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/rope_constraint.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     mut constraints: ResMut<RopeConstraints>,
[INFO] [stdout]    |     ----^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/physics.rs:87:18
[INFO] [stdout]    |
[INFO] [stdout] 87 |     for (entity, mut transform, mut physics) in query.iter_mut() {
[INFO] [stdout]    |                  ----^^^^^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rendering.rs:122:10
[INFO] [stdout]     |
[INFO] [stdout] 122 |     for (mut transform, physics, cuboid, mut material_handle) in query.iter_mut() {
[INFO] [stdout]     |          ----^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rendering.rs:122:42
[INFO] [stdout]     |
[INFO] [stdout] 122 |     for (mut transform, physics, cuboid, mut material_handle) in query.iter_mut() {
[INFO] [stdout]     |                                          ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transform`
[INFO] [stdout]    --> src/rendering.rs:122:10
[INFO] [stdout]     |
[INFO] [stdout] 122 |     for (mut transform, physics, cuboid, mut material_handle) in query.iter_mut() {
[INFO] [stdout]     |          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `physics`
[INFO] [stdout]    --> src/rendering.rs:122:25
[INFO] [stdout]     |
[INFO] [stdout] 122 |     for (mut transform, physics, cuboid, mut material_handle) in query.iter_mut() {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_physics`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cuboid`
[INFO] [stdout]    --> src/rendering.rs:122:34
[INFO] [stdout]     |
[INFO] [stdout] 122 |     for (mut transform, physics, cuboid, mut material_handle) in query.iter_mut() {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cuboid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `material`
[INFO] [stdout]    --> src/rendering.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let material = materials.get_mut(&material_handle).unwrap();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mass`
[INFO] [stdout]   --> src/simulation.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mass = physics.mass;  // 先复制质量到局部变量
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_mass`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/rope_constraint.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     mut constraints: ResMut<RopeConstraints>,
[INFO] [stdout]    |     ----^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust_distance_joint_simulator` (bin "rust_distance_joint_simulator" test) due to 1 previous error; 25 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `rust_distance_joint_simulator` (bin "rust_distance_joint_simulator") due to 1 previous error; 25 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "43ff193b295e54c3457b43731ec7c2fc15c00ddf0a7a7abf8a3e2c82e4344ad7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "43ff193b295e54c3457b43731ec7c2fc15c00ddf0a7a7abf8a3e2c82e4344ad7", kill_on_drop: false }`
[INFO] [stdout] 43ff193b295e54c3457b43731ec7c2fc15c00ddf0a7a7abf8a3e2c82e4344ad7
