[INFO] cloning repository https://github.com/gatewaytofredom/differential_projection_voxel_renderer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gatewaytofredom/differential_projection_voxel_renderer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgatewaytofredom%2Fdifferential_projection_voxel_renderer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgatewaytofredom%2Fdifferential_projection_voxel_renderer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 62ea8dc9d196082dd5946f583cb4cb80de6a1920 [INFO] testing gatewaytofredom/differential_projection_voxel_renderer against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgatewaytofredom%2Fdifferential_projection_voxel_renderer" "/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/gatewaytofredom/differential_projection_voxel_renderer [INFO] finished tweaking git repo https://github.com/gatewaytofredom/differential_projection_voxel_renderer [INFO] tweaked toml for git repo https://github.com/gatewaytofredom/differential_projection_voxel_renderer written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/gatewaytofredom/differential_projection_voxel_renderer on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/gatewaytofredom/differential_projection_voxel_renderer 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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [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/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 85f5dba3583540ec57c0e785bc822b57d0f537c9550a29b8f2c0037dec2db74a [INFO] running `Command { std: "docker" "start" "-a" "85f5dba3583540ec57c0e785bc822b57d0f537c9550a29b8f2c0037dec2db74a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "85f5dba3583540ec57c0e785bc822b57d0f537c9550a29b8f2c0037dec2db74a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "85f5dba3583540ec57c0e785bc822b57d0f537c9550a29b8f2c0037dec2db74a", kill_on_drop: false }` [INFO] [stdout] 85f5dba3583540ec57c0e785bc822b57d0f537c9550a29b8f2c0037dec2db74a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }` [INFO] [stdout] 81223579791eea90bfcfc965b24a6a22502f6fa469c98c80abea3454803deb6e [INFO] running `Command { std: "docker" "start" "-a" "81223579791eea90bfcfc965b24a6a22502f6fa469c98c80abea3454803deb6e", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling scoped-tls v1.0.1 [INFO] [stderr] Compiling cc v1.2.46 [INFO] [stderr] Compiling libloading v0.8.9 [INFO] [stderr] Compiling wayland-sys v0.31.7 [INFO] [stderr] Compiling downcast-rs v1.2.1 [INFO] [stderr] Compiling wayland-client v0.31.11 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling syn v2.0.110 [INFO] [stderr] Compiling drm-sys v0.7.0 [INFO] [stderr] Compiling memmap2 v0.9.9 [INFO] [stderr] Compiling ttf-parser v0.25.1 [INFO] [stderr] Compiling cursor-icon v1.2.0 [INFO] [stderr] Compiling xcursor v0.3.10 [INFO] [stderr] Compiling strict-num v0.1.1 [INFO] [stderr] Compiling dlib v0.5.2 [INFO] [stderr] Compiling drm-fourcc v2.2.0 [INFO] [stderr] Compiling as-raw-xcb-connection v1.0.1 [INFO] [stderr] Compiling linux-raw-sys v0.6.5 [INFO] [stderr] Compiling smithay-client-toolkit v0.18.1 [INFO] [stderr] Compiling xkeysym v0.2.1 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling tiny-xlib v0.2.4 [INFO] [stderr] Compiling ab_glyph_rasterizer v0.1.10 [INFO] [stderr] Compiling x11rb-protocol v0.13.2 [INFO] [stderr] Compiling tracing-core v0.1.34 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling clap_builder v4.5.52 [INFO] [stderr] Compiling winit v0.29.15 [INFO] [stderr] Compiling softbuffer v0.4.6 [INFO] [stderr] Compiling quick-xml v0.37.5 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling ctor-lite v0.1.0 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling rand_xorshift v0.3.0 [INFO] [stderr] Compiling wayland-scanner v0.31.7 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling smol_str v0.2.2 [INFO] [stderr] Compiling glam v0.25.0 [INFO] [stderr] Compiling xkbcommon-dl v0.4.2 [INFO] [stderr] Compiling noise v0.9.0 [INFO] [stderr] Compiling wayland-backend v0.3.11 [INFO] [stderr] Compiling libmimalloc-sys v0.1.44 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling owned_ttf_parser v0.25.1 [INFO] [stderr] Compiling ab_glyph v0.2.32 [INFO] [stderr] Compiling clap v4.5.52 [INFO] [stderr] Compiling mimalloc v0.1.48 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Compiling zerocopy-derive v0.8.27 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling zerocopy v0.8.27 [INFO] [stderr] Compiling bytemuck v1.24.0 [INFO] [stderr] Compiling tiny-skia-path v0.11.4 [INFO] [stderr] Compiling drm-ffi v0.8.0 [INFO] [stderr] Compiling drm v0.12.0 [INFO] [stderr] Compiling tiny-skia v0.11.4 [INFO] [stderr] Compiling polling v3.11.0 [INFO] [stderr] Compiling gethostname v1.1.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling calloop v0.12.4 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling wayland-csd-frame v0.3.0 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling wayland-protocols v0.31.2 [INFO] [stderr] Compiling wayland-cursor v0.31.11 [INFO] [stderr] Compiling calloop-wayland-source v0.2.0 [INFO] [stderr] Compiling wayland-protocols-wlr v0.2.0 [INFO] [stderr] Compiling wayland-protocols-plasma v0.2.0 [INFO] [stderr] Compiling x11rb v0.13.2 [INFO] [stderr] Compiling sctk-adwaita v0.8.3 [INFO] [stderr] Compiling voxel_engine v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::perf::FUNCTION_COUNTERS` [INFO] [stdout] --> src/meshing/binary_greedy.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::perf::FUNCTION_COUNTERS; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::count_call` [INFO] [stdout] --> src/rendering/framebuffer.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::count_call; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::perf::FUNCTION_COUNTERS` [INFO] [stdout] --> src/rendering/rasterizer.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::perf::FUNCTION_COUNTERS; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mat4` and `Vec3` [INFO] [stdout] --> src/rendering/macrotile.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | use glam::{Mat4, Vec3}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/rendering/macrotile.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `meshing::mesh::ChunkMesh::vertices`: Use faces array instead [INFO] [stdout] --> src/meshing/mesh.rs:450:13 [INFO] [stdout] | [INFO] [stdout] 450 | vertices: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `meshing::mesh::ChunkMesh::indices`: Use faces array instead [INFO] [stdout] --> src/meshing/mesh.rs:451:13 [INFO] [stdout] | [INFO] [stdout] 451 | indices: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `meshing::mesh::ChunkMesh::vertices`: Use faces array instead [INFO] [stdout] --> src/meshing/mesh.rs:476:13 [INFO] [stdout] | [INFO] [stdout] 476 | vertices: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `meshing::mesh::ChunkMesh::indices`: Use faces array instead [INFO] [stdout] --> src/meshing/mesh.rs:477:13 [INFO] [stdout] | [INFO] [stdout] 477 | indices: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `meshing::mesh::ChunkMesh::vertices`: Use faces array instead [INFO] [stdout] --> src/meshing/mesh.rs:582:9 [INFO] [stdout] | [INFO] [stdout] 582 | self.vertices.clear(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `meshing::mesh::ChunkMesh::indices`: Use faces array instead [INFO] [stdout] --> src/meshing/mesh.rs:583:9 [INFO] [stdout] | [INFO] [stdout] 583 | self.indices.clear(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering/rasterizer.rs:813:17 [INFO] [stdout] | [INFO] [stdout] 813 | let mut min_local = face_list.min; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering/rasterizer.rs:814:17 [INFO] [stdout] | [INFO] [stdout] 814 | let mut max_local = face_list.max; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `row_offset` [INFO] [stdout] --> src/rendering/rasterizer.rs:2051:21 [INFO] [stdout] | [INFO] [stdout] 2051 | let row_offset = y as usize * target.width(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_row_offset` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/rendering/rasterizer.rs:2376:56 [INFO] [stdout] | [INFO] [stdout] 2290 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 2376 | if let Some(idx) = unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/rendering/rasterizer.rs:2419:52 [INFO] [stdout] | [INFO] [stdout] 2290 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 2419 | if let Some(idx) = unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remainder` [INFO] [stdout] --> src/rendering/differential_projection.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | let remainder = count % 8; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `quad_local_positions` is never used [INFO] [stdout] --> src/meshing/mesh.rs:527:8 [INFO] [stdout] | [INFO] [stdout] 438 | impl ChunkMesh { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 527 | fn quad_local_positions( [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 `MAX_POLY_VERTS` is never used [INFO] [stdout] --> src/rendering/rasterizer.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const MAX_POLY_VERTS: usize = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProjectedPoint` is never constructed [INFO] [stdout] --> src/rendering/rasterizer.rs:309:8 [INFO] [stdout] | [INFO] [stdout] 309 | struct ProjectedPoint { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/rendering/rasterizer.rs:434:8 [INFO] [stdout] | [INFO] [stdout] 350 | impl Rasterizer { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 434 | fn render_mesh_into_tile_optimized( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 494 | fn render_tiny_quad_optimized( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 706 | fn clip_polygon_near(input: &[Vec4], output: &mut [Vec4; MAX_POLY_VERTS]) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 747 | fn render_convex_polygon( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1471 | fn render_triangle_from_clip( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1643 | fn render_triangle_textured_tile_optimized( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2562 | fn intersect_near_vec4(a: Vec4, b: Vec4, threshold: f32) -> Vec4 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2571 | fn clip_triangle_near_points( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Vec2` [INFO] [stdout] --> src/main.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use glam::{IVec3, Vec2, Vec3}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 17s [INFO] running `Command { std: "docker" "inspect" "81223579791eea90bfcfc965b24a6a22502f6fa469c98c80abea3454803deb6e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "81223579791eea90bfcfc965b24a6a22502f6fa469c98c80abea3454803deb6e", kill_on_drop: false }` [INFO] [stdout] 81223579791eea90bfcfc965b24a6a22502f6fa469c98c80abea3454803deb6e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }` [INFO] [stdout] 764920ba376dd2e9962c6c0954cd1294726ca0fa0ef935bba70fb00bddec7e60 [INFO] running `Command { std: "docker" "start" "-a" "764920ba376dd2e9962c6c0954cd1294726ca0fa0ef935bba70fb00bddec7e60", kill_on_drop: false }` [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_xorshift v0.3.0 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling noise v0.9.0 [INFO] [stderr] Compiling voxel_engine v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::perf::FUNCTION_COUNTERS` [INFO] [stdout] --> src/meshing/binary_greedy.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::perf::FUNCTION_COUNTERS; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::count_call` [INFO] [stdout] --> src/rendering/framebuffer.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::count_call; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::perf::FUNCTION_COUNTERS` [INFO] [stdout] --> src/rendering/rasterizer.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::perf::FUNCTION_COUNTERS; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mat4` and `Vec3` [INFO] [stdout] --> src/rendering/macrotile.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | use glam::{Mat4, Vec3}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/rendering/macrotile.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `meshing::mesh::ChunkMesh::vertices`: Use faces array instead [INFO] [stdout] --> src/meshing/mesh.rs:450:13 [INFO] [stdout] | [INFO] [stdout] 450 | vertices: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `meshing::mesh::ChunkMesh::indices`: Use faces array instead [INFO] [stdout] --> src/meshing/mesh.rs:451:13 [INFO] [stdout] | [INFO] [stdout] 451 | indices: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `meshing::mesh::ChunkMesh::vertices`: Use faces array instead [INFO] [stdout] --> src/meshing/mesh.rs:476:13 [INFO] [stdout] | [INFO] [stdout] 476 | vertices: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `meshing::mesh::ChunkMesh::indices`: Use faces array instead [INFO] [stdout] --> src/meshing/mesh.rs:477:13 [INFO] [stdout] | [INFO] [stdout] 477 | indices: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `meshing::mesh::ChunkMesh::vertices`: Use faces array instead [INFO] [stdout] --> src/meshing/mesh.rs:582:9 [INFO] [stdout] | [INFO] [stdout] 582 | self.vertices.clear(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `meshing::mesh::ChunkMesh::indices`: Use faces array instead [INFO] [stdout] --> src/meshing/mesh.rs:583:9 [INFO] [stdout] | [INFO] [stdout] 583 | self.indices.clear(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::perf::FUNCTION_COUNTERS` [INFO] [stdout] --> src/meshing/binary_greedy.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::perf::FUNCTION_COUNTERS; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::voxel::BlockType` [INFO] [stdout] --> src/meshing/mesh.rs:758:13 [INFO] [stdout] | [INFO] [stdout] 758 | use crate::voxel::BlockType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::count_call` [INFO] [stdout] --> src/rendering/framebuffer.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::count_call; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::perf::FUNCTION_COUNTERS` [INFO] [stdout] --> src/rendering/rasterizer.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::perf::FUNCTION_COUNTERS; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mat4` and `Vec3` [INFO] [stdout] --> src/rendering/macrotile.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | use glam::{Mat4, Vec3}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/rendering/macrotile.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering/rasterizer.rs:813:17 [INFO] [stdout] | [INFO] [stdout] 813 | let mut min_local = face_list.min; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering/rasterizer.rs:814:17 [INFO] [stdout] | [INFO] [stdout] 814 | let mut max_local = face_list.max; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `row_offset` [INFO] [stdout] --> src/rendering/rasterizer.rs:2051:21 [INFO] [stdout] | [INFO] [stdout] 2051 | let row_offset = y as usize * target.width(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_row_offset` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/rendering/rasterizer.rs:2376:56 [INFO] [stdout] | [INFO] [stdout] 2290 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 2376 | if let Some(idx) = unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/rendering/rasterizer.rs:2419:52 [INFO] [stdout] | [INFO] [stdout] 2290 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 2419 | if let Some(idx) = unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `meshing::mesh::ChunkMesh::vertices`: Use faces array instead [INFO] [stdout] --> src/meshing/mesh.rs:450:13 [INFO] [stdout] | [INFO] [stdout] 450 | vertices: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `meshing::mesh::ChunkMesh::indices`: Use faces array instead [INFO] [stdout] --> src/meshing/mesh.rs:451:13 [INFO] [stdout] | [INFO] [stdout] 451 | indices: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `meshing::mesh::ChunkMesh::vertices`: Use faces array instead [INFO] [stdout] --> src/meshing/mesh.rs:476:13 [INFO] [stdout] | [INFO] [stdout] 476 | vertices: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `meshing::mesh::ChunkMesh::indices`: Use faces array instead [INFO] [stdout] --> src/meshing/mesh.rs:477:13 [INFO] [stdout] | [INFO] [stdout] 477 | indices: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `meshing::mesh::ChunkMesh::vertices`: Use faces array instead [INFO] [stdout] --> src/meshing/mesh.rs:582:9 [INFO] [stdout] | [INFO] [stdout] 582 | self.vertices.clear(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `meshing::mesh::ChunkMesh::indices`: Use faces array instead [INFO] [stdout] --> src/meshing/mesh.rs:583:9 [INFO] [stdout] | [INFO] [stdout] 583 | self.indices.clear(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remainder` [INFO] [stdout] --> src/rendering/differential_projection.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | let remainder = count % 8; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `quad_local_positions` is never used [INFO] [stdout] --> src/meshing/mesh.rs:527:8 [INFO] [stdout] | [INFO] [stdout] 438 | impl ChunkMesh { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 527 | fn quad_local_positions( [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 `MAX_POLY_VERTS` is never used [INFO] [stdout] --> src/rendering/rasterizer.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const MAX_POLY_VERTS: usize = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProjectedPoint` is never constructed [INFO] [stdout] --> src/rendering/rasterizer.rs:309:8 [INFO] [stdout] | [INFO] [stdout] 309 | struct ProjectedPoint { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/rendering/rasterizer.rs:434:8 [INFO] [stdout] | [INFO] [stdout] 350 | impl Rasterizer { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 434 | fn render_mesh_into_tile_optimized( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 494 | fn render_tiny_quad_optimized( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 706 | fn clip_polygon_near(input: &[Vec4], output: &mut [Vec4; MAX_POLY_VERTS]) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 747 | fn render_convex_polygon( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1471 | fn render_triangle_from_clip( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1643 | fn render_triangle_textured_tile_optimized( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2562 | fn intersect_near_vec4(a: Vec4, b: Vec4, threshold: f32) -> Vec4 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2571 | fn clip_triangle_near_points( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering/rasterizer.rs:813:17 [INFO] [stdout] | [INFO] [stdout] 813 | let mut min_local = face_list.min; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering/rasterizer.rs:814:17 [INFO] [stdout] | [INFO] [stdout] 814 | let mut max_local = face_list.max; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `row_offset` [INFO] [stdout] --> src/rendering/rasterizer.rs:2051:21 [INFO] [stdout] | [INFO] [stdout] 2051 | let row_offset = y as usize * target.width(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_row_offset` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/rendering/rasterizer.rs:2376:56 [INFO] [stdout] | [INFO] [stdout] 2290 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 2376 | if let Some(idx) = unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/rendering/rasterizer.rs:2419:52 [INFO] [stdout] | [INFO] [stdout] 2290 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 2419 | if let Some(idx) = unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remainder` [INFO] [stdout] --> src/rendering/differential_projection.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | let remainder = count % 8; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering/packet_pipeline.rs:395:13 [INFO] [stdout] | [INFO] [stdout] 395 | let mut pipeline = PacketPipeline::new(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering/packet_pipeline.rs:415:13 [INFO] [stdout] | [INFO] [stdout] 415 | let mut pipeline = PacketPipeline::new(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering/packet_pipeline.rs:435:13 [INFO] [stdout] | [INFO] [stdout] 435 | let mut pipeline = PacketPipeline::new(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering/packet_pipeline.rs:471:13 [INFO] [stdout] | [INFO] [stdout] 471 | let mut pipeline = PacketPipeline::new(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering/macrotile.rs:392:13 [INFO] [stdout] | [INFO] [stdout] 392 | let mut bins = MacroTileBins::new(1280, 720); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProjectedPoint` is never constructed [INFO] [stdout] --> src/rendering/rasterizer.rs:309:8 [INFO] [stdout] | [INFO] [stdout] 309 | struct ProjectedPoint { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `render_mesh_into_tile_optimized`, `render_tiny_quad_optimized`, and `render_triangle_textured_tile_optimized` are never used [INFO] [stdout] --> src/rendering/rasterizer.rs:434:8 [INFO] [stdout] | [INFO] [stdout] 350 | impl Rasterizer { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 434 | fn render_mesh_into_tile_optimized( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 494 | fn render_tiny_quad_optimized( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1643 | fn render_triangle_textured_tile_optimized( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Chunk` [INFO] [stdout] --> tests/horizon_culling_extended_tests.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | voxel::{Chunk, CHUNK_SIZE}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> tests/horizon_culling_extended_tests.rs:172:48 [INFO] [stdout] | [INFO] [stdout] 172 | let height = if z < 4 { 0 } else { (z - 3) }; [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 172 - let height = if z < 4 { 0 } else { (z - 3) }; [INFO] [stdout] 172 + let height = if z < 4 { 0 } else { z - 3 }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `camera::Camera` [INFO] [stdout] --> tests/horizon_culling_same_height_tests.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | camera::Camera, [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: `chunk_center_y` [INFO] [stdout] --> tests/horizon_culling_same_height_tests.rs:221:9 [INFO] [stdout] | [INFO] [stdout] 221 | let chunk_center_y = 16.0; // Center of Y=0 chunk [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk_center_y` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SCREEN_WIDTH` is never used [INFO] [stdout] --> tests/horizon_culling_same_height_tests.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const SCREEN_WIDTH: usize = 1280; [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 `SCREEN_HEIGHT` is never used [INFO] [stdout] --> tests/horizon_culling_same_height_tests.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const SCREEN_HEIGHT: usize = 720; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `camera` is assigned to, but never used [INFO] [stdout] --> tests/horizon_culling_extended_tests.rs:224:9 [INFO] [stdout] | [INFO] [stdout] 224 | let mut camera = Camera::new(camera_pos, SCREEN_WIDTH as f32 / SCREEN_HEIGHT as f32); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_camera` instead [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `camera` is never read [INFO] [stdout] --> tests/horizon_culling_extended_tests.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | camera.pitch = -0.5; // Looking down ~28 degrees [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `camera` is assigned to, but never used [INFO] [stdout] --> tests/horizon_culling_extended_tests.rs:505:9 [INFO] [stdout] | [INFO] [stdout] 505 | let mut camera = Camera::new(camera_pos, SCREEN_WIDTH as f32 / SCREEN_HEIGHT as f32); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_camera` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `camera` is never read [INFO] [stdout] --> tests/horizon_culling_extended_tests.rs:506:5 [INFO] [stdout] | [INFO] [stdout] 506 | camera.pitch = -0.2; // Slightly downward [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `camera` is never read [INFO] [stdout] --> tests/horizon_culling_extended_tests.rs:507:5 [INFO] [stdout] | [INFO] [stdout] 507 | camera.yaw = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `position` is never read [INFO] [stdout] --> tests/horizon_culling_extended_tests.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 14 | struct TestChunk { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 15 | position: Vec3, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TestChunk` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `chunk_coords` is never read [INFO] [stdout] --> tests/horizon_culling_extended_tests.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 108 | struct HorizonDiagnostic { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] 109 | chunk_coords: (i32, i32, i32), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HorizonDiagnostic` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Vec2` [INFO] [stdout] --> src/main.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use glam::{IVec3, Vec2, Vec3}; [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: `glam::Vec3` [INFO] [stdout] --> tests/shading_tests.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use glam::Vec3; [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: `ve::meshing::mesh::F32x3` [INFO] [stdout] --> tests/shading_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use ve::meshing::mesh::F32x3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `camera_pos` [INFO] [stdout] --> tests/horizon_movement_analysis.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | let camera_pos = Vec3::new(0.0, camera_y, 0.0); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera_pos` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `terrain_y` [INFO] [stdout] --> tests/horizon_movement_analysis.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 196 | let terrain_y = 0; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_terrain_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/horizon_culling_pipeline_movement_tests.rs:227:13 [INFO] [stdout] | [INFO] [stdout] 227 | let mut camera = Camera::new(*pos, aspect); [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: `bin` [INFO] [stdout] --> tests/horizon_movement_analysis.rs:252:23 [INFO] [stdout] | [INFO] [stdout] 252 | for (i, (visible, bin, slope, horizon, _)) in results1.iter().enumerate() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bin` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bin` [INFO] [stdout] --> tests/horizon_movement_analysis.rs:264:23 [INFO] [stdout] | [INFO] [stdout] 264 | for (i, (visible, bin, slope, horizon, _)) in results2.iter().enumerate() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bin` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/horizon_culling_tests.rs:168:9 [INFO] [stdout] | [INFO] [stdout] 168 | let mut camera = Camera::new(camera_pos, SCREEN_WIDTH as f32 / SCREEN_HEIGHT as f32); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/horizon_culling_tests.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 205 | let mut camera = Camera::new(camera_pos, SCREEN_WIDTH as f32 / SCREEN_HEIGHT as f32); // Looking along +Z [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/horizon_culling_tests.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | let mut chunks = vec![ [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `camera` [INFO] [stdout] --> tests/horizon_culling_tests.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 205 | let mut camera = Camera::new(camera_pos, SCREEN_WIDTH as f32 / SCREEN_HEIGHT as f32); // Looking along +Z [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Vec2` [INFO] [stdout] --> src/main.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use glam::{IVec3, Vec2, Vec3}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `position` and `should_be_visible` are never read [INFO] [stdout] --> tests/horizon_culling_tests.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 20 | struct TestChunk { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 21 | position: Vec3, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | should_be_visible: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TestChunk` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 11.78s [INFO] running `Command { std: "docker" "inspect" "764920ba376dd2e9962c6c0954cd1294726ca0fa0ef935bba70fb00bddec7e60", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "764920ba376dd2e9962c6c0954cd1294726ca0fa0ef935bba70fb00bddec7e60", kill_on_drop: false }` [INFO] [stdout] 764920ba376dd2e9962c6c0954cd1294726ca0fa0ef935bba70fb00bddec7e60 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }` [INFO] [stdout] 4a3b75ee89982e21db290c8dae2b99b0a5c98d083fec0ac0a21fa9f22453929f [INFO] running `Command { std: "docker" "start" "-a" "4a3b75ee89982e21db290c8dae2b99b0a5c98d083fec0ac0a21fa9f22453929f", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `crate::perf::FUNCTION_COUNTERS` [INFO] [stderr] --> src/meshing/binary_greedy.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::perf::FUNCTION_COUNTERS; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::count_call` [INFO] [stderr] --> src/rendering/framebuffer.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::count_call; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::perf::FUNCTION_COUNTERS` [INFO] [stderr] --> src/rendering/rasterizer.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::perf::FUNCTION_COUNTERS; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Mat4` and `Vec3` [INFO] [stderr] --> src/rendering/macrotile.rs:15:12 [INFO] [stderr] | [INFO] [stderr] 15 | use glam::{Mat4, Vec3}; [INFO] [stderr] | ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/rendering/macrotile.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated field `meshing::mesh::ChunkMesh::vertices`: Use faces array instead [INFO] [stderr] --> src/meshing/mesh.rs:450:13 [INFO] [stderr] | [INFO] [stderr] 450 | vertices: Vec::new(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated field `meshing::mesh::ChunkMesh::indices`: Use faces array instead [INFO] [stderr] --> src/meshing/mesh.rs:451:13 [INFO] [stderr] | [INFO] [stderr] 451 | indices: Vec::new(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated field `meshing::mesh::ChunkMesh::vertices`: Use faces array instead [INFO] [stderr] --> src/meshing/mesh.rs:476:13 [INFO] [stderr] | [INFO] [stderr] 476 | vertices: Vec::new(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated field `meshing::mesh::ChunkMesh::indices`: Use faces array instead [INFO] [stderr] --> src/meshing/mesh.rs:477:13 [INFO] [stderr] | [INFO] [stderr] 477 | indices: Vec::new(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated field `meshing::mesh::ChunkMesh::vertices`: Use faces array instead [INFO] [stderr] --> src/meshing/mesh.rs:582:9 [INFO] [stderr] | [INFO] [stderr] 582 | self.vertices.clear(); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated field `meshing::mesh::ChunkMesh::indices`: Use faces array instead [INFO] [stderr] --> src/meshing/mesh.rs:583:9 [INFO] [stderr] | [INFO] [stderr] 583 | self.indices.clear(); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering/rasterizer.rs:813:17 [INFO] [stderr] | [INFO] [stderr] 813 | let mut min_local = face_list.min; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering/rasterizer.rs:814:17 [INFO] [stderr] | [INFO] [stderr] 814 | let mut max_local = face_list.max; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `row_offset` [INFO] [stderr] --> src/rendering/rasterizer.rs:2051:21 [INFO] [stderr] | [INFO] [stderr] 2051 | let row_offset = y as usize * target.width(); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_row_offset` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/rendering/rasterizer.rs:2376:56 [INFO] [stderr] | [INFO] [stderr] 2290 | unsafe { [INFO] [stderr] | ------ because it's nested under this `unsafe` block [INFO] [stderr] ... [INFO] [stderr] 2376 | if let Some(idx) = unsafe { [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/rendering/rasterizer.rs:2419:52 [INFO] [stderr] | [INFO] [stderr] 2290 | unsafe { [INFO] [stderr] | ------ because it's nested under this `unsafe` block [INFO] [stderr] ... [INFO] [stderr] 2419 | if let Some(idx) = unsafe { [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] [INFO] [stderr] warning: unused variable: `remainder` [INFO] [stderr] --> src/rendering/differential_projection.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | let remainder = count % 8; [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stderr] [INFO] [stderr] warning: associated function `quad_local_positions` is never used [INFO] [stderr] --> src/meshing/mesh.rs:527:8 [INFO] [stderr] | [INFO] [stderr] 438 | impl ChunkMesh { [INFO] [stderr] | -------------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 527 | fn quad_local_positions( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: constant `MAX_POLY_VERTS` is never used [INFO] [stderr] --> src/rendering/rasterizer.rs:17:7 [INFO] [stderr] | [INFO] [stderr] 17 | const MAX_POLY_VERTS: usize = 8; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ProjectedPoint` is never constructed [INFO] [stderr] --> src/rendering/rasterizer.rs:309:8 [INFO] [stderr] | [INFO] [stderr] 309 | struct ProjectedPoint { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/rendering/rasterizer.rs:434:8 [INFO] [stderr] | [INFO] [stderr] 350 | impl Rasterizer { [INFO] [stderr] | --------------- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 434 | fn render_mesh_into_tile_optimized( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 494 | fn render_tiny_quad_optimized( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 706 | fn clip_polygon_near(input: &[Vec4], output: &mut [Vec4; MAX_POLY_VERTS]) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 747 | fn render_convex_polygon( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1471 | fn render_triangle_from_clip( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1643 | fn render_triangle_textured_tile_optimized( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 2562 | fn intersect_near_vec4(a: Vec4, b: Vec4, threshold: f32) -> Vec4 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 2571 | fn clip_triangle_near_points( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::voxel::BlockType` [INFO] [stderr] --> src/meshing/mesh.rs:758:13 [INFO] [stderr] | [INFO] [stderr] 758 | use crate::voxel::BlockType; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering/packet_pipeline.rs:395:13 [INFO] [stderr] | [INFO] [stderr] 395 | let mut pipeline = PacketPipeline::new(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering/packet_pipeline.rs:415:13 [INFO] [stderr] | [INFO] [stderr] 415 | let mut pipeline = PacketPipeline::new(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering/packet_pipeline.rs:435:13 [INFO] [stderr] | [INFO] [stderr] 435 | let mut pipeline = PacketPipeline::new(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering/packet_pipeline.rs:471:13 [INFO] [stderr] | [INFO] [stderr] 471 | let mut pipeline = PacketPipeline::new(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering/macrotile.rs:392:13 [INFO] [stderr] | [INFO] [stderr] 392 | let mut bins = MacroTileBins::new(1280, 720); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct `ProjectedPoint` is never constructed [INFO] [stderr] --> src/rendering/rasterizer.rs:309:8 [INFO] [stderr] | [INFO] [stderr] 309 | struct ProjectedPoint { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: methods `render_mesh_into_tile_optimized`, `render_tiny_quad_optimized`, and `render_triangle_textured_tile_optimized` are never used [INFO] [stderr] --> src/rendering/rasterizer.rs:434:8 [INFO] [stderr] | [INFO] [stderr] 350 | impl Rasterizer { [INFO] [stderr] | --------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 434 | fn render_mesh_into_tile_optimized( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 494 | fn render_tiny_quad_optimized( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1643 | fn render_triangle_textured_tile_optimized( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `voxel_engine` (lib) generated 21 warnings (run `cargo fix --lib -p voxel_engine` to apply 9 suggestions) [INFO] [stderr] warning: `voxel_engine` (lib test) generated 25 warnings (17 duplicates) (run `cargo fix --lib -p voxel_engine --tests` to apply 6 suggestions) [INFO] [stderr] warning: unused import: `Chunk` [INFO] [stderr] --> tests/horizon_culling_extended_tests.rs:7:13 [INFO] [stderr] | [INFO] [stderr] 7 | voxel::{Chunk, CHUNK_SIZE}, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> tests/horizon_culling_extended_tests.rs:172:48 [INFO] [stderr] | [INFO] [stderr] 172 | let height = if z < 4 { 0 } else { (z - 3) }; [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 172 - let height = if z < 4 { 0 } else { (z - 3) }; [INFO] [stderr] 172 + let height = if z < 4 { 0 } else { z - 3 }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: variable `camera` is assigned to, but never used [INFO] [stderr] --> tests/horizon_culling_extended_tests.rs:224:9 [INFO] [stderr] | [INFO] [stderr] 224 | let mut camera = Camera::new(camera_pos, SCREEN_WIDTH as f32 / SCREEN_HEIGHT as f32); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_camera` instead [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `camera` is never read [INFO] [stderr] --> tests/horizon_culling_extended_tests.rs:225:5 [INFO] [stderr] | [INFO] [stderr] 225 | camera.pitch = -0.5; // Looking down ~28 degrees [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable `camera` is assigned to, but never used [INFO] [stderr] --> tests/horizon_culling_extended_tests.rs:505:9 [INFO] [stderr] | [INFO] [stderr] 505 | let mut camera = Camera::new(camera_pos, SCREEN_WIDTH as f32 / SCREEN_HEIGHT as f32); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_camera` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `camera` is never read [INFO] [stderr] --> tests/horizon_culling_extended_tests.rs:506:5 [INFO] [stderr] | [INFO] [stderr] 506 | camera.pitch = -0.2; // Slightly downward [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `camera` is never read [INFO] [stderr] --> tests/horizon_culling_extended_tests.rs:507:5 [INFO] [stderr] | [INFO] [stderr] 507 | camera.yaw = 0.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: field `position` is never read [INFO] [stderr] --> tests/horizon_culling_extended_tests.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 14 | struct TestChunk { [INFO] [stderr] | --------- field in this struct [INFO] [stderr] 15 | position: Vec3, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `TestChunk` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `chunk_coords` is never read [INFO] [stderr] --> tests/horizon_culling_extended_tests.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 108 | struct HorizonDiagnostic { [INFO] [stderr] | ----------------- field in this struct [INFO] [stderr] 109 | chunk_coords: (i32, i32, i32), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `HorizonDiagnostic` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: unused import: `Vec2` [INFO] [stderr] --> src/main.rs:3:19 [INFO] [stderr] | [INFO] [stderr] 3 | use glam::{IVec3, Vec2, Vec3}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `camera::Camera` [INFO] [stderr] --> tests/horizon_culling_same_height_tests.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | camera::Camera, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `chunk_center_y` [INFO] [stderr] --> tests/horizon_culling_same_height_tests.rs:221:9 [INFO] [stderr] | [INFO] [stderr] 221 | let chunk_center_y = 16.0; // Center of Y=0 chunk [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk_center_y` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: constant `SCREEN_WIDTH` is never used [INFO] [stderr] --> tests/horizon_culling_same_height_tests.rs:10:7 [INFO] [stderr] | [INFO] [stderr] 10 | const SCREEN_WIDTH: usize = 1280; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: constant `SCREEN_HEIGHT` is never used [INFO] [stderr] --> tests/horizon_culling_same_height_tests.rs:11:7 [INFO] [stderr] | [INFO] [stderr] 11 | const SCREEN_HEIGHT: usize = 720; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/horizon_culling_pipeline_movement_tests.rs:227:13 [INFO] [stderr] | [INFO] [stderr] 227 | let mut camera = Camera::new(*pos, aspect); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/horizon_culling_tests.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | let mut camera = Camera::new(camera_pos, SCREEN_WIDTH as f32 / SCREEN_HEIGHT as f32); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/horizon_culling_tests.rs:205:9 [INFO] [stderr] | [INFO] [stderr] 205 | let mut camera = Camera::new(camera_pos, SCREEN_WIDTH as f32 / SCREEN_HEIGHT as f32); // Looking along +Z [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/horizon_culling_tests.rs:207:9 [INFO] [stderr] | [INFO] [stderr] 207 | let mut chunks = vec![ [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `camera` [INFO] [stderr] --> tests/horizon_culling_tests.rs:205:9 [INFO] [stderr] | [INFO] [stderr] 205 | let mut camera = Camera::new(camera_pos, SCREEN_WIDTH as f32 / SCREEN_HEIGHT as f32); // Looking along +Z [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `position` and `should_be_visible` are never read [INFO] [stderr] --> tests/horizon_culling_tests.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 20 | struct TestChunk { [INFO] [stderr] | --------- fields in this struct [INFO] [stderr] 21 | position: Vec3, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 24 | should_be_visible: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `TestChunk` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `glam::Vec3` [INFO] [stderr] --> tests/shading_tests.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use glam::Vec3; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `ve::meshing::mesh::F32x3` [INFO] [stderr] --> tests/shading_tests.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use ve::meshing::mesh::F32x3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `voxel_engine` (test "horizon_culling_extended_tests") generated 9 warnings (run `cargo fix --test "horizon_culling_extended_tests" -p voxel_engine` to apply 2 suggestions) [INFO] [stderr] warning: `voxel_engine` (bin "voxel_engine") generated 1 warning (run `cargo fix --bin "voxel_engine" -p voxel_engine` to apply 1 suggestion) [INFO] [stderr] warning: `voxel_engine` (test "horizon_culling_same_height_tests") generated 4 warnings (run `cargo fix --test "horizon_culling_same_height_tests" -p voxel_engine` to apply 2 suggestions) [INFO] [stderr] warning: `voxel_engine` (test "horizon_culling_pipeline_movement_tests") generated 1 warning (run `cargo fix --test "horizon_culling_pipeline_movement_tests" -p voxel_engine` to apply 1 suggestion) [INFO] [stderr] warning: `voxel_engine` (test "horizon_culling_tests") generated 5 warnings (run `cargo fix --test "horizon_culling_tests" -p voxel_engine` to apply 4 suggestions) [INFO] [stderr] warning: `voxel_engine` (test "shading_tests") generated 2 warnings (run `cargo fix --test "shading_tests" -p voxel_engine` to apply 2 suggestions) [INFO] [stderr] warning: unused variable: `camera_pos` [INFO] [stderr] --> tests/horizon_movement_analysis.rs:148:9 [INFO] [stderr] | [INFO] [stderr] 148 | let camera_pos = Vec3::new(0.0, camera_y, 0.0); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera_pos` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `terrain_y` [INFO] [stderr] --> tests/horizon_movement_analysis.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 196 | let terrain_y = 0; [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_terrain_y` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bin` [INFO] [stderr] --> tests/horizon_movement_analysis.rs:252:23 [INFO] [stderr] | [INFO] [stderr] 252 | for (i, (visible, bin, slope, horizon, _)) in results1.iter().enumerate() { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_bin` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bin` [INFO] [stderr] --> tests/horizon_movement_analysis.rs:264:23 [INFO] [stderr] | [INFO] [stderr] 264 | for (i, (visible, bin, slope, horizon, _)) in results2.iter().enumerate() { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_bin` [INFO] [stderr] [INFO] [stderr] warning: `voxel_engine` (bin "voxel_engine" test) generated 1 warning (1 duplicate) [INFO] [stderr] warning: `voxel_engine` (test "horizon_movement_analysis") generated 4 warnings (run `cargo fix --test "horizon_movement_analysis" -p voxel_engine` to apply 4 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.28s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/build/voxel_engine/ae907d6fb16bdfcc/deps/voxel_engine-ae907d6fb16bdfcc) [INFO] [stdout] [INFO] [stdout] running 63 tests [INFO] [stdout] test meshing::binary_greedy::tests::test_greedy_mesh_vertical_line ... ok [INFO] [stdout] test meshing::binary_greedy::tests::test_greedy_mesh_single ... ok [INFO] [stdout] test meshing::binary_greedy::tests::test_greedy_mesh_rectangle ... ok [INFO] [stdout] test meshing::binary_greedy::tests::test_greedy_mesh_empty ... ok [INFO] [stdout] test camera::tests::frustum_culls_box_behind_camera ... ok [INFO] [stdout] test meshing::mesh::tests::test_tiny_quad_size ... ok [INFO] [stdout] test meshing::mesh::tests::test_tiny_quad_vertex_positions_match_legacy ... ok [INFO] [stdout] test rendering::differential_projection::tests::test_face_coordinate_system_pos_y ... ok [INFO] [stdout] test rendering::differential_projection::tests::test_project_point_identity ... ok [INFO] [stdout] test rendering::differential_projection::tests::test_basis_vectors_orthogonal ... ok [INFO] [stdout] test meshing::face_packets::tests::single_voxel_generates_single_entry_packets ... ok [INFO] [stdout] test meshing::face_packets::tests::packets_flush_after_capacity ... ok [INFO] [stdout] test meshing::mesh::tests::test_tiny_quad_boundary_values ... ok [INFO] [stdout] test meshing::mesh::tests::test_face_list_operations ... ok [INFO] [stdout] test meshing::mesh::tests::test_tiny_quad_packing ... ok [INFO] [stdout] test rendering::macrotile::tests::test_macrotile_clear ... ok [INFO] [stdout] test meshing::mesh::tests::test_slice_position_offset_for_positive_faces ... ok [INFO] [stdout] test rendering::hiz_buffer::tests::test_morton_decoding ... ok [INFO] [stdout] test rendering::macrotile::tests::test_mesh_binning_crosses_tiles ... ok [INFO] [stdout] test rendering::macrotile::tests::test_mesh_binning_small_mesh ... ok [INFO] [stdout] test rendering::macrotile::tests::test_macrotile_creation ... ok [INFO] [stdout] test rendering::packet_pipeline::tests::test_basis_caching ... ok [INFO] [stdout] test rendering::packet_pipeline::tests::test_frustum_culling_all_inside ... ok [INFO] [stdout] test rendering::macrotile::tests::test_thread_local_bins_merge ... ok [INFO] [stdout] test rendering::rasterizer::tests::degenerate_polygon_is_skipped ... ok [INFO] [stdout] test rendering::hiz_buffer::tests::test_morton_encoding ... ok [INFO] [stdout] test rendering::macrotile::tests::test_macrotile_depth_test ... ok [INFO] [stdout] test rendering::macrotile::tests::test_large_primitive_bypass ... ok [INFO] [stdout] test rendering::packet_pipeline::tests::test_simd_frustum_culling_matches_scalar ... ok [INFO] [stdout] test rendering::rasterizer::tests::quad_crossing_near_plane_is_clipped_and_drawn ... ok [INFO] [stdout] test rendering::rasterizer::tests::triangle_crossing_near_plane_is_clipped_and_drawn ... ok [INFO] [stdout] test rendering::rasterizer::tests::triangle_fully_behind_near_plane_is_rejected ... ok [INFO] [stdout] test rendering::simd_vertex::tests::test_simd_matches_scalar ... ok [INFO] [stdout] test rendering::simd_vertex::tests::test_simd_with_various_batch_sizes ... ok [INFO] [stdout] test rendering::packet_pipeline::tests::test_frustum_culling_all_outside ... ok [INFO] [stdout] test rendering::span_walker::tests::test_fill_span_branchless_depth_test ... ok [INFO] [stdout] test rendering::packet_pipeline::tests::test_frustum_culling_partial ... ok [INFO] [stdout] test rendering::span_walker::tests::test_fill_span_branchless_partial_occlusion ... ok [INFO] [stdout] test rendering::macrotile_renderer::tests::test_macrotile_pixel_target ... ok [INFO] [stdout] test rendering::span_walker::tests::test_simd_span_fill_matches_scalar ... ok [INFO] [stdout] test rendering::span_walker::tests::test_span_fill_basic ... ok [INFO] [stdout] test rendering::span_walker::tests::test_span_fill_depth_test ... ok [INFO] [stdout] test rendering::packet_pipeline::tests::test_pipeline_basic ... ok [INFO] [stdout] test rendering::span_walker::tests::test_trapezoid_batch_active_mask ... ok [INFO] [stdout] test rendering::span_walker::tests::test_span_walker_simple_quad ... ok [INFO] [stdout] test rendering::span_walker::tests::test_fill_span_branchless_unaligned ... ok [INFO] [stdout] test rendering::span_walker::tests::test_rasterize_batch_avx2_overlapping_depth ... ok [INFO] [stdout] test rendering::span_walker::tests::test_rasterize_batch_avx2_with_slopes ... ok [INFO] [stdout] test rendering::hiz_buffer::tests::test_hiz_occlusion_test ... ok [INFO] [stdout] test rendering::hiz_buffer::tests::test_hiz_buffer_creation ... ok [INFO] [stdout] test rendering::span_walker::tests::test_rasterize_batch_avx2_single_trapezoid ... ok [INFO] [stdout] test rendering::hiz_buffer::tests::test_morton_spatial_locality ... ok [INFO] [stdout] test rendering::macrotile::tests::test_binning_system ... ok [INFO] [stdout] test rendering::hiz_buffer::tests::test_hiz_buffer_clear ... ok [INFO] [stdout] test rendering::span_walker::tests::test_fill_span_branchless_matches_scalar ... ok [INFO] [stdout] test rendering::hiz_buffer::tests::test_hiz_conservative_depth ... ok [INFO] [stdout] test rendering::hiz_buffer::tests::test_hiz_hierarchical_rejection ... ok [INFO] [stdout] test world::tests::test_world_to_chunk_pos ... ok [INFO] [stdout] test rendering::span_walker::tests::test_trapezoid_batch_creation ... ok [INFO] [stdout] test rendering::span_walker::tests::test_rasterize_batch_avx2_full_batch ... ok [INFO] [stdout] test world::tests::test_world_generation ... ok [INFO] [stdout] test world::tests::test_update_streams_chunks_until_view_filled ... ok [INFO] [stdout] test world::tests::test_view_distance_culling ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 63 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.44s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/build/voxel_engine/dde6b973695459c5/deps/voxel_engine-dde6b973695459c5) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/differential_projection_tests.rs (/opt/rustwide/target/debug/build/voxel_engine/490a9262db6bd809/deps/differential_projection_tests-490a9262db6bd809) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test test_all_face_directions ... ok [INFO] [stdout] test test_basis_vectors_match_full_transform ... ok [INFO] [stdout] test test_backface_culling ... ok [INFO] [stdout] test test_projection_multiple_slices ... ok [INFO] [stdout] test test_simd_projection_with_realistic_view ... ok [INFO] [stdout] test test_simd_projection_matches_scalar ... ok [INFO] [stdout] test test_projection_with_chunk_mesh ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/fast_perspective_divide_tests.rs (/opt/rustwide/target/debug/build/voxel_engine/49a3a787ad9e0c13/deps/fast_perspective_divide_tests-49a3a787ad9e0c13) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test test_fast_reciprocal_accuracy ... ok [INFO] [stdout] test test_fast_divide_in_projection_context ... ok [INFO] [stderr] Running tests/horizon_culling_extended_tests.rs (/opt/rustwide/target/debug/build/voxel_engine/bf8120cdbee7a458/deps/horizon_culling_extended_tests-bf8120cdbee7a458) [INFO] [stdout] test test_batched_perspective_divide ... ok [INFO] [stdout] test test_fast_reciprocal_edge_cases ... ok [INFO] [stdout] test test_perspective_divide_precision ... ok [INFO] [stdout] test test_fast_reciprocal_performance_characteristics ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test test_adjacent_chunks_same_height ... ok [INFO] [stdout] test test_camera_pitch_downward ... ok [INFO] [stdout] test test_hillside_chunks_at_different_angles ... ok [INFO] [stdout] test test_horizon_update_order ... ok [INFO] [stdout] test test_bin_boundary_adjacent_chunks ... ok [INFO] [stdout] test test_terrain_with_small_elevation_changes ... ok [INFO] [stdout] test test_margin_too_aggressive ... ok [INFO] [stdout] test test_realistic_camera_scenario ... ok [INFO] [stdout] test test_slope_calculation_precision ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/horizon_culling_fix_validation.rs (/opt/rustwide/target/debug/build/voxel_engine/06dca0b765906819/deps/horizon_culling_fix_validation-06dca0b765906819) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test test_center_vs_top_slope_comparison ... ok [INFO] [stdout] test test_fix_distance_based_margin ... ok [INFO] [stdout] test test_fix_minimum_distance_prevents_near_chunk_domination ... ok [INFO] [stdout] test test_fix_flat_terrain_no_culling ... ok [INFO] [stdout] test test_fix_still_culls_actual_occlusion ... ok [INFO] [stdout] test test_fix_movement_stability ... ok [INFO] [stdout] test test_fix_camera_below_terrain ... ok [INFO] [stdout] test test_no_popping_regression ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/horizon_culling_pipeline_movement_tests.rs (/opt/rustwide/target/debug/build/voxel_engine/8fa61812fcba7a8b/deps/horizon_culling_pipeline_movement_tests-8fa61812fcba7a8b) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test horizon_culling_does_not_remove_visible_pixels_during_movement ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 17.13s [INFO] [stdout] [INFO] [stderr] Running tests/horizon_culling_reproduction_test.rs (/opt/rustwide/target/debug/build/voxel_engine/896a1d3b79afef63/deps/horizon_culling_reproduction_test-896a1d3b79afef63) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test test_camera_slightly_above_terrain ... ok [INFO] [stdout] test test_camera_height_sweep ... ok [INFO] [stdout] test test_exact_screenshot_scenario ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/horizon_culling_same_height_tests.rs (/opt/rustwide/target/debug/build/voxel_engine/69457dcd28de54ad/deps/horizon_culling_same_height_tests-69457dcd28de54ad) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test test_camera_below_terrain_height ... ok [INFO] [stdout] test test_camera_at_terrain_height ... ok [INFO] [stdout] test test_near_chunk_establishes_bad_horizon ... ok [INFO] [stdout] test test_margin_effect_at_same_height ... ok [INFO] [stdout] test test_slope_precision_at_same_height ... ok [INFO] [stdout] test test_realistic_player_on_ground ... ok [INFO] [stdout] test test_solution_use_center_not_top ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/horizon_culling_tests.rs (/opt/rustwide/target/debug/build/voxel_engine/75dee4090b1d71fc/deps/horizon_culling_tests-75dee4090b1d71fc) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test test_bin_calculation_consistency ... ok [INFO] [stdout] test test_horizon_culling_bin_boundary ... ok [INFO] [stdout] test test_horizon_culling_concave_terrain ... ok [INFO] [stdout] test test_horizon_culling_edge_case_camera_rotation ... ok [INFO] [stdout] test test_horizon_culling_hill_scenario ... ok [INFO] [stdout] test test_horizon_culling_negative_slope ... ok [INFO] [stdout] test test_horizon_culling_vs_ground_truth ... ignored [INFO] [stdout] test test_horizon_culling_very_close_chunks ... ok [INFO] [stdout] test test_margin_effect ... ok [INFO] [stdout] test test_horizon_culling_flat_terrain ... ok [INFO] [stdout] test test_slope_calculation_edge_cases ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/horizon_movement_analysis.rs (/opt/rustwide/target/debug/build/voxel_engine/136638730da7147e/deps/horizon_movement_analysis-136638730da7147e) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test test_fundamental_problem_diagnosis ... ok [INFO] [stdout] test test_near_chunk_poisons_horizon_for_movement ... ok [INFO] [stdout] test test_rotation_vs_movement_stability ... ok [INFO] [stdout] test test_slope_calculation_with_distance_change ... ok [INFO] [stdout] test test_solution_distance_based_margin ... ok [INFO] [stdout] test test_solution_hysteresis ... ok [INFO] [stdout] test test_horizontal_movement_causes_slope_changes ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/meshing_tests.rs (/opt/rustwide/target/debug/build/voxel_engine/4ba097138a84db96/deps/meshing_tests-4ba097138a84db96) [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test test_quad_winding_matches_face_normal ... ok [INFO] [stdout] test test_uniform_air_chunk_generates_no_mesh ... ok [INFO] [stdout] test test_uniform_solid_chunk_generates_no_mesh ... ok [INFO] [stdout] test test_internal_faces_are_culled ... ok [INFO] [stdout] test test_greedy_meshing_merges_quads ... ok [INFO] [stdout] test test_greedy_meshing_respects_block_types ... ok [INFO] [stdout] test test_color_matches_block_type ... ok [INFO] [stdout] test test_face_positions_are_correct ... ok [INFO] [stdout] test test_top_face_of_surface_voxel ... ok [INFO] [stdout] test test_bottom_face_of_floating_voxel ... ok [INFO] [stdout] test test_single_voxel_generates_six_faces ... ok [INFO] [stdout] test test_stacked_voxels_face_positions ... ok [INFO] [stdout] test test_vertex_normals_match_face_direction ... ok [INFO] [stdout] test test_world_offset_applied_correctly ... ok [INFO] [stdout] test test_internal_faces_between_adjacent_chunks_are_culled ... ok [INFO] [stdout] test test_stale_mesh_keeps_boundary_faces_when_neighbor_added ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/rasterizer_gap_test.rs (/opt/rustwide/target/debug/build/voxel_engine/7eb9d5666ae17bab/deps/rasterizer_gap_test-7eb9d5666ae17bab) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test test_pixel_center_coverage ... ok [INFO] [stdout] test test_scanline_range_calculation ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/rasterizer_slice_gap_test.rs (/opt/rustwide/target/debug/build/voxel_engine/fc73007917ce0d63/deps/rasterizer_slice_gap_test-fc73007917ce0d63) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test test_slice_boundary_calculation ... ok [INFO] [stdout] test test_slice_boundary_gap ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/rasterizer_x_gap_test.rs (/opt/rustwide/target/debug/build/voxel_engine/e4afafb9d5327382/deps/rasterizer_x_gap_test-e4afafb9d5327382) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test test_rasterizer_x_span_gap_bug ... ok [INFO] [stdout] test test_multiple_gap_scenarios ... ok [INFO] [stdout] test test_y_span_gap_bug ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/rendering_pipeline_tests.rs (/opt/rustwide/target/debug/build/voxel_engine/b58294cfb9a6961e/deps/rendering_pipeline_tests-b58294cfb9a6961e) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test render_single_voxel_writes_pixels ... ok [INFO] [stdout] test span_renderer_matches_barycentric_row_coverage ... ok [INFO] [stdout] test sub_pixel_culling_rejects_distant_geometry ... ok [INFO] [stdout] test sub_pixel_culling_preserves_close_geometry ... ok [INFO] [stdout] test sub_pixel_triangle_culling_preserves_visual_quality ... ok [INFO] [stdout] test render_small_world_smoke_test ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s [INFO] [stdout] [INFO] [stderr] Running tests/shading_tests.rs (/opt/rustwide/target/debug/build/voxel_engine/5705e54fea9955c9/deps/shading_tests-5705e54fea9955c9) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test test_shading_brighter_when_facing_light ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/span_walker_bug_reproduction.rs (/opt/rustwide/target/debug/build/voxel_engine/320d8cf59005e839/deps/span_walker_bug_reproduction-320d8cf59005e839) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test test_vertical_gap_bug ... ok [INFO] [stdout] test test_combined_fractional_and_gap ... ok [INFO] [stdout] test test_fractional_start_y_bug ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/span_walker_differential_tests.rs (/opt/rustwide/target/debug/build/voxel_engine/7780f2bcb253e8bf/deps/span_walker_differential_tests-7780f2bcb253e8bf) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test test_all_invisible ... ok [INFO] [stdout] test test_depth_testing ... ok [INFO] [stdout] test test_screen_boundary_clipping ... ok [INFO] [stdout] test test_empty_packet ... ok [INFO] [stdout] test test_visibility_mask ... ok [INFO] [stdout] test test_single_quad_fills_correctly ... ok [INFO] [stdout] test test_multiple_quads_in_packet ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/span_walker_fuzz_tests.rs (/opt/rustwide/target/debug/build/voxel_engine/124f387920570525/deps/span_walker_fuzz_tests-124f387920570525) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test test_span_walker_vs_triangle_rasterizer_fuzz ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Doc-tests voxel_engine [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "4a3b75ee89982e21db290c8dae2b99b0a5c98d083fec0ac0a21fa9f22453929f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4a3b75ee89982e21db290c8dae2b99b0a5c98d083fec0ac0a21fa9f22453929f", kill_on_drop: false }` [INFO] [stdout] 4a3b75ee89982e21db290c8dae2b99b0a5c98d083fec0ac0a21fa9f22453929f