[INFO] cloning repository https://github.com/dthung1602/XPipe
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dthung1602/XPipe" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdthung1602%2FXPipe", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdthung1602%2FXPipe'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 356e9edca7fcd25b83f9dc04d69baf5ec3318261
[INFO] checking dthung1602/XPipe against master#da2544bfbe84df7b24d83c029c74299ebf6112c6 for pr-149681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdthung1602%2FXPipe" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dthung1602/XPipe
[INFO] finished tweaking git repo https://github.com/dthung1602/XPipe
[INFO] tweaked toml for git repo https://github.com/dthung1602/XPipe written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dthung1602/XPipe on toolchain da2544bfbe84df7b24d83c029c74299ebf6112c6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da2544bfbe84df7b24d83c029c74299ebf6112c6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dthung1602/XPipe 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" "+da2544bfbe84df7b24d83c029c74299ebf6112c6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded foldhash v0.2.0
[INFO] [stderr]   Downloaded gethostname v1.1.0
[INFO] [stderr]   Downloaded wgpu-core-deps-windows-linux-android v27.0.0
[INFO] [stderr]   Downloaded wgpu-core-deps-apple v27.0.0
[INFO] [stderr]   Downloaded bytemuck_derive v1.10.2
[INFO] [stderr]   Downloaded ordered-float v5.1.0
[INFO] [stderr]   Downloaded pollster v0.4.0
[INFO] [stderr]   Downloaded document-features v0.2.12
[INFO] [stderr]   Downloaded tobj v4.0.3
[INFO] [stderr]   Downloaded wgpu-types v27.0.1
[INFO] [stderr]   Downloaded litrs v1.0.0
[INFO] [stderr]   Downloaded wgpu-core-deps-emscripten v27.0.0
[INFO] [stderr]   Downloaded wgpu v27.0.1
[INFO] [stderr]   Downloaded wgpu-core v27.0.3
[INFO] [stderr]   Downloaded wgpu-hal v27.0.4
[INFO] [stderr]   Downloaded naga v27.0.3
[INFO] [stderr]   Downloaded metal v0.32.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+da2544bfbe84df7b24d83c029c74299ebf6112c6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 68d80d985b8403697cfdb857ee6bea75a8eda5e475523a861c297e318c5d70b1
[INFO] running `Command { std: "docker" "start" "-a" "68d80d985b8403697cfdb857ee6bea75a8eda5e475523a861c297e318c5d70b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "68d80d985b8403697cfdb857ee6bea75a8eda5e475523a861c297e318c5d70b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "68d80d985b8403697cfdb857ee6bea75a8eda5e475523a861c297e318c5d70b1", kill_on_drop: false }`
[INFO] [stdout] 68d80d985b8403697cfdb857ee6bea75a8eda5e475523a861c297e318c5d70b1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+da2544bfbe84df7b24d83c029c74299ebf6112c6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 28d06ddc03653aca096dfe528e39f82495e90373a8719030ae14a2ed2efad0d2
[INFO] running `Command { std: "docker" "start" "-a" "28d06ddc03653aca096dfe528e39f82495e90373a8719030ae14a2ed2efad0d2", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling find-msvc-tools v0.1.4
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]     Checking libloading v0.8.9
[INFO] [stderr]    Compiling wayland-sys v0.31.7
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking rustix v1.1.2
[INFO] [stderr]    Compiling quick-xml v0.37.5
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]    Compiling naga v27.0.3
[INFO] [stderr]    Compiling ash v0.38.0+1.3.281
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking hashbrown v0.16.0
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]    Compiling cc v1.2.43
[INFO] [stderr]     Checking codespan-reporting v0.12.0
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]    Compiling wgpu-hal v27.0.4
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]    Compiling smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]     Checking glow v0.16.0
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]     Checking owned_ttf_parser v0.25.1
[INFO] [stderr]     Checking indexmap v2.12.0
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling wgpu-core v27.0.3
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]     Checking gpu-descriptor v0.3.2
[INFO] [stderr]    Compiling wayland-scanner v0.31.7
[INFO] [stderr]     Checking ab_glyph v0.2.32
[INFO] [stderr]    Compiling winit v0.30.12
[INFO] [stderr]    Compiling wgpu v27.0.1
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking memmap2 v0.9.9
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling cgmath v0.18.0
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]     Checking anstyle-query v1.1.4
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking ordered-float v5.1.0
[INFO] [stderr]     Checking approx v0.4.0
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking jiff v0.2.15
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking dpi v0.1.2
[INFO] [stderr]     Checking pollster v0.4.0
[INFO] [stderr]    Compiling wayland-backend v0.3.11
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking env_filter v0.1.4
[INFO] [stderr]    Compiling zerocopy-derive v0.8.27
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking wayland-client v0.31.11
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking wgpu-types v27.0.1
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking env_logger v0.11.8
[INFO] [stderr]     Checking wayland-protocols v0.32.9
[INFO] [stderr]     Checking wayland-cursor v0.31.11
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking tobj v4.0.3
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.9
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.9
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking wgpu-core-deps-windows-linux-android v27.0.0
[INFO] [stderr]     Checking XPipe v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `X`, `Y`, `Z`, `_X`, `_Y`, and `_Z`
[INFO] [stdout]  --> src/world.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::world::Direction::{_X, _Y, _Z, X, Y, Z};
[INFO] [stdout]   |                               ^^  ^^  ^^  ^  ^  ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `X`, `Y`, `Z`, `_X`, `_Y`, and `_Z`
[INFO] [stdout]  --> src/world.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::world::Direction::{_X, _Y, _Z, X, Y, Z};
[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: `debug`
[INFO] [stdout]   --> src/lib.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{debug, error};
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> src/lib.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{debug, error};
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `tobj::load_obj_buf_async`: load_obj_buf_async is not fully async. Use futures/tokio feature flags instead
[INFO] [stdout]   --> src/models.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let (models, _) = tobj::load_obj_buf_async(
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `tobj::load_obj_buf_async`: load_obj_buf_async is not fully async. Use futures/tokio feature flags instead
[INFO] [stdout]   --> src/models.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let (models, _) = tobj::load_obj_buf_async(
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event_loop`
[INFO] [stdout]    --> src/lib.rs:448:30
[INFO] [stdout]     |
[INFO] [stdout] 448 |     fn user_event(&mut self, event_loop: &ActiveEventLoop, event: State) {
[INFO] [stdout]     |                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_loop`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]    --> src/lib.rs:452:62
[INFO] [stdout]     |
[INFO] [stdout] 452 |     fn window_event(&mut self, event_loop: &ActiveEventLoop, window_id: WindowId, event: WindowEvent) {
[INFO] [stdout]     |                                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event_loop`
[INFO] [stdout]    --> src/lib.rs:448:30
[INFO] [stdout]     |
[INFO] [stdout] 448 |     fn user_event(&mut self, event_loop: &ActiveEventLoop, event: State) {
[INFO] [stdout]     |                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_loop`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]    --> src/lib.rs:452:62
[INFO] [stdout]     |
[INFO] [stdout] 452 |     fn window_event(&mut self, event_loop: &ActiveEventLoop, window_id: WindowId, event: WindowEvent) {
[INFO] [stdout]     |                                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_INSTANCES_PER_ROW` is never used
[INFO] [stdout]   --> src/lib.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const NUM_INSTANCES_PER_ROW: u32 = 3;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INSTANCE_DISPLACEMENT` is never used
[INFO] [stdout]   --> src/lib.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const INSTANCE_DISPLACEMENT: cgmath::Vector3<f32> = cgmath::Vector3::new(
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/models.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct Mesh {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 40 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `texture` and `sampler` are never read
[INFO] [stdout]  --> src/texture.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Texture {
[INFO] [stdout]   |            ------- fields in this struct
[INFO] [stdout] 2 |     pub texture: wgpu::Texture,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout] 3 |     pub view: wgpu::TextureView,
[INFO] [stdout] 4 |     pub sampler: wgpu::Sampler,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Z` is never constructed
[INFO] [stdout]   --> src/world.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Direction {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Z,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Direction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `random` and `random_perpendicular` are never used
[INFO] [stdout]   --> src/world.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Direction {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 25 |     fn random() -> Direction {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn random_perpendicular(self) -> Direction {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_x_block`, `max_y_block`, `max_z_block`, `turn_probability`, and `stop_probability` are never read
[INFO] [stdout]   --> src/world.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct World {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 75 |     max_x_block: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 76 |     max_y_block: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 77 |     max_z_block: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 78 |
[INFO] [stdout] 79 |     turn_probability: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 80 |     stop_probability: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `World` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_pipe`, `random_block`, `next_block`, and `is_position_valid` are never used
[INFO] [stdout]    --> src/world.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl World {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn add_pipe(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn random_block(&self) -> Block {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     fn next_block(&self) -> Block {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     fn is_position_valid(&self, position: &(u32, u32, u32)) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `instance_I_buffer` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     instance_I_buffer: wgpu::Buffer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `instance_i_buffer`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `instance_L_buffer` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     instance_L_buffer: wgpu::Buffer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `instance_l_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `pipe_model_I` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pipe_model_I: models::Model,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `pipe_model_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `pipe_model_L` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pipe_model_L: models::Model,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `pipe_model_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `instance_data_I` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let instance_data_I = world.get_I_pipe_instances().iter().map(instance::Instance::to_raw).collect::<Vec<_>>();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `instance_data_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `instance_data_L` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let instance_data_L = world.get_L_pipe_instances().iter().map(instance::Instance::to_raw).collect::<Vec<_>>();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `instance_data_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `instance_I_buffer` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let instance_I_buffer = device.create_buffer_init(&wgpu::util::BufferInitDescriptor {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `instance_i_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `instance_L_buffer` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let instance_L_buffer = device.create_buffer_init(&wgpu::util::BufferInitDescriptor {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `instance_l_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pipe_model_I` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |         let pipe_model_I = models::Model::load_model("pipe.obj", &device).await?;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `pipe_model_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pipe_model_L` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:227:13
[INFO] [stdout]     |
[INFO] [stdout] 227 |         let pipe_model_L = models::Model::load_model("curve.obj", &device).await?;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `pipe_model_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_I_pipe_instances` should have a snake case name
[INFO] [stdout]    --> src/world.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn get_I_pipe_instances(&self) -> &[Instance] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_i_pipe_instances`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_L_pipe_instances` should have a snake case name
[INFO] [stdout]    --> src/world.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn get_L_pipe_instances(&self) -> &[Instance] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_l_pipe_instances`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_INSTANCES_PER_ROW` is never used
[INFO] [stdout]   --> src/lib.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const NUM_INSTANCES_PER_ROW: u32 = 3;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INSTANCE_DISPLACEMENT` is never used
[INFO] [stdout]   --> src/lib.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const INSTANCE_DISPLACEMENT: cgmath::Vector3<f32> = cgmath::Vector3::new(
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/models.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct Mesh {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 40 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `texture` and `sampler` are never read
[INFO] [stdout]  --> src/texture.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Texture {
[INFO] [stdout]   |            ------- fields in this struct
[INFO] [stdout] 2 |     pub texture: wgpu::Texture,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout] 3 |     pub view: wgpu::TextureView,
[INFO] [stdout] 4 |     pub sampler: wgpu::Sampler,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Z` is never constructed
[INFO] [stdout]   --> src/world.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Direction {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Z,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Direction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `random` and `random_perpendicular` are never used
[INFO] [stdout]   --> src/world.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Direction {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 25 |     fn random() -> Direction {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn random_perpendicular(self) -> Direction {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_x_block`, `max_y_block`, `max_z_block`, `turn_probability`, and `stop_probability` are never read
[INFO] [stdout]   --> src/world.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct World {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 75 |     max_x_block: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 76 |     max_y_block: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 77 |     max_z_block: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 78 |
[INFO] [stdout] 79 |     turn_probability: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 80 |     stop_probability: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `World` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_pipe`, `random_block`, `next_block`, and `is_position_valid` are never used
[INFO] [stdout]    --> src/world.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl World {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn add_pipe(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn random_block(&self) -> Block {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     fn next_block(&self) -> Block {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     fn is_position_valid(&self, position: &(u32, u32, u32)) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `XPipe` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `xpipe`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `instance_I_buffer` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     instance_I_buffer: wgpu::Buffer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `instance_i_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `instance_L_buffer` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     instance_L_buffer: wgpu::Buffer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `instance_l_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `pipe_model_I` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pipe_model_I: models::Model,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `pipe_model_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `pipe_model_L` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pipe_model_L: models::Model,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `pipe_model_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `instance_data_I` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let instance_data_I = world.get_I_pipe_instances().iter().map(instance::Instance::to_raw).collect::<Vec<_>>();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `instance_data_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `instance_data_L` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let instance_data_L = world.get_L_pipe_instances().iter().map(instance::Instance::to_raw).collect::<Vec<_>>();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `instance_data_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `instance_I_buffer` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let instance_I_buffer = device.create_buffer_init(&wgpu::util::BufferInitDescriptor {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `instance_i_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `instance_L_buffer` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let instance_L_buffer = device.create_buffer_init(&wgpu::util::BufferInitDescriptor {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `instance_l_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pipe_model_I` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |         let pipe_model_I = models::Model::load_model("pipe.obj", &device).await?;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `pipe_model_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pipe_model_L` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:227:13
[INFO] [stdout]     |
[INFO] [stdout] 227 |         let pipe_model_L = models::Model::load_model("curve.obj", &device).await?;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `pipe_model_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_I_pipe_instances` should have a snake case name
[INFO] [stdout]    --> src/world.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn get_I_pipe_instances(&self) -> &[Instance] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_i_pipe_instances`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_L_pipe_instances` should have a snake case name
[INFO] [stdout]    --> src/world.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn get_L_pipe_instances(&self) -> &[Instance] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_l_pipe_instances`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 55.71s
[INFO] running `Command { std: "docker" "inspect" "28d06ddc03653aca096dfe528e39f82495e90373a8719030ae14a2ed2efad0d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "28d06ddc03653aca096dfe528e39f82495e90373a8719030ae14a2ed2efad0d2", kill_on_drop: false }`
[INFO] [stdout] 28d06ddc03653aca096dfe528e39f82495e90373a8719030ae14a2ed2efad0d2
