[INFO] cloning repository https://github.com/krishnarg04/graphics
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/krishnarg04/graphics" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkrishnarg04%2Fgraphics", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkrishnarg04%2Fgraphics'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2ff40ce9bdedcdd98602ed8c6c10577ece4957f3
[INFO] checking krishnarg04/graphics against f4dd856795debe636f2ba39a900f162f5abeb7e8 for pr-160904
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkrishnarg04%2Fgraphics" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/krishnarg04/graphics
[INFO] finished tweaking git repo https://github.com/krishnarg04/graphics
[INFO] tweaked toml for git repo https://github.com/krishnarg04/graphics written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/krishnarg04/graphics on toolchain f4dd856795debe636f2ba39a900f162f5abeb7e8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f4dd856795debe636f2ba39a900f162f5abeb7e8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/krishnarg04/graphics 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" "+f4dd856795debe636f2ba39a900f162f5abeb7e8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6f9ba2c52cc2fad71697e97eb2accbab7302f4a57411e5f535fd8f6da1f61a44
[INFO] running `Command { std: "docker" "start" "6f9ba2c52cc2fad71697e97eb2accbab7302f4a57411e5f535fd8f6da1f61a44", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6f9ba2c52cc2fad71697e97eb2accbab7302f4a57411e5f535fd8f6da1f61a44", 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" "6f9ba2c52cc2fad71697e97eb2accbab7302f4a57411e5f535fd8f6da1f61a44" "/opt/rustwide/cargo-home/bin/cargo" "+f4dd856795debe636f2ba39a900f162f5abeb7e8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6f9ba2c52cc2fad71697e97eb2accbab7302f4a57411e5f535fd8f6da1f61a44", 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" "6f9ba2c52cc2fad71697e97eb2accbab7302f4a57411e5f535fd8f6da1f61a44" "/opt/rustwide/cargo-home/bin/cargo" "+f4dd856795debe636f2ba39a900f162f5abeb7e8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]     Checking as-slice v0.2.1
[INFO] [stderr]    Compiling built v0.8.1
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling ash v0.37.3+1.3.251
[INFO] [stderr]    Compiling av-scenechange v0.14.1
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking no_std_io2 v0.9.4
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]     Checking aligned v0.4.3
[INFO] [stderr]     Checking crc32fast v1.5.0
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]    Compiling wgpu-hal v0.19.5
[INFO] [stderr]     Checking libloading v0.7.4
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking gpu-descriptor-types v0.1.2
[INFO] [stderr]     Checking libloading v0.8.9
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling pastey v0.1.1
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking unicode-xid v0.2.6
[INFO] [stderr]     Checking y4m v0.8.0
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking bitstream-io v4.10.0
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling rav1e v0.8.1
[INFO] [stderr]     Checking wgpu-types v0.19.2
[INFO] [stderr]    Compiling wgpu-core v0.19.4
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]     Checking zune-core v0.5.1
[INFO] [stderr]     Checking glow v0.13.1
[INFO] [stderr]     Checking weezl v0.1.12
[INFO] [stderr]     Checking imgref v1.12.1
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]     Checking zune-jpeg v0.5.15
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking avif-serialize v0.8.9
[INFO] [stderr]    Compiling wgpu v0.19.4
[INFO] [stderr]     Checking pxfm v0.1.29
[INFO] [stderr]     Checking float_next_after v1.0.0
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking fax v0.2.7
[INFO] [stderr]     Checking rgb v0.8.53
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking lebe v0.5.3
[INFO] [stderr]     Checking bit_field v0.10.3
[INFO] [stderr]     Checking gif v0.14.2
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking pollster v0.3.0
[INFO] [stderr]     Checking image-webp v0.2.4
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking euclid v0.22.14
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking lyon_geom v1.0.19
[INFO] [stderr]     Checking lyon_path v1.0.19
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking lyon_algorithms v1.0.20
[INFO] [stderr]     Checking lyon_tessellation v1.0.20
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking lyon v1.0.19
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]    Compiling profiling-procmacros v1.0.18
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]     Checking profiling v1.0.18
[INFO] [stderr]     Checking equator v0.4.2
[INFO] [stderr]     Checking aligned-vec v0.6.4
[INFO] [stderr]     Checking v_frame v0.3.9
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking naga v0.19.2
[INFO] [stderr]     Checking av1-grain v0.2.5
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking ravif v0.13.0
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking exr v1.74.0
[INFO] [stderr]     Checking tiff v0.11.3
[INFO] [stderr]     Checking gpu-descriptor v0.2.4
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking graphics v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `shape2d::*`
[INFO] [stdout]  --> src/Shapes/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use shape2d::*;
[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: `basic_ops::*`
[INFO] [stdout]  --> src/Ops/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use basic_ops::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shape_details::*`
[INFO] [stdout]  --> src/Engine/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use shape_details::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `buffer_layout` is never used
[INFO] [stdout]   --> src/Shapes/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Vertex {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn buffer_layout() -> wgpu::VertexBufferLayout<'static> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Shapes` is never used
[INFO] [stdout]   --> src/Shapes/mod.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub trait Shapes{}
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]  --> src/Shapes/shape2d.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Rectangle {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Square` is never constructed
[INFO] [stdout]   --> src/Shapes/shape2d.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Square {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Circle` is never constructed
[INFO] [stdout]   --> src/Shapes/shape2d.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Circle {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `vertices`, and `indices` are never used
[INFO] [stdout]   --> src/Shapes/shape2d.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Rectangle {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 26 |     pub fn new(height: f32, width: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn vertices(&self, color: [f32; 3]) -> [Vertex; 4] {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn indices() -> [u16; 6] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shape2d::*`
[INFO] [stdout]  --> src/Shapes/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use shape2d::*;
[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: `basic_ops::*`
[INFO] [stdout]  --> src/Ops/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use basic_ops::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shape_details::*`
[INFO] [stdout]  --> src/Engine/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use shape_details::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `vertices`, and `indices` are never used
[INFO] [stdout]   --> src/Shapes/shape2d.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Square {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 48 |     pub fn new(side_length: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn vertices(&self, color: [f32; 3]) -> [Vertex; 4] {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn indices(&self) -> [u16; 6] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `vertices`, and `indices` are never used
[INFO] [stdout]   --> src/Shapes/shape2d.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl Circle {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 62 |     pub fn new(radius: f32, center: Vertex) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn vertices(&self, color: [f32; 3]) -> Vec<Vertex> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn indices(&self) -> Vec<u16> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vec3` is never constructed
[INFO] [stdout]  --> src/Ops/mod.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Vec3 {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `zero` are never used
[INFO] [stdout]   --> src/Ops/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Vec3 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 12 |     pub fn new(x: f32, y: f32, z: f32) -> Self { Self { x, y, z } }
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 13 |     pub fn zero() -> Self { Self::new(0.0, 0.0, 0.0) }
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `identity`, `scale`, `translate`, and `rotate` are never used
[INFO] [stdout]   --> src/Ops/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Mat4 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 31 |     pub fn identity() -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn scale(x: f32, y: f32, z: f32) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn translate(x: f32, y: f32, z: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn rotate(x: f32, y: f32, z: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Keyframe` is never constructed
[INFO] [stdout]   --> src/Ops/mod.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct Keyframe {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp` is never used
[INFO] [stdout]   --> src/Ops/mod.rs:96:4
[INFO] [stdout]    |
[INFO] [stdout] 96 | fn lerp(a: f32, b: f32, t: f32) -> f32 { a + (b - a) * t }
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp3` is never used
[INFO] [stdout]   --> src/Ops/mod.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn lerp3(a: [f32; 3], b: [f32; 3], t: f32) -> [f32; 3] {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interpolate` is never used
[INFO] [stdout]    --> src/Ops/mod.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn interpolate(kf1: &Keyframe, kf2: &Keyframe, elapsed: f32) -> Mat4 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Transition` is never constructed
[INFO] [stdout]  --> src/Ops/basic_ops.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Transition {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `scale`, `translate`, `rotate`, and `get_matrix` are never used
[INFO] [stdout]   --> src/Ops/basic_ops.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Transition {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn scale(&mut self, x: f32, y: f32, z: f32) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn translate(&mut self, x: f32, y: f32, z: f32) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn rotate(&mut self, x: f32, y: f32, z: f32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn get_matrix(&self) -> Mat4 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShapeDetails` is never constructed
[INFO] [stdout]  --> src/Engine/shape_details.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ShapeDetails {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update`, and `bounce_walls` are never used
[INFO] [stdout]   --> src/Engine/shape_details.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl ShapeDetails {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(vertexes: Vec<Vertex>, indices: Vec<u16>, mass: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn update(&mut self, dt: f32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn bounce_walls(
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Environment` is never constructed
[INFO] [stdout]   --> src/Engine/shape_details.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct Environment {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `earth`, and `gravity_ndc` are never used
[INFO] [stdout]   --> src/Engine/shape_details.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl Environment {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 69 |     pub fn new(gravity: Vec3, air_density: f32, air_speed: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn earth() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn gravity_ndc(&self, meters_per_unit: f32) -> Vec3 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Shapes` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod Shapes;
[INFO] [stdout]   |     ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `shapes`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ops` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | mod Ops;
[INFO] [stdout]   |     ^^^ help: convert the identifier to snake case (notice the capitalization): `ops`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Engine` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | mod Engine;
[INFO] [stdout]   |     ^^^^^^ help: convert the identifier to snake case: `engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `buffer_layout` is never used
[INFO] [stdout]   --> src/Shapes/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Vertex {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn buffer_layout() -> wgpu::VertexBufferLayout<'static> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Shapes` is never used
[INFO] [stdout]   --> src/Shapes/mod.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub trait Shapes{}
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]  --> src/Shapes/shape2d.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Rectangle {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Square` is never constructed
[INFO] [stdout]   --> src/Shapes/shape2d.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Square {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Circle` is never constructed
[INFO] [stdout]   --> src/Shapes/shape2d.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Circle {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `vertices`, and `indices` are never used
[INFO] [stdout]   --> src/Shapes/shape2d.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Rectangle {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 26 |     pub fn new(height: f32, width: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn vertices(&self, color: [f32; 3]) -> [Vertex; 4] {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn indices() -> [u16; 6] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `vertices`, and `indices` are never used
[INFO] [stdout]   --> src/Shapes/shape2d.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Square {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 48 |     pub fn new(side_length: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn vertices(&self, color: [f32; 3]) -> [Vertex; 4] {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn indices(&self) -> [u16; 6] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `vertices`, and `indices` are never used
[INFO] [stdout]   --> src/Shapes/shape2d.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl Circle {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 62 |     pub fn new(radius: f32, center: Vertex) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn vertices(&self, color: [f32; 3]) -> Vec<Vertex> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn indices(&self) -> Vec<u16> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vec3` is never constructed
[INFO] [stdout]  --> src/Ops/mod.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Vec3 {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `zero` are never used
[INFO] [stdout]   --> src/Ops/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Vec3 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 12 |     pub fn new(x: f32, y: f32, z: f32) -> Self { Self { x, y, z } }
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 13 |     pub fn zero() -> Self { Self::new(0.0, 0.0, 0.0) }
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `identity`, `scale`, `translate`, and `rotate` are never used
[INFO] [stdout]   --> src/Ops/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Mat4 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 31 |     pub fn identity() -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn scale(x: f32, y: f32, z: f32) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn translate(x: f32, y: f32, z: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn rotate(x: f32, y: f32, z: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Keyframe` is never constructed
[INFO] [stdout]   --> src/Ops/mod.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct Keyframe {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp` is never used
[INFO] [stdout]   --> src/Ops/mod.rs:96:4
[INFO] [stdout]    |
[INFO] [stdout] 96 | fn lerp(a: f32, b: f32, t: f32) -> f32 { a + (b - a) * t }
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp3` is never used
[INFO] [stdout]   --> src/Ops/mod.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn lerp3(a: [f32; 3], b: [f32; 3], t: f32) -> [f32; 3] {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interpolate` is never used
[INFO] [stdout]    --> src/Ops/mod.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn interpolate(kf1: &Keyframe, kf2: &Keyframe, elapsed: f32) -> Mat4 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Transition` is never constructed
[INFO] [stdout]  --> src/Ops/basic_ops.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Transition {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `scale`, `translate`, `rotate`, and `get_matrix` are never used
[INFO] [stdout]   --> src/Ops/basic_ops.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Transition {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn scale(&mut self, x: f32, y: f32, z: f32) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn translate(&mut self, x: f32, y: f32, z: f32) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn rotate(&mut self, x: f32, y: f32, z: f32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn get_matrix(&self) -> Mat4 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShapeDetails` is never constructed
[INFO] [stdout]  --> src/Engine/shape_details.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ShapeDetails {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update`, and `bounce_walls` are never used
[INFO] [stdout]   --> src/Engine/shape_details.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl ShapeDetails {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(vertexes: Vec<Vertex>, indices: Vec<u16>, mass: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn update(&mut self, dt: f32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn bounce_walls(
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Environment` is never constructed
[INFO] [stdout]   --> src/Engine/shape_details.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct Environment {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `earth`, and `gravity_ndc` are never used
[INFO] [stdout]   --> src/Engine/shape_details.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl Environment {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 69 |     pub fn new(gravity: Vec3, air_density: f32, air_speed: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn earth() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn gravity_ndc(&self, meters_per_unit: f32) -> Vec3 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Shapes` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod Shapes;
[INFO] [stdout]   |     ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `shapes`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ops` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | mod Ops;
[INFO] [stdout]   |     ^^^ help: convert the identifier to snake case (notice the capitalization): `ops`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Engine` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | mod Engine;
[INFO] [stdout]   |     ^^^^^^ help: convert the identifier to snake case: `engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shape2d::*`
[INFO] [stdout]  --> src/Shapes/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use shape2d::*;
[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: `basic_ops::*`
[INFO] [stdout]  --> src/Ops/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use basic_ops::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shape_details::*`
[INFO] [stdout]  --> src/Engine/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use shape_details::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shape2d::*`
[INFO] [stdout]  --> src/Shapes/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use shape2d::*;
[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: `basic_ops::*`
[INFO] [stdout]  --> src/Ops/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use basic_ops::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shape_details::*`
[INFO] [stdout]  --> src/Engine/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use shape_details::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Shapes` is never used
[INFO] [stdout]   --> src/Shapes/mod.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub trait Shapes{}
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]  --> src/Shapes/shape2d.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Rectangle {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Square` is never constructed
[INFO] [stdout]   --> src/Shapes/shape2d.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Square {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Circle` is never constructed
[INFO] [stdout]   --> src/Shapes/shape2d.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Circle {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `vertices`, and `indices` are never used
[INFO] [stdout]   --> src/Shapes/shape2d.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Rectangle {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 26 |     pub fn new(height: f32, width: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn vertices(&self, color: [f32; 3]) -> [Vertex; 4] {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn indices() -> [u16; 6] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `vertices`, and `indices` are never used
[INFO] [stdout]   --> src/Shapes/shape2d.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Square {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 48 |     pub fn new(side_length: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn vertices(&self, color: [f32; 3]) -> [Vertex; 4] {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn indices(&self) -> [u16; 6] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `vertices`, and `indices` are never used
[INFO] [stdout]   --> src/Shapes/shape2d.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl Circle {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 62 |     pub fn new(radius: f32, center: Vertex) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn vertices(&self, color: [f32; 3]) -> Vec<Vertex> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn indices(&self) -> Vec<u16> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vec3` is never constructed
[INFO] [stdout]  --> src/Ops/mod.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Vec3 {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `zero` are never used
[INFO] [stdout]   --> src/Ops/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Vec3 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 12 |     pub fn new(x: f32, y: f32, z: f32) -> Self { Self { x, y, z } }
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 13 |     pub fn zero() -> Self { Self::new(0.0, 0.0, 0.0) }
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Keyframe` is never constructed
[INFO] [stdout]   --> src/Ops/mod.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct Keyframe {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp` is never used
[INFO] [stdout]   --> src/Ops/mod.rs:96:4
[INFO] [stdout]    |
[INFO] [stdout] 96 | fn lerp(a: f32, b: f32, t: f32) -> f32 { a + (b - a) * t }
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp3` is never used
[INFO] [stdout]   --> src/Ops/mod.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn lerp3(a: [f32; 3], b: [f32; 3], t: f32) -> [f32; 3] {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interpolate` is never used
[INFO] [stdout]    --> src/Ops/mod.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn interpolate(kf1: &Keyframe, kf2: &Keyframe, elapsed: f32) -> Mat4 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Transition` is never constructed
[INFO] [stdout]  --> src/Ops/basic_ops.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Transition {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `scale`, `translate`, `rotate`, and `get_matrix` are never used
[INFO] [stdout]   --> src/Ops/basic_ops.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Transition {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn scale(&mut self, x: f32, y: f32, z: f32) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn translate(&mut self, x: f32, y: f32, z: f32) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn rotate(&mut self, x: f32, y: f32, z: f32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn get_matrix(&self) -> Mat4 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShapeDetails` is never constructed
[INFO] [stdout]  --> src/Engine/shape_details.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ShapeDetails {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update`, and `bounce_walls` are never used
[INFO] [stdout]   --> src/Engine/shape_details.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl ShapeDetails {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(vertexes: Vec<Vertex>, indices: Vec<u16>, mass: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn update(&mut self, dt: f32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn bounce_walls(
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Environment` is never constructed
[INFO] [stdout]   --> src/Engine/shape_details.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct Environment {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `earth`, and `gravity_ndc` are never used
[INFO] [stdout]   --> src/Engine/shape_details.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl Environment {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 69 |     pub fn new(gravity: Vec3, air_density: f32, air_speed: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn earth() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn gravity_ndc(&self, meters_per_unit: f32) -> Vec3 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `accel` is never read
[INFO] [stdout]   --> src/Scene/mod.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Obj {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub accel:   [f32; 2],
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `vel`, `rot`, and `hidden` are never used
[INFO] [stdout]   --> src/Scene/mod.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Obj {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn vel(mut self, vx: f32, vy: f32)    -> Self { self.vel   = [vx, vy]; self }
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 60 |     pub fn rot(mut self, r: f32)              -> Self { self.rot   = r; self }
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 61 |     pub fn tag(mut self, t: &'static str)     -> Self { self.tags.push(t); self }
[INFO] [stdout] 62 |     pub fn hidden(mut self)                   -> Self { self.visible = false; self }
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_many` is never used
[INFO] [stdout]    --> src/Scene/mod.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl Scene {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn with_many(mut self, iter: impl IntoIterator<Item = Obj>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PegCollisionRule` is never constructed
[INFO] [stdout]    --> src/Scene/rules.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub struct PegCollisionRule {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `for_tag` are never used
[INFO] [stdout]    --> src/Scene/rules.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl PegCollisionRule {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 173 |     pub fn new(pegs: Vec<[f32; 3]>, restitution: f32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn for_tag(mut self, t: &'static str) -> Self { self.tag = Some(t); self }
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BucketWallRule` is never constructed
[INFO] [stdout]    --> src/Scene/rules.rs:265:12
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub struct BucketWallRule {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `for_tag` are never used
[INFO] [stdout]    --> src/Scene/rules.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 272 | impl BucketWallRule {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 273 |     pub fn new(xs: Vec<f32>, top_y: f32, restitution: f32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn for_tag(mut self, t: &'static str) -> Self { self.tag = Some(t); self }
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Shapes` should have a snake case name
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod Shapes;
[INFO] [stdout]   |     ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `shapes`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ops` should have a snake case name
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | mod Ops;
[INFO] [stdout]   |     ^^^ help: convert the identifier to snake case (notice the capitalization): `ops`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Engine` should have a snake case name
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | mod Engine;
[INFO] [stdout]   |     ^^^^^^ help: convert the identifier to snake case: `engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Renderer` should have a snake case name
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | mod Renderer;
[INFO] [stdout]   |     ^^^^^^^^ help: convert the identifier to snake case: `renderer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `ImageGen` should have a snake case name
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod ImageGen;
[INFO] [stdout]   |     ^^^^^^^^ help: convert the identifier to snake case: `image_gen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Scene` should have a snake case name
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod Scene;
[INFO] [stdout]   |     ^^^^^ help: convert the identifier to snake case (notice the capitalization): `scene`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Shapes` is never used
[INFO] [stdout]   --> src/Shapes/mod.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub trait Shapes{}
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]  --> src/Shapes/shape2d.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Rectangle {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Square` is never constructed
[INFO] [stdout]   --> src/Shapes/shape2d.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Square {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Circle` is never constructed
[INFO] [stdout]   --> src/Shapes/shape2d.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Circle {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `vertices`, and `indices` are never used
[INFO] [stdout]   --> src/Shapes/shape2d.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Rectangle {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 26 |     pub fn new(height: f32, width: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn vertices(&self, color: [f32; 3]) -> [Vertex; 4] {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn indices() -> [u16; 6] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `vertices`, and `indices` are never used
[INFO] [stdout]   --> src/Shapes/shape2d.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Square {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 48 |     pub fn new(side_length: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn vertices(&self, color: [f32; 3]) -> [Vertex; 4] {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn indices(&self) -> [u16; 6] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `vertices`, and `indices` are never used
[INFO] [stdout]   --> src/Shapes/shape2d.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl Circle {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 62 |     pub fn new(radius: f32, center: Vertex) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn vertices(&self, color: [f32; 3]) -> Vec<Vertex> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn indices(&self) -> Vec<u16> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vec3` is never constructed
[INFO] [stdout]  --> src/Ops/mod.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Vec3 {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `zero` are never used
[INFO] [stdout]   --> src/Ops/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Vec3 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 12 |     pub fn new(x: f32, y: f32, z: f32) -> Self { Self { x, y, z } }
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 13 |     pub fn zero() -> Self { Self::new(0.0, 0.0, 0.0) }
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Keyframe` is never constructed
[INFO] [stdout]   --> src/Ops/mod.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct Keyframe {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp` is never used
[INFO] [stdout]   --> src/Ops/mod.rs:96:4
[INFO] [stdout]    |
[INFO] [stdout] 96 | fn lerp(a: f32, b: f32, t: f32) -> f32 { a + (b - a) * t }
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp3` is never used
[INFO] [stdout]   --> src/Ops/mod.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn lerp3(a: [f32; 3], b: [f32; 3], t: f32) -> [f32; 3] {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interpolate` is never used
[INFO] [stdout]    --> src/Ops/mod.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn interpolate(kf1: &Keyframe, kf2: &Keyframe, elapsed: f32) -> Mat4 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Transition` is never constructed
[INFO] [stdout]  --> src/Ops/basic_ops.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Transition {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `scale`, `translate`, `rotate`, and `get_matrix` are never used
[INFO] [stdout]   --> src/Ops/basic_ops.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Transition {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn scale(&mut self, x: f32, y: f32, z: f32) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn translate(&mut self, x: f32, y: f32, z: f32) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn rotate(&mut self, x: f32, y: f32, z: f32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn get_matrix(&self) -> Mat4 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShapeDetails` is never constructed
[INFO] [stdout]  --> src/Engine/shape_details.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ShapeDetails {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update`, and `bounce_walls` are never used
[INFO] [stdout]   --> src/Engine/shape_details.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl ShapeDetails {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(vertexes: Vec<Vertex>, indices: Vec<u16>, mass: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn update(&mut self, dt: f32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn bounce_walls(
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Environment` is never constructed
[INFO] [stdout]   --> src/Engine/shape_details.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct Environment {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `earth`, and `gravity_ndc` are never used
[INFO] [stdout]   --> src/Engine/shape_details.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl Environment {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 69 |     pub fn new(gravity: Vec3, air_density: f32, air_speed: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn earth() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn gravity_ndc(&self, meters_per_unit: f32) -> Vec3 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `accel` is never read
[INFO] [stdout]   --> src/Scene/mod.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Obj {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub accel:   [f32; 2],
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `vel`, `rot`, and `hidden` are never used
[INFO] [stdout]   --> src/Scene/mod.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Obj {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn vel(mut self, vx: f32, vy: f32)    -> Self { self.vel   = [vx, vy]; self }
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 60 |     pub fn rot(mut self, r: f32)              -> Self { self.rot   = r; self }
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 61 |     pub fn tag(mut self, t: &'static str)     -> Self { self.tags.push(t); self }
[INFO] [stdout] 62 |     pub fn hidden(mut self)                   -> Self { self.visible = false; self }
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_many` is never used
[INFO] [stdout]    --> src/Scene/mod.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl Scene {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn with_many(mut self, iter: impl IntoIterator<Item = Obj>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PegCollisionRule` is never constructed
[INFO] [stdout]    --> src/Scene/rules.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub struct PegCollisionRule {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `for_tag` are never used
[INFO] [stdout]    --> src/Scene/rules.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl PegCollisionRule {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 173 |     pub fn new(pegs: Vec<[f32; 3]>, restitution: f32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn for_tag(mut self, t: &'static str) -> Self { self.tag = Some(t); self }
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BucketWallRule` is never constructed
[INFO] [stdout]    --> src/Scene/rules.rs:265:12
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub struct BucketWallRule {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `for_tag` are never used
[INFO] [stdout]    --> src/Scene/rules.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 272 | impl BucketWallRule {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 273 |     pub fn new(xs: Vec<f32>, top_y: f32, restitution: f32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn for_tag(mut self, t: &'static str) -> Self { self.tag = Some(t); self }
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Shapes` should have a snake case name
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod Shapes;
[INFO] [stdout]   |     ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `shapes`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ops` should have a snake case name
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | mod Ops;
[INFO] [stdout]   |     ^^^ help: convert the identifier to snake case (notice the capitalization): `ops`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Engine` should have a snake case name
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | mod Engine;
[INFO] [stdout]   |     ^^^^^^ help: convert the identifier to snake case: `engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Renderer` should have a snake case name
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | mod Renderer;
[INFO] [stdout]   |     ^^^^^^^^ help: convert the identifier to snake case: `renderer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `ImageGen` should have a snake case name
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod ImageGen;
[INFO] [stdout]   |     ^^^^^^^^ help: convert the identifier to snake case: `image_gen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Scene` should have a snake case name
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod Scene;
[INFO] [stdout]   |     ^^^^^ help: convert the identifier to snake case (notice the capitalization): `scene`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `lyon`
[INFO] [stderr]  --> Cargo.toml:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | lyon = "1"
[INFO] [stderr]   | ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `lyon`
[INFO] [stderr] warning: `graphics` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wgpu v0.19.4, wgpu-core v0.19.4, wgpu-hal v0.19.5
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "6f9ba2c52cc2fad71697e97eb2accbab7302f4a57411e5f535fd8f6da1f61a44", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6f9ba2c52cc2fad71697e97eb2accbab7302f4a57411e5f535fd8f6da1f61a44", kill_on_drop: false }`
[INFO] [stdout] 6f9ba2c52cc2fad71697e97eb2accbab7302f4a57411e5f535fd8f6da1f61a44
