[INFO] cloning repository https://github.com/Lioquacht-Religion/wgpu-and-physics-test
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Lioquacht-Religion/wgpu-and-physics-test" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLioquacht-Religion%2Fwgpu-and-physics-test", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLioquacht-Religion%2Fwgpu-and-physics-test'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b23dd3f5f926814d32113c99813c4deee790e25d
[INFO] checking Lioquacht-Religion/wgpu-and-physics-test/b23dd3f5f926814d32113c99813c4deee790e25d against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLioquacht-Religion%2Fwgpu-and-physics-test" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Lioquacht-Religion/wgpu-and-physics-test
[INFO] finished tweaking git repo https://github.com/Lioquacht-Religion/wgpu-and-physics-test
[INFO] tweaked toml for git repo https://github.com/Lioquacht-Religion/wgpu-and-physics-test written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Lioquacht-Religion/wgpu-and-physics-test on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Lioquacht-Religion/wgpu-and-physics-test 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tobj v3.2.5
[INFO] [stderr]   Downloaded gpu-allocator v0.23.0
[INFO] [stderr]   Downloaded wgpu v0.18.0
[INFO] [stderr]   Downloaded wgpu-types v0.18.0
[INFO] [stderr]   Downloaded serde_json v1.0.109
[INFO] [stderr]   Downloaded glow v0.13.0
[INFO] [stderr]   Downloaded wgpu-core v0.18.1
[INFO] [stderr]   Downloaded wgpu-hal v0.18.1
[INFO] [stderr]   Downloaded naga v0.14.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c40cc992253bf910c7dbd199354c1cdbc85d5504a838f0c1d57a30e52b3e5128
[INFO] running `Command { std: "docker" "start" "-a" "c40cc992253bf910c7dbd199354c1cdbc85d5504a838f0c1d57a30e52b3e5128", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c40cc992253bf910c7dbd199354c1cdbc85d5504a838f0c1d57a30e52b3e5128", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c40cc992253bf910c7dbd199354c1cdbc85d5504a838f0c1d57a30e52b3e5128", kill_on_drop: false }`
[INFO] [stdout] c40cc992253bf910c7dbd199354c1cdbc85d5504a838f0c1d57a30e52b3e5128
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1bbbb2eb90a7153e2904d03faa088e4ca69f6c133f5425665153926e01d063fd
[INFO] running `Command { std: "docker" "start" "-a" "1bbbb2eb90a7153e2904d03faa088e4ca69f6c133f5425665153926e01d063fd", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.150
[INFO] [stderr]     Checking libloading v0.8.1
[INFO] [stderr]    Compiling xml-rs v0.8.19
[INFO] [stderr]     Checking smallvec v1.11.2
[INFO] [stderr]     Checking bitflags v2.4.1
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling slotmap v1.0.6
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]     Checking termcolor v1.4.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking fdeflate v0.3.1
[INFO] [stderr]    Compiling anyhow v1.0.79
[INFO] [stderr]     Checking unicode-width v0.1.11
[INFO] [stderr]    Compiling smithay-client-toolkit v0.16.1
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling rustix v0.38.28
[INFO] [stderr]     Checking ttf-parser v0.20.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.18.0
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking profiling v1.0.11
[INFO] [stderr]     Checking glow v0.13.0
[INFO] [stderr]     Checking renderdoc-sys v1.0.0
[INFO] [stderr]     Checking linux-raw-sys v0.4.11
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking regex-automata v0.4.3
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking futures-sink v0.3.29
[INFO] [stderr]     Checking jpeg-decoder v0.3.0
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]    Compiling wgpu_tutorial v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]     Checking spirv v0.2.0+1.5.4
[INFO] [stderr]     Checking num-integer v0.1.45
[INFO] [stderr]     Checking approx v0.4.0
[INFO] [stderr]     Checking png v0.17.10
[INFO] [stderr]     Checking cgmath v0.18.0
[INFO] [stderr]     Checking is-terminal v0.4.9
[INFO] [stderr]     Checking num-rational v0.4.1
[INFO] [stderr]     Checking xcursor v0.3.4
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling winit v0.28.7
[INFO] [stderr]     Checking getrandom v0.2.11
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking parking_lot_core v0.9.9
[INFO] [stderr]     Checking nix v0.25.1
[INFO] [stderr]     Checking khronos-egl v6.0.0
[INFO] [stderr]     Checking memmap2 v0.5.10
[INFO] [stderr]     Checking mio v0.8.9
[INFO] [stderr]     Checking ahash v0.8.6
[INFO] [stderr]     Checking nanorand v0.7.0
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]     Checking hashbrown v0.14.2
[INFO] [stderr]     Checking tobj v3.2.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.50
[INFO] [stderr]    Compiling bytemuck_derive v1.4.1
[INFO] [stderr]     Checking owned_ttf_parser v0.20.0
[INFO] [stderr]     Checking ab_glyph v0.2.23
[INFO] [stderr]     Checking indexmap v2.1.0
[INFO] [stderr]     Checking gpu-descriptor v0.2.4
[INFO] [stderr]     Checking bytemuck v1.14.0
[INFO] [stderr]     Checking thiserror v1.0.50
[INFO] [stderr]     Checking regex v1.10.2
[INFO] [stderr]     Checking tiny-skia-path v0.8.4
[INFO] [stderr]     Checking image v0.24.7
[INFO] [stderr]     Checking naga v0.14.2
[INFO] [stderr]     Checking calloop v0.10.6
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]     Checking env_logger v0.10.1
[INFO] [stderr]     Checking tiny-skia v0.8.4
[INFO] [stderr]     Checking wayland-cursor v0.29.5
[INFO] [stderr]     Checking wgpu-hal v0.18.1
[INFO] [stderr]     Checking wgpu-core v0.18.1
[INFO] [stderr]     Checking wgpu v0.18.0
[INFO] [stderr]     Checking sctk-adwaita v0.5.4
[INFO] [stdout] warning: unused import: `core::device`
[INFO] [stdout]  --> src/renderer_2d.rs:6:46
[INFO] [stdout]   |
[INFO] [stdout] 6 | use wgpu::{util::{DeviceExt, RenderEncoder}, core::device};
[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 imports: `CollisionRelation`, `Convex2D`, `NodeObject`, `World`, `col_relations::*`, `self`, and `self`
[INFO] [stdout]   --> src/renderer_2d.rs:9:60
[INFO] [stdout]    |
[INFO] [stdout]  9 | ...ite::{self, Sprite},
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 10 | ..., draw_circle::{self, Circle}, draw_rect::Rect, draw_convex::Convex},
[INFO] [stdout] 11 | ...e, CollisionRelation, NodeObject}, chain_body, self, physics_world::{self, World}, convex_body::{Convex2D, self}, col_relations::*, c...
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^               ^^^^                        ^^^^^                 ^^^^^^^^         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::instance`
[INFO] [stdout]  --> src/primitives_2d/draw_circle.rs:3:46
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wgpu::{VertexAttribute, util::DeviceExt, core::instance};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deg` and `Quaternion`
[INFO] [stdout]  --> src/primitives_2d/draw_circle.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use cgmath::{prelude::*, Deg, Rad, Quaternion};
[INFO] [stdout]   |                          ^^^       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wgpu::core::device`
[INFO] [stdout]  --> src/asset_manager.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wgpu::core::device;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InnerSpace`
[INFO] [stdout]  --> src/physics_engine/physics_world.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | use cgmath::{InnerSpace, num_traits::clamp};
[INFO] [stdout]   |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `primitives_2d::utils::Radians`
[INFO] [stdout]  --> src/physics_engine/physics_world.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{gen_vec::GenVec, primitives_2d::utils::Radians};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Neg`
[INFO] [stdout]  --> src/physics_engine/col_relations.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::Neg;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Intersects` and `self`
[INFO] [stdout]   --> src/physics_engine/col_relations.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::{line_body::{Intersects, self},
[INFO] [stdout]    |                         ^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::device`
[INFO] [stdout]  --> src/renderer_2d.rs:6:46
[INFO] [stdout]   |
[INFO] [stdout] 6 | use wgpu::{util::{DeviceExt, RenderEncoder}, core::device};
[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 imports: `CollisionRelation`, `Convex2D`, `NodeObject`, `World`, `col_relations::*`, `self`, and `self`
[INFO] [stdout]   --> src/renderer_2d.rs:9:60
[INFO] [stdout]    |
[INFO] [stdout]  9 | ...ite::{self, Sprite},
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 10 | ..., draw_circle::{self, Circle}, draw_rect::Rect, draw_convex::Convex},
[INFO] [stdout] 11 | ...e, CollisionRelation, NodeObject}, chain_body, self, physics_world::{self, World}, convex_body::{Convex2D, self}, col_relations::*, c...
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^               ^^^^                        ^^^^^                 ^^^^^^^^         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::instance`
[INFO] [stdout]  --> src/primitives_2d/draw_circle.rs:3:46
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wgpu::{VertexAttribute, util::DeviceExt, core::instance};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deg` and `Quaternion`
[INFO] [stdout]  --> src/primitives_2d/draw_circle.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use cgmath::{prelude::*, Deg, Rad, Quaternion};
[INFO] [stdout]   |                          ^^^       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wgpu::core::device`
[INFO] [stdout]  --> src/asset_manager.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wgpu::core::device;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InnerSpace`
[INFO] [stdout]  --> src/physics_engine/physics_world.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | use cgmath::{InnerSpace, num_traits::clamp};
[INFO] [stdout]   |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `primitives_2d::utils::Radians`
[INFO] [stdout]  --> src/physics_engine/physics_world.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{gen_vec::GenVec, primitives_2d::utils::Radians};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Neg`
[INFO] [stdout]  --> src/physics_engine/col_relations.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::Neg;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Intersects` and `self`
[INFO] [stdout]   --> src/physics_engine/col_relations.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::{line_body::{Intersects, self},
[INFO] [stdout]    |                         ^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/renderer_2d.rs:313:13
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let mut convex2d = convex_body::Convex2D::new(0.3, 0.3,
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/renderer_2d.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let mut convex2d2 = convex_body::Convex2D::new(-0.5, -0.5,
[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/renderer_2d.rs:313:13
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let mut convex2d = convex_body::Convex2D::new(0.3, 0.3,
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/renderer_2d.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let mut convex2d2 = convex_body::Convex2D::new(-0.5, -0.5,
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/renderer_2d.rs:382:61
[INFO] [stdout]     |
[INFO] [stdout] 382 |             WindowEvent::CursorMoved { device_id, position, modifiers }
[INFO] [stdout]     |                                                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::MouseInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/renderer_2d.rs:389:65
[INFO] [stdout]     |
[INFO] [stdout] 389 |             WindowEvent::MouseInput { device_id, state, button, modifiers }
[INFO] [stdout]     |                                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/renderer_2d.rs:382:61
[INFO] [stdout]     |
[INFO] [stdout] 382 |             WindowEvent::CursorMoved { device_id, position, modifiers }
[INFO] [stdout]     |                                                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::MouseInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/renderer_2d.rs:389:65
[INFO] [stdout]     |
[INFO] [stdout] 389 |             WindowEvent::MouseInput { device_id, state, button, modifiers }
[INFO] [stdout]     |                                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderEncoder`
[INFO] [stdout]  --> src/renderer_2d.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | use wgpu::{util::{DeviceExt, RenderEncoder}, core::device};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prelude`
[INFO] [stdout]  --> src/primitives_2d/draw_circle.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use cgmath::{prelude::*, Deg, Rad, Quaternion};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `airthrow_texture`
[INFO] [stdout]    --> src/renderer_2d.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let airthrow_texture = assets.add_texture(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_airthrow_texture`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tree_texture`
[INFO] [stdout]    --> src/renderer_2d.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let tree_texture = assets.add_texture(
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tree_texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/renderer_2d.rs:382:40
[INFO] [stdout]     |
[INFO] [stdout] 382 |             WindowEvent::CursorMoved { device_id, position, modifiers }
[INFO] [stdout]     |                                        ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/renderer_2d.rs:382:61
[INFO] [stdout]     |
[INFO] [stdout] 382 |             WindowEvent::CursorMoved { device_id, position, modifiers }
[INFO] [stdout]     |                                                             ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/renderer_2d.rs:389:39
[INFO] [stdout]     |
[INFO] [stdout] 389 |             WindowEvent::MouseInput { device_id, state, button, modifiers }
[INFO] [stdout]     |                                       ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/renderer_2d.rs:389:65
[INFO] [stdout]     |
[INFO] [stdout] 389 |             WindowEvent::MouseInput { device_id, state, button, modifiers }
[INFO] [stdout]     |                                                                 ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/renderer_2d.rs:469:13
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let mut cl_p_circle = draw_circle::Circle::new(&self.device, 0., 0., 0.05, [0., 1., 0., 1.]);
[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/renderer_2d.rs:470:13
[INFO] [stdout]     |
[INFO] [stdout] 470 | ...   let mut mouse_circle = draw_circle::Circle::new(&self.device, self.line_past.p2[0], self.line_past.p2[1], 0.05, [0.9, 0.6, 0....
[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/renderer_2d.rs:471:13
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let mut mouse_circle_col = circle_body::Circle::new(0, self.line_past.p2[0], self.line_past.p2[1], 0.05, 0.5);
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sprite`
[INFO] [stdout]    --> src/renderer_2d.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let sprite = Sprite::create(
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mouse_circle_col`
[INFO] [stdout]    --> src/renderer_2d.rs:471:13
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let mut mouse_circle_col = circle_body::Circle::new(0, self.line_past.p2[0], self.line_past.p2[1], 0.05, 0.5);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mouse_circle_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderEncoder`
[INFO] [stdout]  --> src/renderer_2d.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | use wgpu::{util::{DeviceExt, RenderEncoder}, core::device};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prelude`
[INFO] [stdout]  --> src/primitives_2d/draw_circle.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use cgmath::{prelude::*, Deg, Rad, Quaternion};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `airthrow_texture`
[INFO] [stdout]    --> src/renderer_2d.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let airthrow_texture = assets.add_texture(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_airthrow_texture`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tree_texture`
[INFO] [stdout]    --> src/renderer_2d.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let tree_texture = assets.add_texture(
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tree_texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/renderer_2d.rs:382:40
[INFO] [stdout]     |
[INFO] [stdout] 382 |             WindowEvent::CursorMoved { device_id, position, modifiers }
[INFO] [stdout]     |                                        ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/renderer_2d.rs:382:61
[INFO] [stdout]     |
[INFO] [stdout] 382 |             WindowEvent::CursorMoved { device_id, position, modifiers }
[INFO] [stdout]     |                                                             ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/renderer_2d.rs:389:39
[INFO] [stdout]     |
[INFO] [stdout] 389 |             WindowEvent::MouseInput { device_id, state, button, modifiers }
[INFO] [stdout]     |                                       ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/renderer_2d.rs:389:65
[INFO] [stdout]     |
[INFO] [stdout] 389 |             WindowEvent::MouseInput { device_id, state, button, modifiers }
[INFO] [stdout]     |                                                                 ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/primitives_2d/draw_rect.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         x: f32, y: f32, w: f32, h: f32, color: [f32; 4]
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/primitives_2d/draw_rect.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |         x: f32, y: f32, w: f32, h: f32, color: [f32; 4]
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/renderer_2d.rs:469:13
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let mut cl_p_circle = draw_circle::Circle::new(&self.device, 0., 0., 0.05, [0., 1., 0., 1.]);
[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/renderer_2d.rs:470:13
[INFO] [stdout]     |
[INFO] [stdout] 470 | ...   let mut mouse_circle = draw_circle::Circle::new(&self.device, self.line_past.p2[0], self.line_past.p2[1], 0.05, [0.9, 0.6, 0....
[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/renderer_2d.rs:471:13
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let mut mouse_circle_col = circle_body::Circle::new(0, self.line_past.p2[0], self.line_past.p2[1], 0.05, 0.5);
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sprite`
[INFO] [stdout]    --> src/renderer_2d.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let sprite = Sprite::create(
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mouse_circle_col`
[INFO] [stdout]    --> src/renderer_2d.rs:471:13
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let mut mouse_circle_col = circle_body::Circle::new(0, self.line_past.p2[0], self.line_past.p2[1], 0.05, 0.5);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mouse_circle_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `intersection` is never read
[INFO] [stdout]    --> src/physics_engine/chain_body.rs:141:40
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 let mut intersection = Intersects::None;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/primitives_2d/draw_rect.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         x: f32, y: f32, w: f32, h: f32, color: [f32; 4]
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/primitives_2d/draw_rect.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |         x: f32, y: f32, w: f32, h: f32, color: [f32; 4]
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos1`
[INFO] [stdout]    --> src/physics_engine/physics_world.rs:304:23
[INFO] [stdout]     |
[INFO] [stdout] 304 | fn calc_vel_after_col(pos1: &Vec2, obj1: &PhyObjPointer, pos2: &Vec2, obj2: &PhyObjPointer) -> (Vec2, Vec2){
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_pos1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos2`
[INFO] [stdout]    --> src/physics_engine/physics_world.rs:304:58
[INFO] [stdout]     |
[INFO] [stdout] 304 | fn calc_vel_after_col(pos1: &Vec2, obj1: &PhyObjPointer, pos2: &Vec2, obj2: &PhyObjPointer) -> (Vec2, Vec2){
[INFO] [stdout]     |                                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_pos2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `intersection` is never read
[INFO] [stdout]    --> src/physics_engine/chain_body.rs:141:40
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 let mut intersection = Intersects::None;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/renderer_2d.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct Vertex {
[INFO] [stdout]    |        ^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/renderer_2d.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[repr(C)]
[INFO] [stdout]    | ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertex_buffer`, `index_buffer`, `num_indices`, `diffuse_bind_group`, and `diffuse_texture` are never read
[INFO] [stdout]   --> src/renderer_2d.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct State{
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 71 |     vertex_buffer: wgpu::Buffer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 72 |     index_buffer: wgpu::Buffer,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 73 |     num_indices: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 74 |     diffuse_bind_group : wgpu::BindGroup,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 75 |     diffuse_texture: texture::Texture,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw_new_line` is never used
[INFO] [stdout]    --> src/renderer_2d.rs:597:8
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl State{
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 597 |     fn draw_new_line<'a, 'b>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/model.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct ModelVertex {
[INFO] [stdout]    |            ^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/model.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[repr(C)]
[INFO] [stdout]    | ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `position`, `width`, `height`, and `texture_handle` are never read
[INFO] [stdout]   --> src/sprite.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Sprite{
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 10 |     position: cgmath::Vector3<f32>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 11 |     width: f32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 12 |     height: f32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 13 |     texture_handle: Arc<texture::Texture>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/sprite.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct SpriteVertex{
[INFO] [stdout]    |        ^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/sprite.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[repr(C)]
[INFO] [stdout]    | ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/primitives_2d/draw_line.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct LineVertex{
[INFO] [stdout]    |            ^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/primitives_2d/draw_line.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[repr(C)]
[INFO] [stdout]    | ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/primitives_2d/draw_circle.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct CircleVertex{
[INFO] [stdout]    |            ^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/primitives_2d/draw_circle.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[repr(C)]
[INFO] [stdout]    | ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/primitives_2d/draw_rect.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct RectVertex{
[INFO] [stdout]    |            ^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/primitives_2d/draw_rect.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[repr(C)]
[INFO] [stdout]    | ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/primitives_2d/utils.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Instance2DRaw {
[INFO] [stdout]    |            ^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/primitives_2d/utils.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[repr(C)]
[INFO] [stdout]    | ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_f32_arr` is never used
[INFO] [stdout]   --> src/physics_engine/chain_body.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Point {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn as_f32_arr(&self) -> [f32; 2]{
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `collision_check` and `get_lines_intersection_point` are never used
[INFO] [stdout]    --> src/physics_engine/chain_body.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout]  44 | impl Chain {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn collision_check(&mut self){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     fn get_lines_intersection_point(p1: [f32; 2], p2: [f32; 2], p3: [f32; 2], p4: [f32; 2], ) -> Intersects{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `width_bound` and `height_bound` are never read
[INFO] [stdout]   --> src/physics_engine/physics_world.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct World{
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     width_bound: (f32, f32),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 30 |     height_bound: (f32, f32),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `force`, `vel`, and `rot_mat` are never read
[INFO] [stdout]    --> src/physics_engine/physics_world.rs:356:5
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct Rect{
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] 355 |     pub pos: Vec2,
[INFO] [stdout] 356 |     force: Vec2,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 357 |     vel: Vec2,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     rot_mat: cgmath::Matrix2<f32>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Line` is never constructed
[INFO] [stdout]  --> src/physics_engine/line_body.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Line{}
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sat_col_check` is never used
[INFO] [stdout]    --> src/physics_engine/col_relations.rs:251:4
[INFO] [stdout]     |
[INFO] [stdout] 251 | fn sat_col_check(convex1 : &Convex2D, convex2 : &Convex2D) -> bool{
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `minkowski_difference` is never used
[INFO] [stdout]    --> src/physics_engine/col_relations.rs:322:4
[INFO] [stdout]     |
[INFO] [stdout] 322 | fn minkowski_difference(convex1: &Convex2D, convex2 : &Convex2D) -> Vec<(f32, f32)>{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `delta_time` should have an upper case name
[INFO] [stdout]    --> src/renderer_2d.rs:423:11
[INFO] [stdout]     |
[INFO] [stdout] 423 |     const delta_time : std::time::Duration = std::time::Duration::new(0, 1_000_000_000/60);
[INFO] [stdout]     |           ^^^^^^^^^^ help: convert the identifier to upper case: `DELTA_TIME`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/physics_engine/circle_body.rs:120:21
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn get_col_type(&self) -> CollisionType {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn get_col_type(&self) -> CollisionType<'_> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/physics_engine/convex_body.rs:169:21
[INFO] [stdout]     |
[INFO] [stdout] 169 |     fn get_col_type(&self) -> CollisionType {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 169 |     fn get_col_type(&self) -> CollisionType<'_> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/physics_engine/physic_obj_traits.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn get_col_type(&self) -> CollisionType{
[INFO] [stdout]    |                     ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn get_col_type(&self) -> CollisionType<'_>{
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos1`
[INFO] [stdout]    --> src/physics_engine/physics_world.rs:304:23
[INFO] [stdout]     |
[INFO] [stdout] 304 | fn calc_vel_after_col(pos1: &Vec2, obj1: &PhyObjPointer, pos2: &Vec2, obj2: &PhyObjPointer) -> (Vec2, Vec2){
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_pos1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos2`
[INFO] [stdout]    --> src/physics_engine/physics_world.rs:304:58
[INFO] [stdout]     |
[INFO] [stdout] 304 | fn calc_vel_after_col(pos1: &Vec2, obj1: &PhyObjPointer, pos2: &Vec2, obj2: &PhyObjPointer) -> (Vec2, Vec2){
[INFO] [stdout]     |                                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_pos2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/renderer_2d.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct Vertex {
[INFO] [stdout]    |        ^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/renderer_2d.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[repr(C)]
[INFO] [stdout]    | ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertex_buffer`, `index_buffer`, `num_indices`, `diffuse_bind_group`, and `diffuse_texture` are never read
[INFO] [stdout]   --> src/renderer_2d.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct State{
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 71 |     vertex_buffer: wgpu::Buffer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 72 |     index_buffer: wgpu::Buffer,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 73 |     num_indices: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 74 |     diffuse_bind_group : wgpu::BindGroup,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 75 |     diffuse_texture: texture::Texture,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw_new_line` is never used
[INFO] [stdout]    --> src/renderer_2d.rs:597:8
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl State{
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 597 |     fn draw_new_line<'a, 'b>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/model.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct ModelVertex {
[INFO] [stdout]    |            ^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/model.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[repr(C)]
[INFO] [stdout]    | ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `position`, `width`, `height`, and `texture_handle` are never read
[INFO] [stdout]   --> src/sprite.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Sprite{
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 10 |     position: cgmath::Vector3<f32>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 11 |     width: f32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 12 |     height: f32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 13 |     texture_handle: Arc<texture::Texture>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/sprite.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct SpriteVertex{
[INFO] [stdout]    |        ^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/sprite.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[repr(C)]
[INFO] [stdout]    | ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/primitives_2d/draw_line.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct LineVertex{
[INFO] [stdout]    |            ^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/primitives_2d/draw_line.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[repr(C)]
[INFO] [stdout]    | ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/primitives_2d/draw_circle.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct CircleVertex{
[INFO] [stdout]    |            ^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/primitives_2d/draw_circle.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[repr(C)]
[INFO] [stdout]    | ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/primitives_2d/draw_rect.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct RectVertex{
[INFO] [stdout]    |            ^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/primitives_2d/draw_rect.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[repr(C)]
[INFO] [stdout]    | ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/primitives_2d/utils.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Instance2DRaw {
[INFO] [stdout]    |            ^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/primitives_2d/utils.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[repr(C)]
[INFO] [stdout]    | ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_f32_arr` is never used
[INFO] [stdout]   --> src/physics_engine/chain_body.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Point {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn as_f32_arr(&self) -> [f32; 2]{
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `collision_check` and `get_lines_intersection_point` are never used
[INFO] [stdout]    --> src/physics_engine/chain_body.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout]  44 | impl Chain {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn collision_check(&mut self){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     fn get_lines_intersection_point(p1: [f32; 2], p2: [f32; 2], p3: [f32; 2], p4: [f32; 2], ) -> Intersects{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `width_bound` and `height_bound` are never read
[INFO] [stdout]   --> src/physics_engine/physics_world.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct World{
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     width_bound: (f32, f32),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 30 |     height_bound: (f32, f32),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `force`, `vel`, and `rot_mat` are never read
[INFO] [stdout]    --> src/physics_engine/physics_world.rs:356:5
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct Rect{
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] 355 |     pub pos: Vec2,
[INFO] [stdout] 356 |     force: Vec2,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 357 |     vel: Vec2,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     rot_mat: cgmath::Matrix2<f32>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Line` is never constructed
[INFO] [stdout]  --> src/physics_engine/line_body.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Line{}
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sat_col_check` is never used
[INFO] [stdout]    --> src/physics_engine/col_relations.rs:251:4
[INFO] [stdout]     |
[INFO] [stdout] 251 | fn sat_col_check(convex1 : &Convex2D, convex2 : &Convex2D) -> bool{
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `minkowski_difference` is never used
[INFO] [stdout]    --> src/physics_engine/col_relations.rs:322:4
[INFO] [stdout]     |
[INFO] [stdout] 322 | fn minkowski_difference(convex1: &Convex2D, convex2 : &Convex2D) -> Vec<(f32, f32)>{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `delta_time` should have an upper case name
[INFO] [stdout]    --> src/renderer_2d.rs:423:11
[INFO] [stdout]     |
[INFO] [stdout] 423 |     const delta_time : std::time::Duration = std::time::Duration::new(0, 1_000_000_000/60);
[INFO] [stdout]     |           ^^^^^^^^^^ help: convert the identifier to upper case: `DELTA_TIME`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/physics_engine/circle_body.rs:120:21
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn get_col_type(&self) -> CollisionType {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn get_col_type(&self) -> CollisionType<'_> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/physics_engine/convex_body.rs:169:21
[INFO] [stdout]     |
[INFO] [stdout] 169 |     fn get_col_type(&self) -> CollisionType {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 169 |     fn get_col_type(&self) -> CollisionType<'_> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/physics_engine/physic_obj_traits.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn get_col_type(&self) -> CollisionType{
[INFO] [stdout]    |                     ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn get_col_type(&self) -> CollisionType<'_>{
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s
[INFO] running `Command { std: "docker" "inspect" "1bbbb2eb90a7153e2904d03faa088e4ca69f6c133f5425665153926e01d063fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1bbbb2eb90a7153e2904d03faa088e4ca69f6c133f5425665153926e01d063fd", kill_on_drop: false }`
[INFO] [stdout] 1bbbb2eb90a7153e2904d03faa088e4ca69f6c133f5425665153926e01d063fd
