[INFO] cloning repository https://github.com/MartMcMahon/praxis
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MartMcMahon/praxis" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMartMcMahon%2Fpraxis", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMartMcMahon%2Fpraxis'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a85aa50eed3e8f7b87d7679ac1decd5f188cbed1
[INFO] checking MartMcMahon/praxis against master#3c9faa0d037b9eecda4a440cc482ff7f960fb8a5 for pr-152210
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMartMcMahon%2Fpraxis" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/MartMcMahon/praxis
[INFO] finished tweaking git repo https://github.com/MartMcMahon/praxis
[INFO] tweaked toml for git repo https://github.com/MartMcMahon/praxis written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MartMcMahon/praxis on toolchain 3c9faa0d037b9eecda4a440cc482ff7f960fb8a5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3c9faa0d037b9eecda4a440cc482ff7f960fb8a5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/MartMcMahon/praxis 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" "+3c9faa0d037b9eecda4a440cc482ff7f960fb8a5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded twox-hash v2.0.0
[INFO] [stderr]   Downloaded windows-interface v0.56.0
[INFO] [stderr]   Downloaded anstream v0.6.17
[INFO] [stderr]   Downloaded anyhow v1.0.91
[INFO] [stderr]   Downloaded rustix v0.38.38
[INFO] [stderr]   Downloaded glyph_brush_layout v0.2.4
[INFO] [stderr]   Downloaded glyph_brush v0.7.11
[INFO] [stderr]   Downloaded tobj v4.0.2
[INFO] [stderr]   Downloaded windows-core v0.56.0
[INFO] [stderr]   Downloaded windows-implement v0.56.0
[INFO] [stderr]   Downloaded glyph_brush_draw_cache v0.1.6
[INFO] [stderr]   Downloaded ordered-float v4.4.0
[INFO] [stderr]   Downloaded windows v0.56.0
[INFO] [stderr]   Downloaded display-info v0.5.1
[INFO] [stderr]   Downloaded d3d12 v22.0.0
[INFO] [stderr]   Downloaded anstyle v1.0.9
[INFO] [stderr]   Downloaded xcb v1.4.0
[INFO] [stderr]   Downloaded wgpu_text v0.9.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+3c9faa0d037b9eecda4a440cc482ff7f960fb8a5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 111de3399e44626259c47eb1d48359c644c1ad253ba07d1629cf39f0695871a6
[INFO] running `Command { std: "docker" "start" "-a" "111de3399e44626259c47eb1d48359c644c1ad253ba07d1629cf39f0695871a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "111de3399e44626259c47eb1d48359c644c1ad253ba07d1629cf39f0695871a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "111de3399e44626259c47eb1d48359c644c1ad253ba07d1629cf39f0695871a6", kill_on_drop: false }`
[INFO] [stdout] 111de3399e44626259c47eb1d48359c644c1ad253ba07d1629cf39f0695871a6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+3c9faa0d037b9eecda4a440cc482ff7f960fb8a5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bf6730f7c7ac95e3d6bdf106c277903fe1728cdfaf499a17fc8189345bb758ed
[INFO] running `Command { std: "docker" "start" "-a" "bf6730f7c7ac95e3d6bdf106c277903fe1728cdfaf499a17fc8189345bb758ed", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.161
[INFO] [stderr]    Compiling rustix v0.38.38
[INFO] [stderr]    Compiling cc v1.1.31
[INFO] [stderr]    Compiling wayland-sys v0.31.5
[INFO] [stderr]    Compiling thiserror v1.0.65
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling naga v22.1.0
[INFO] [stderr]    Compiling syn v2.0.85
[INFO] [stderr]    Compiling wayland-scanner v0.31.5
[INFO] [stderr]     Checking hashbrown v0.15.0
[INFO] [stderr]     Checking allocator-api2 v0.2.18
[INFO] [stderr]    Compiling anyhow v1.0.91
[INFO] [stderr]    Compiling wgpu-hal v22.0.0
[INFO] [stderr]     Checking ash v0.38.0+1.3.281
[INFO] [stderr]    Compiling wgpu-core v22.1.0
[INFO] [stderr]     Checking wgpu-types v22.0.0
[INFO] [stderr]    Compiling quick-xml v0.30.0
[INFO] [stderr]     Checking regex-automata v0.4.8
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking crossbeam-channel v0.5.13
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]    Compiling wgpu v22.1.0
[INFO] [stderr]    Compiling smithay-client-toolkit v0.18.1
[INFO] [stderr]     Checking xi-unicode v0.3.0
[INFO] [stderr]     Checking rustc-hash v2.0.0
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking memmap2 v0.9.5
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking khronos-egl v6.0.0
[INFO] [stderr]     Checking indexmap v2.6.0
[INFO] [stderr]     Checking glyph_brush_layout v0.2.4
[INFO] [stderr]     Checking glyph_brush_draw_cache v0.1.6
[INFO] [stderr]     Checking flate2 v1.0.34
[INFO] [stderr]     Checking ordered-float v4.4.0
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking anstyle v1.0.9
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]     Checking png v0.17.14
[INFO] [stderr]     Checking anstream v0.6.17
[INFO] [stderr]    Compiling cgmath v0.18.0
[INFO] [stderr]    Compiling wayland-backend v0.3.7
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking approx v0.4.0
[INFO] [stderr]     Checking pollster v0.4.0
[INFO] [stderr]    Compiling xcb v1.4.0
[INFO] [stderr]     Checking tobj v4.0.2
[INFO] [stderr]    Compiling praxis v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling thiserror-impl v1.0.65
[INFO] [stderr]    Compiling bytemuck_derive v1.8.0
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking bytemuck v1.19.0
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking image v0.25.4
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking env_filter v0.1.2
[INFO] [stderr]     Checking env_logger v0.11.5
[INFO] [stderr]     Checking gpu-descriptor v0.3.0
[INFO] [stderr]     Checking twox-hash v2.0.0
[INFO] [stderr]     Checking glyph_brush v0.7.11
[INFO] [stderr]     Checking polling v3.7.3
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking wayland-client v0.31.7
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking wayland-cursor v0.31.7
[INFO] [stderr]     Checking wayland-protocols v0.32.5
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking wayland-protocols v0.31.2
[INFO] [stderr]     Checking wayland-protocols-wlr v0.2.0
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.5
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.5
[INFO] [stderr]     Checking display-info v0.5.1
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking winit v0.30.5
[INFO] [stderr]     Checking wgpu_text v0.9.0
[INFO] [stdout] warning: unused import: `Cube`
[INFO] [stdout]  --> src/main.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | use cube::{Cube, DrawModel};
[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: `Cube`
[INFO] [stdout]  --> src/main.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | use cube::{Cube, DrawModel};
[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 variable: `obj_materials`
[INFO] [stdout]   --> src/cube.rs:32:18
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let (models, obj_materials) = tobj::load_obj(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_obj_materials`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `material_map`
[INFO] [stdout]   --> src/cube.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let (materials, material_map) = tobj::load_mtl(path.join("cube.mtl")).unwrap();
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/main.rs:632:62
[INFO] [stdout]     |
[INFO] [stdout] 632 |     fn window_event(&mut self, event_loop: &ActiveEventLoop, id: WindowId, event: WindowEvent) {
[INFO] [stdout]     |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:770:13
[INFO] [stdout]     |
[INFO] [stdout] 770 |         let mut y = 0.0;
[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: unused variable: `target_fps`
[INFO] [stdout]    --> src/main.rs:811:21
[INFO] [stdout]     |
[INFO] [stdout] 811 |                 let target_fps = 1.0 / 60.0 as f64;
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_fps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/main.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct InstanceRaw {
[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/main.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | / #[repr(C)]
[INFO] [stdout] 42 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 43 | | struct InstanceRaw {
[INFO] [stdout] 44 | |     model: [[f32; 4]; 4],
[INFO] [stdout] 45 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cube_bind_group`, `cube_vertex_buf`, and `cube_index_buf` are never read
[INFO] [stdout]    --> src/main.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | struct App {
[INFO] [stdout]     |        --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 145 |     cube_bind_group: Option<wgpu::BindGroup>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 146 |     cube_vertex_buf: Option<wgpu::Buffer>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 147 |     cube_index_buf: Option<wgpu::Buffer>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPACE_BETWEEN` is never used
[INFO] [stdout]    --> src/main.rs:571:15
[INFO] [stdout]     |
[INFO] [stdout] 571 |         const SPACE_BETWEEN: f32 = 3.0;
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_INSTANCES_PER_ROW` is never used
[INFO] [stdout]    --> src/main.rs:572:15
[INFO] [stdout]     |
[INFO] [stdout] 572 |         const NUM_INSTANCES_PER_ROW: i32 = 5;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `default` is never used
[INFO] [stdout]   --> src/camera.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Camera {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 20 |     fn default() -> Self {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/camera.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct CameraUniform {
[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/camera.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / #[repr(C)]
[INFO] [stdout] 41 | | #[derive(Debug, Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 42 | | pub struct CameraUniform {
[INFO] [stdout] 43 | |     view_proj: [[f32; 4]; 4],
[INFO] [stdout] 44 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/controller.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Controller {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(velocity: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `diffuse_texture` are never read
[INFO] [stdout]   --> src/cube.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Material {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 11 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 12 |     pub diffuse_texture: texture::Texture,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `material` are never read
[INFO] [stdout]   --> src/cube.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Mesh {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 17 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub material: usize,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw_mesh` is never used
[INFO] [stdout]    --> src/cube.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub trait DrawModel<'a> {
[INFO] [stdout]     |           --------- method in this trait
[INFO] [stdout] 139 |     fn draw_mesh(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `texture` is never read
[INFO] [stdout]  --> src/texture.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Texture {
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] 5 |     pub texture: wgpu::Texture,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `DEPTH_FORMAT` and `create_depth_texture` are never used
[INFO] [stdout]   --> src/texture.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Texture {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 11 |     pub const DEPTH_FORMAT: wgpu::TextureFormat = wgpu::TextureFormat::Depth32Float;
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     pub fn create_depth_texture(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/vertex.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | 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/vertex.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / #[repr(C)]
[INFO] [stdout]  6 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout]  7 | | pub struct ModelVertex {
[INFO] [stdout]  8 | |     pub position: [f32; 3],
[INFO] [stdout]  9 | |     pub tex_coords: [f32; 2],
[INFO] [stdout] 10 | |     pub normal: [f32; 3],
[INFO] [stdout] 11 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/vertex.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct BasicVertex {
[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/vertex.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | / #[repr(C)]
[INFO] [stdout] 14 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 15 | | pub struct BasicVertex {
[INFO] [stdout] 16 | |     pub position: [f32; 3],
[INFO] [stdout] 17 | |     pub tex_coords: [f32; 2],
[INFO] [stdout] 18 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/vertex.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct EffectVertex {
[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/vertex.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / #[repr(C)]
[INFO] [stdout] 41 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 42 | | pub struct EffectVertex {
[INFO] [stdout] 43 | |     pub position: [f32; 3],
[INFO] [stdout] 44 | |     pub color: [f32; 3],
[INFO] [stdout] 45 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj_materials`
[INFO] [stdout]   --> src/cube.rs:32:18
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let (models, obj_materials) = tobj::load_obj(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_obj_materials`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `material_map`
[INFO] [stdout]   --> src/cube.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let (materials, material_map) = tobj::load_mtl(path.join("cube.mtl")).unwrap();
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/main.rs:632:62
[INFO] [stdout]     |
[INFO] [stdout] 632 |     fn window_event(&mut self, event_loop: &ActiveEventLoop, id: WindowId, event: WindowEvent) {
[INFO] [stdout]     |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:770:13
[INFO] [stdout]     |
[INFO] [stdout] 770 |         let mut y = 0.0;
[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: unused variable: `target_fps`
[INFO] [stdout]    --> src/main.rs:811:21
[INFO] [stdout]     |
[INFO] [stdout] 811 |                 let target_fps = 1.0 / 60.0 as f64;
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_fps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/main.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct InstanceRaw {
[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/main.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | / #[repr(C)]
[INFO] [stdout] 42 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 43 | | struct InstanceRaw {
[INFO] [stdout] 44 | |     model: [[f32; 4]; 4],
[INFO] [stdout] 45 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cube_bind_group`, `cube_vertex_buf`, and `cube_index_buf` are never read
[INFO] [stdout]    --> src/main.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | struct App {
[INFO] [stdout]     |        --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 145 |     cube_bind_group: Option<wgpu::BindGroup>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 146 |     cube_vertex_buf: Option<wgpu::Buffer>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 147 |     cube_index_buf: Option<wgpu::Buffer>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPACE_BETWEEN` is never used
[INFO] [stdout]    --> src/main.rs:571:15
[INFO] [stdout]     |
[INFO] [stdout] 571 |         const SPACE_BETWEEN: f32 = 3.0;
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_INSTANCES_PER_ROW` is never used
[INFO] [stdout]    --> src/main.rs:572:15
[INFO] [stdout]     |
[INFO] [stdout] 572 |         const NUM_INSTANCES_PER_ROW: i32 = 5;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `default` is never used
[INFO] [stdout]   --> src/camera.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Camera {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 20 |     fn default() -> Self {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/camera.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct CameraUniform {
[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/camera.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / #[repr(C)]
[INFO] [stdout] 41 | | #[derive(Debug, Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 42 | | pub struct CameraUniform {
[INFO] [stdout] 43 | |     view_proj: [[f32; 4]; 4],
[INFO] [stdout] 44 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/controller.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Controller {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(velocity: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `diffuse_texture` are never read
[INFO] [stdout]   --> src/cube.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Material {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 11 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 12 |     pub diffuse_texture: texture::Texture,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `material` are never read
[INFO] [stdout]   --> src/cube.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Mesh {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 17 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub material: usize,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw_mesh` is never used
[INFO] [stdout]    --> src/cube.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub trait DrawModel<'a> {
[INFO] [stdout]     |           --------- method in this trait
[INFO] [stdout] 139 |     fn draw_mesh(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `texture` is never read
[INFO] [stdout]  --> src/texture.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Texture {
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] 5 |     pub texture: wgpu::Texture,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `DEPTH_FORMAT` and `create_depth_texture` are never used
[INFO] [stdout]   --> src/texture.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Texture {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 11 |     pub const DEPTH_FORMAT: wgpu::TextureFormat = wgpu::TextureFormat::Depth32Float;
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     pub fn create_depth_texture(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/vertex.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | 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/vertex.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / #[repr(C)]
[INFO] [stdout]  6 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout]  7 | | pub struct ModelVertex {
[INFO] [stdout]  8 | |     pub position: [f32; 3],
[INFO] [stdout]  9 | |     pub tex_coords: [f32; 2],
[INFO] [stdout] 10 | |     pub normal: [f32; 3],
[INFO] [stdout] 11 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/vertex.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct BasicVertex {
[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/vertex.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | / #[repr(C)]
[INFO] [stdout] 14 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 15 | | pub struct BasicVertex {
[INFO] [stdout] 16 | |     pub position: [f32; 3],
[INFO] [stdout] 17 | |     pub tex_coords: [f32; 2],
[INFO] [stdout] 18 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/vertex.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct EffectVertex {
[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/vertex.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / #[repr(C)]
[INFO] [stdout] 41 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 42 | | pub struct EffectVertex {
[INFO] [stdout] 43 | |     pub position: [f32; 3],
[INFO] [stdout] 44 | |     pub color: [f32; 3],
[INFO] [stdout] 45 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 59.88s
[INFO] running `Command { std: "docker" "inspect" "bf6730f7c7ac95e3d6bdf106c277903fe1728cdfaf499a17fc8189345bb758ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf6730f7c7ac95e3d6bdf106c277903fe1728cdfaf499a17fc8189345bb758ed", kill_on_drop: false }`
[INFO] [stdout] bf6730f7c7ac95e3d6bdf106c277903fe1728cdfaf499a17fc8189345bb758ed
