[INFO] cloning repository https://github.com/jrdnrs/software-3d
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jrdnrs/software-3d" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjrdnrs%2Fsoftware-3d", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjrdnrs%2Fsoftware-3d'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 417025309528e2ed85b4f275dcc3b0ef9a1ccead
[INFO] building jrdnrs/software-3d against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjrdnrs%2Fsoftware-3d" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jrdnrs/software-3d
[INFO] finished tweaking git repo https://github.com/jrdnrs/software-3d
[INFO] tweaked toml for git repo https://github.com/jrdnrs/software-3d written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jrdnrs/software-3d on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jrdnrs/software-3d 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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/jrdnrs/collections-rs.git`
[INFO] [stderr]     Updating git repository `https://github.com/jrdnrs/maths-rs.git`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded xcursor v0.3.6
[INFO] [stderr]   Downloaded tobj v4.0.2
[INFO] [stderr]   Downloaded alsa v0.9.0
[INFO] [stderr]   Downloaded libloading v0.8.4
[INFO] [stderr]   Downloaded ab_glyph v0.2.28
[INFO] [stderr]   Downloaded owned_ttf_parser v0.24.0
[INFO] [stderr]   Downloaded ttf-parser v0.24.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 753cbcb253e1ce7797b8a6e42633a3b7b259921c3e88a089e812878cd1a7ac9d
[INFO] running `Command { std: "docker" "start" "-a" "753cbcb253e1ce7797b8a6e42633a3b7b259921c3e88a089e812878cd1a7ac9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "753cbcb253e1ce7797b8a6e42633a3b7b259921c3e88a089e812878cd1a7ac9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "753cbcb253e1ce7797b8a6e42633a3b7b259921c3e88a089e812878cd1a7ac9d", kill_on_drop: false }`
[INFO] [stdout] 753cbcb253e1ce7797b8a6e42633a3b7b259921c3e88a089e812878cd1a7ac9d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 05b2147e65113413525b8b706d3aadfa6c34cf967c2e2defbc6c0677edb3feb4
[INFO] running `Command { std: "docker" "start" "-a" "05b2147e65113413525b8b706d3aadfa6c34cf967c2e2defbc6c0677edb3feb4", kill_on_drop: false }`
[INFO] [stderr]    Compiling xml-rs v0.8.20
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling libloading v0.8.4
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling syn v2.0.71
[INFO] [stderr]    Compiling ttf-parser v0.24.0
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]    Compiling ab_glyph_rasterizer v0.1.8
[INFO] [stderr]    Compiling dlib v0.5.2
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling smithay-client-toolkit v0.16.1
[INFO] [stderr]    Compiling xcursor v0.3.6
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling wayland-sys v0.30.1
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling libloading v0.7.4
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]    Compiling dasp_sample v0.11.0
[INFO] [stderr]    Compiling glow v0.13.1
[INFO] [stderr]    Compiling maths v1.1.0 (https://github.com/jrdnrs/maths-rs.git#b7755944)
[INFO] [stderr]    Compiling collections v1.2.1 (https://github.com/jrdnrs/collections-rs.git#3d263fc2)
[INFO] [stderr]    Compiling glutin_glx_sys v0.4.0
[INFO] [stderr]    Compiling nix v0.24.3
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling nix v0.25.1
[INFO] [stderr]    Compiling memmap2 v0.5.10
[INFO] [stderr]    Compiling owned_ttf_parser v0.24.0
[INFO] [stderr]    Compiling ab_glyph v0.2.28
[INFO] [stderr]    Compiling bytemuck_derive v1.7.0
[INFO] [stderr]    Compiling wayland-commons v0.29.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling glutin_egl_sys v0.5.1
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling winit v0.28.7
[INFO] [stderr]    Compiling bytemuck v1.16.1
[INFO] [stderr]    Compiling tiny-skia-path v0.8.4
[INFO] [stderr]    Compiling emath v0.26.2
[INFO] [stderr]    Compiling thiserror v1.0.63
[INFO] [stderr]    Compiling ecolor v0.26.2
[INFO] [stderr]    Compiling calloop v0.10.6
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling wayland-cursor v0.29.5
[INFO] [stderr]    Compiling epaint v0.26.2
[INFO] [stderr]    Compiling tiny-skia v0.8.4
[INFO] [stderr]    Compiling tobj v4.0.2
[INFO] [stderr]    Compiling renderer v0.1.0 (/opt/rustwide/workdir/renderer)
[INFO] [stderr]    Compiling alsa v0.9.0
[INFO] [stdout] warning: unused import: `Vec4f`
[INFO] [stdout]  --> renderer/src/model/mesh.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 |     linear::{Mat4f, Vec3f, Vec4f},
[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: `PathBuf`
[INFO] [stdout]  --> renderer/src/model/model.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     path::{Path, PathBuf},
[INFO] [stdout]   |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MeshInstance`
[INFO] [stdout]   --> renderer/src/model/model.rs:16:41
[INFO] [stdout]    |
[INFO] [stdout] 16 | use super::{mesh::Mesh, vertex::Vertex, MeshInstance};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime`, `UNIX_EPOCH`, and `marker::PhantomData`
[INFO] [stdout]  --> renderer/src/renderer.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     marker::PhantomData,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     time::{SystemTime, UNIX_EPOCH},
[INFO] [stdout]   |            ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::SparseMap`
[INFO] [stdout]  --> renderer/src/renderer.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use collections::SparseMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mat4f`
[INFO] [stdout]  --> renderer/src/renderer.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 |     linear::{Mat4f, Vec3f},
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mesh`, `Model`, `texture::Texture`, `unit_cube_mesh`, and `unit_sphere_mesh`
[INFO] [stdout]   --> renderer/src/renderer.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |     model::{Mesh, Model, ProjectedTriangle},
[INFO] [stdout]    |             ^^^^  ^^^^^
[INFO] [stdout] 17 |     shapes::{unit_cube_mesh, unit_sphere_mesh},
[INFO] [stdout]    |              ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     texture::Texture,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mipmap::MipLevel`
[INFO] [stdout]  --> renderer/src/texture/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use mipmap::MipLevel;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `mip_level` and `normalise_depth`
[INFO] [stdout]   --> renderer/src/tile.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     util::{mip_level, normalise_depth},
[INFO] [stdout]    |            ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `mip_level` and `normalise_depth`
[INFO] [stdout]    --> renderer/src/tile.rs:309:16
[INFO] [stdout]     |
[INFO] [stdout] 309 |         util::{mip_level, normalise_depth},
[INFO] [stdout]     |                ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> renderer/src/line.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn update_viewport(&mut self, width: usize, height: usize) {}
[INFO] [stdout]    |                                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn update_viewport(&mut self, _width: usize, height: usize) {}
[INFO] [stdout]    |                                       +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]    |
[INFO] [stdout] 12 -     pub fn update_viewport(&mut self, width: usize, height: usize) {}
[INFO] [stdout] 12 +     pub fn update_viewport(&mut self, MIP_LEVELS: usize, height: usize) {}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]   --> renderer/src/line.rs:12:53
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn update_viewport(&mut self, width: usize, height: usize) {}
[INFO] [stdout]    |                                                     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn update_viewport(&mut self, width: usize, _height: usize) {}
[INFO] [stdout]    |                                                     +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]    |
[INFO] [stdout] 12 -     pub fn update_viewport(&mut self, width: usize, height: usize) {}
[INFO] [stdout] 12 +     pub fn update_viewport(&mut self, width: usize, MIP_LEVELS: usize) {}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> renderer/src/tile.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |         for y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 161 |         for _y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]     |
[INFO] [stdout] 161 -         for y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout] 161 +         for MIP_LEVELS in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> renderer/src/tile.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |             for x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 162 |             for _x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]     |
[INFO] [stdout] 162 -             for x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout] 162 +             for MIP_LEVELS in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `colour`
[INFO] [stdout]    --> renderer/src/tile.rs:178:25
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     let colour = (col_a + col_b + col_c) * depth;
[INFO] [stdout]     |                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     let _colour = (col_a + col_b + col_c) * depth;
[INFO] [stdout]     |                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `UP`
[INFO] [stdout]     |
[INFO] [stdout] 178 -                     let colour = (col_a + col_b + col_c) * depth;
[INFO] [stdout] 178 +                     let camera::UP = (col_a + col_b + col_c) * depth;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> renderer/src/tile.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |         for y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 229 |         for _y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]     |
[INFO] [stdout] 229 -         for y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout] 229 +         for MIP_LEVELS in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> renderer/src/tile.rs:230:17
[INFO] [stdout]     |
[INFO] [stdout] 230 |             for x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 230 |             for _x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]     |
[INFO] [stdout] 230 -             for x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout] 230 +             for MIP_LEVELS in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `colour`
[INFO] [stdout]    --> renderer/src/tile.rs:249:29
[INFO] [stdout]     |
[INFO] [stdout] 249 |                         let colour = (col_a + col_b + col_c) * depth;
[INFO] [stdout]     |                             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 249 |                         let _colour = (col_a + col_b + col_c) * depth;
[INFO] [stdout]     |                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `UP`
[INFO] [stdout]     |
[INFO] [stdout] 249 -                         let colour = (col_a + col_b + col_c) * depth;
[INFO] [stdout] 249 +                         let camera::UP = (col_a + col_b + col_c) * depth;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> renderer/src/tile.rs:369:36
[INFO] [stdout]     |
[INFO] [stdout] 369 |                 s.spawn_broadcast(|s, b| loop {
[INFO] [stdout]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> renderer/src/tile.rs:369:39
[INFO] [stdout]     |
[INFO] [stdout] 369 |                 s.spawn_broadcast(|s, b| loop {
[INFO] [stdout]     |                                       ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> renderer/src/tile.rs:442:17
[INFO] [stdout]     |
[INFO] [stdout] 442 |             for y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 442 |             for _y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]     |
[INFO] [stdout] 442 -             for y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout] 442 +             for MIP_LEVELS in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> renderer/src/tile.rs:443:21
[INFO] [stdout]     |
[INFO] [stdout] 443 |                 for x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 443 |                 for _x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |                     +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]     |
[INFO] [stdout] 443 -                 for x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout] 443 +                 for MIP_LEVELS in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> renderer/src/tile.rs:504:17
[INFO] [stdout]     |
[INFO] [stdout] 504 |             for y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 504 |             for _y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]     |
[INFO] [stdout] 504 -             for y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout] 504 +             for MIP_LEVELS in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> renderer/src/tile.rs:505:21
[INFO] [stdout]     |
[INFO] [stdout] 505 |                 for x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 505 |                 for _x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |                     +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]     |
[INFO] [stdout] 505 -                 for x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout] 505 +                 for MIP_LEVELS in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove`, `values`, `as_slice`, `as_mut_slice`, `len`, and `clear` are never used
[INFO] [stdout]    --> renderer/src/asset_manager.rs:85:12
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl<T: Named> AssetStore<T> {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn remove(&mut self, id: AssetId<T>) -> Option<T> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn values(&self) -> impl Iterator<Item = &T> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn as_slice(&self) -> &[T] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn as_mut_slice(&mut self) -> &mut [T] {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `look_at_inverted` is never used
[INFO] [stdout]   --> renderer/src/camera.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Camera {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn look_at_inverted(position: &Vec3f, direction: &Vec3f, up: &Vec3f) -> Mat4f {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> renderer/src/line.rs:14:12
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl LineRenderer {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  14 |     pub fn render(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  25 |     pub unsafe fn render_line_unchecked(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn render_line(&mut self, state: &mut RendererState, a: Vec2f, b: Vec2f, colour: RGB) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  65 |     pub fn draw_h_line(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub unsafe fn draw_h_line_unchecked(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn draw_v_line(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub unsafe fn draw_v_line_unchecked(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     fn render_triangle(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_clamp` is never used
[INFO] [stdout]   --> renderer/src/texture/mipmap.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn sample_clamp(src: &[RGB], src_width: usize, src_height: usize, x: isize, y: isize) -> RGB {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `render_full_tile` and `render_partial_tile` are never used
[INFO] [stdout]    --> renderer/src/tile.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl TileRenderer {
[INFO] [stdout]     | ----------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 149 |     fn render_full_tile(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     fn render_partial_tile(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalise_depth` is never used
[INFO] [stdout]  --> renderer/src/util.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn normalise_depth(depth: f32) -> f32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mip_level` is never used
[INFO] [stdout]   --> renderer/src/util.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn mip_level(normal_depth: f32, bias: f32) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling egui v0.26.2
[INFO] [stderr]    Compiling glutin v0.30.10
[INFO] [stderr]    Compiling egui_glow v0.26.2
[INFO] [stderr]    Compiling sctk-adwaita v0.5.4
[INFO] [stderr]    Compiling glutin-winit v0.3.0
[INFO] [stderr]    Compiling platform v0.1.0 (/opt/rustwide/workdir/platform)
[INFO] [stdout] warning: unused variable: `window_target`
[INFO] [stdout]   --> platform/src/application.rs:21:37
[INFO] [stdout]    |
[INFO] [stdout] 21 |         event_loop.run(move |event, window_target, control_flow| {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_target`
[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`
[INFO] [stdout]    --> platform/src/opengl/renderers/egui_renderer.rs:236:32
[INFO] [stdout]     |
[INFO] [stdout] 236 |     fn swap_buffers(&mut self, window: &GlWindow) {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]    --> platform/src/opengl/renderers/egui_renderer.rs:240:32
[INFO] [stdout]     |
[INFO] [stdout] 240 |     fn set_viewport(&mut self, window: &GlWindow, width: usize, height: usize) {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> platform/src/opengl/renderers/egui_renderer.rs:240:51
[INFO] [stdout]     |
[INFO] [stdout] 240 |     fn set_viewport(&mut self, window: &GlWindow, width: usize, height: usize) {
[INFO] [stdout]     |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> platform/src/opengl/renderers/egui_renderer.rs:240:65
[INFO] [stdout]     |
[INFO] [stdout] 240 |     fn set_viewport(&mut self, window: &GlWindow, width: usize, height: usize) {
[INFO] [stdout]     |                                                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]    --> platform/src/opengl/renderers/egui_renderer.rs:252:34
[INFO] [stdout]     |
[INFO] [stdout] 252 |     fn context<'a>(&'a mut self, window: &'a GlWindow) -> Self::Context<'a> {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> platform/src/opengl/renderers/pixel_renderer.rs:268:28
[INFO] [stdout]     |
[INFO] [stdout] 268 |     fn on_event(&mut self, event: &winit::event::Event<()>) {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Index`, `DrawIndirectCommand`, `ShaderStorage`, `Texture`, `Uniform`, and `TransformFeedback` are never constructed
[INFO] [stdout]   --> platform/src/opengl/buffer.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum BufferType {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout]  8 |     Vertex = glow::ARRAY_BUFFER,
[INFO] [stdout]  9 |     Index = glow::ELEMENT_ARRAY_BUFFER,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 10 |     DrawIndirectCommand = glow::DRAW_INDIRECT_BUFFER,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     ShaderStorage = glow::SHADER_STORAGE_BUFFER,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 12 |     Texture = glow::TEXTURE_BUFFER,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 13 |     Uniform = glow::UNIFORM_BUFFER,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 14 |     TransformFeedback = glow::TRANSFORM_FEEDBACK_BUFFER,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BufferType` has a derived impl for the trait `Clone`, but this is 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: multiple variants are never constructed
[INFO] [stdout]   --> platform/src/opengl/buffer.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum BufferUsage {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 20 |     StaticDraw = glow::STATIC_DRAW,
[INFO] [stdout] 21 |     StaticRead = glow::STATIC_READ,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 22 |     StaticCopy = glow::STATIC_COPY,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 23 |     DynamicDraw = glow::DYNAMIC_DRAW,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 24 |     DynamicRead = glow::DYNAMIC_READ,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 25 |     DynamicCopy = glow::DYNAMIC_COPY,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 26 |     StreamDraw = glow::STREAM_DRAW,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 27 |     StreamRead = glow::STREAM_READ,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 28 |     StreamCopy = glow::STREAM_COPY,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BufferUsage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> platform/src/opengl/buffer.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct BufferElement {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 35 |     pub name: &'static str,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> platform/src/opengl/gl_window.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct GlWindow {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 26 |     // the surface must be dropped before the window.
[INFO] [stdout] 27 |     pub(crate) config: Config,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `make_context_current` is never used
[INFO] [stdout]    --> platform/src/opengl/gl_window.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl GlWindow {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 191 |     fn make_context_current(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> platform/src/opengl/program.rs:4:5
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub enum ShaderDataType {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout]  4 |     Uint1,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]  5 |     Uint2,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]  6 |     Uint3,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]  7 |     Uint4,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]  8 |     Int1,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]  9 |     Int2,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     Int3,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 11 |     Int4,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 12 |     Float1,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 13 |     Float2,
[INFO] [stdout] 14 |     Float3,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 15 |     Float4,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 16 |     Mat2f,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 17 |     Mat3f,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 18 |     Mat4f,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `unbind` is never used
[INFO] [stdout]    --> platform/src/opengl/program.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl Program {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn unbind(gl: &glow::Context) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `RGBA`, `RGBU8`, and `RGBAU8` are never constructed
[INFO] [stdout]  --> platform/src/opengl/texture.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Format {
[INFO] [stdout]   |          ------ variants in this enum
[INFO] [stdout] 5 |     RGB,
[INFO] [stdout] 6 |     RGBA,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 7 |     RGBU8,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 8 |     RGBAU8,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Format` 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: method `unbind` is never used
[INFO] [stdout]    --> platform/src/opengl/texture.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout]  53 | impl Texture {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn unbind(&self, gl: &glow::Context) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `error_source` is never used
[INFO] [stdout]    --> platform/src/opengl/renderers/pixel_renderer.rs:277:4
[INFO] [stdout]     |
[INFO] [stdout] 277 | fn error_source(source: u32) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `error_severity` is never used
[INFO] [stdout]    --> platform/src/opengl/renderers/pixel_renderer.rs:288:4
[INFO] [stdout]     |
[INFO] [stdout] 288 | fn error_severity(severity: u32) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `error_type` is never used
[INFO] [stdout]    --> platform/src/opengl/renderers/pixel_renderer.rs:298:4
[INFO] [stdout]     |
[INFO] [stdout] 298 | fn error_type(type_: u32) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> platform/src/window.rs:15:73
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn context<'a>(&'a mut self, window: &'a GlWindow) -> Self::Context<'_>;
[INFO] [stdout]    |                     --                    -- the lifetime is named here ^^ the same lifetime is elided here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 15 -     fn context<'a>(&'a mut self, window: &'a GlWindow) -> Self::Context<'_>;
[INFO] [stdout] 15 +     fn context<'a>(&'a mut self, window: &'a GlWindow) -> Self::Context<'a>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling software-3d v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `maths::linear::Mat4f`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use maths::linear::Mat4f;
[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 34s
[INFO] running `Command { std: "docker" "inspect" "05b2147e65113413525b8b706d3aadfa6c34cf967c2e2defbc6c0677edb3feb4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "05b2147e65113413525b8b706d3aadfa6c34cf967c2e2defbc6c0677edb3feb4", kill_on_drop: false }`
[INFO] [stdout] 05b2147e65113413525b8b706d3aadfa6c34cf967c2e2defbc6c0677edb3feb4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 841f737e9f8c8bd1b2093321712201ea24fe62e7d0f267b2f4cc6a040d04dfb8
[INFO] running `Command { std: "docker" "start" "-a" "841f737e9f8c8bd1b2093321712201ea24fe62e7d0f267b2f4cc6a040d04dfb8", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `Vec4f`
[INFO] [stdout]  --> renderer/src/model/mesh.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 |     linear::{Mat4f, Vec3f, Vec4f},
[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: `PathBuf`
[INFO] [stdout]  --> renderer/src/model/model.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     path::{Path, PathBuf},
[INFO] [stdout]   |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MeshInstance`
[INFO] [stdout]   --> renderer/src/model/model.rs:16:41
[INFO] [stdout]    |
[INFO] [stdout] 16 | use super::{mesh::Mesh, vertex::Vertex, MeshInstance};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime`, `UNIX_EPOCH`, and `marker::PhantomData`
[INFO] [stdout]  --> renderer/src/renderer.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     marker::PhantomData,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     time::{SystemTime, UNIX_EPOCH},
[INFO] [stdout]   |            ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::SparseMap`
[INFO] [stdout]  --> renderer/src/renderer.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use collections::SparseMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mat4f`
[INFO] [stdout]  --> renderer/src/renderer.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 |     linear::{Mat4f, Vec3f},
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mesh`, `Model`, `texture::Texture`, `unit_cube_mesh`, and `unit_sphere_mesh`
[INFO] [stdout]   --> renderer/src/renderer.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |     model::{Mesh, Model, ProjectedTriangle},
[INFO] [stdout]    |             ^^^^  ^^^^^
[INFO] [stdout] 17 |     shapes::{unit_cube_mesh, unit_sphere_mesh},
[INFO] [stdout]    |              ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     texture::Texture,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mipmap::MipLevel`
[INFO] [stdout]  --> renderer/src/texture/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use mipmap::MipLevel;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `mip_level` and `normalise_depth`
[INFO] [stdout]   --> renderer/src/tile.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     util::{mip_level, normalise_depth},
[INFO] [stdout]    |            ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `mip_level` and `normalise_depth`
[INFO] [stdout]    --> renderer/src/tile.rs:309:16
[INFO] [stdout]     |
[INFO] [stdout] 309 |         util::{mip_level, normalise_depth},
[INFO] [stdout]     |                ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> renderer/src/line.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn update_viewport(&mut self, width: usize, height: usize) {}
[INFO] [stdout]    |                                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn update_viewport(&mut self, _width: usize, height: usize) {}
[INFO] [stdout]    |                                       +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]    |
[INFO] [stdout] 12 -     pub fn update_viewport(&mut self, width: usize, height: usize) {}
[INFO] [stdout] 12 +     pub fn update_viewport(&mut self, MIP_LEVELS: usize, height: usize) {}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]   --> renderer/src/line.rs:12:53
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn update_viewport(&mut self, width: usize, height: usize) {}
[INFO] [stdout]    |                                                     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn update_viewport(&mut self, width: usize, _height: usize) {}
[INFO] [stdout]    |                                                     +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]    |
[INFO] [stdout] 12 -     pub fn update_viewport(&mut self, width: usize, height: usize) {}
[INFO] [stdout] 12 +     pub fn update_viewport(&mut self, width: usize, MIP_LEVELS: usize) {}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> renderer/src/tile.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |         for y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 161 |         for _y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]     |
[INFO] [stdout] 161 -         for y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout] 161 +         for MIP_LEVELS in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> renderer/src/tile.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |             for x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 162 |             for _x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]     |
[INFO] [stdout] 162 -             for x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout] 162 +             for MIP_LEVELS in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `colour`
[INFO] [stdout]    --> renderer/src/tile.rs:178:25
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     let colour = (col_a + col_b + col_c) * depth;
[INFO] [stdout]     |                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     let _colour = (col_a + col_b + col_c) * depth;
[INFO] [stdout]     |                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `UP`
[INFO] [stdout]     |
[INFO] [stdout] 178 -                     let colour = (col_a + col_b + col_c) * depth;
[INFO] [stdout] 178 +                     let camera::UP = (col_a + col_b + col_c) * depth;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> renderer/src/tile.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |         for y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 229 |         for _y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]     |
[INFO] [stdout] 229 -         for y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout] 229 +         for MIP_LEVELS in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> renderer/src/tile.rs:230:17
[INFO] [stdout]     |
[INFO] [stdout] 230 |             for x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 230 |             for _x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]     |
[INFO] [stdout] 230 -             for x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout] 230 +             for MIP_LEVELS in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `colour`
[INFO] [stdout]    --> renderer/src/tile.rs:249:29
[INFO] [stdout]     |
[INFO] [stdout] 249 |                         let colour = (col_a + col_b + col_c) * depth;
[INFO] [stdout]     |                             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 249 |                         let _colour = (col_a + col_b + col_c) * depth;
[INFO] [stdout]     |                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `UP`
[INFO] [stdout]     |
[INFO] [stdout] 249 -                         let colour = (col_a + col_b + col_c) * depth;
[INFO] [stdout] 249 +                         let camera::UP = (col_a + col_b + col_c) * depth;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> renderer/src/tile.rs:369:36
[INFO] [stdout]     |
[INFO] [stdout] 369 |                 s.spawn_broadcast(|s, b| loop {
[INFO] [stdout]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> renderer/src/tile.rs:369:39
[INFO] [stdout]     |
[INFO] [stdout] 369 |                 s.spawn_broadcast(|s, b| loop {
[INFO] [stdout]     |                                       ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> renderer/src/tile.rs:442:17
[INFO] [stdout]     |
[INFO] [stdout] 442 |             for y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 442 |             for _y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]     |
[INFO] [stdout] 442 -             for y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout] 442 +             for MIP_LEVELS in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> renderer/src/tile.rs:443:21
[INFO] [stdout]     |
[INFO] [stdout] 443 |                 for x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 443 |                 for _x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |                     +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]     |
[INFO] [stdout] 443 -                 for x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout] 443 +                 for MIP_LEVELS in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> renderer/src/tile.rs:504:17
[INFO] [stdout]     |
[INFO] [stdout] 504 |             for y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 504 |             for _y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]     |
[INFO] [stdout] 504 -             for y in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout] 504 +             for MIP_LEVELS in tile_bounds.min_y..tile_bounds.max_y {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> renderer/src/tile.rs:505:21
[INFO] [stdout]     |
[INFO] [stdout] 505 |                 for x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 505 |                 for _x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |                     +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MIP_LEVELS`
[INFO] [stdout]     |
[INFO] [stdout] 505 -                 for x in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout] 505 +                 for MIP_LEVELS in tile_bounds.min_x..tile_bounds.max_x {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove`, `values`, `as_slice`, `as_mut_slice`, `len`, and `clear` are never used
[INFO] [stdout]    --> renderer/src/asset_manager.rs:85:12
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl<T: Named> AssetStore<T> {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn remove(&mut self, id: AssetId<T>) -> Option<T> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn values(&self) -> impl Iterator<Item = &T> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn as_slice(&self) -> &[T] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn as_mut_slice(&mut self) -> &mut [T] {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `look_at_inverted` is never used
[INFO] [stdout]   --> renderer/src/camera.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Camera {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn look_at_inverted(position: &Vec3f, direction: &Vec3f, up: &Vec3f) -> Mat4f {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> renderer/src/line.rs:14:12
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl LineRenderer {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  14 |     pub fn render(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  25 |     pub unsafe fn render_line_unchecked(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn render_line(&mut self, state: &mut RendererState, a: Vec2f, b: Vec2f, colour: RGB) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  65 |     pub fn draw_h_line(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub unsafe fn draw_h_line_unchecked(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn draw_v_line(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub unsafe fn draw_v_line_unchecked(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     fn render_triangle(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_clamp` is never used
[INFO] [stdout]   --> renderer/src/texture/mipmap.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn sample_clamp(src: &[RGB], src_width: usize, src_height: usize, x: isize, y: isize) -> RGB {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `render_full_tile` and `render_partial_tile` are never used
[INFO] [stdout]    --> renderer/src/tile.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl TileRenderer {
[INFO] [stdout]     | ----------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 149 |     fn render_full_tile(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     fn render_partial_tile(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalise_depth` is never used
[INFO] [stdout]  --> renderer/src/util.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn normalise_depth(depth: f32) -> f32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mip_level` is never used
[INFO] [stdout]   --> renderer/src/util.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn mip_level(normal_depth: f32, bias: f32) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_target`
[INFO] [stdout]   --> platform/src/application.rs:21:37
[INFO] [stdout]    |
[INFO] [stdout] 21 |         event_loop.run(move |event, window_target, control_flow| {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_target`
[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`
[INFO] [stdout]    --> platform/src/opengl/renderers/egui_renderer.rs:236:32
[INFO] [stdout]     |
[INFO] [stdout] 236 |     fn swap_buffers(&mut self, window: &GlWindow) {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]    --> platform/src/opengl/renderers/egui_renderer.rs:240:32
[INFO] [stdout]     |
[INFO] [stdout] 240 |     fn set_viewport(&mut self, window: &GlWindow, width: usize, height: usize) {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> platform/src/opengl/renderers/egui_renderer.rs:240:51
[INFO] [stdout]     |
[INFO] [stdout] 240 |     fn set_viewport(&mut self, window: &GlWindow, width: usize, height: usize) {
[INFO] [stdout]     |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> platform/src/opengl/renderers/egui_renderer.rs:240:65
[INFO] [stdout]     |
[INFO] [stdout] 240 |     fn set_viewport(&mut self, window: &GlWindow, width: usize, height: usize) {
[INFO] [stdout]     |                                                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]    --> platform/src/opengl/renderers/egui_renderer.rs:252:34
[INFO] [stdout]     |
[INFO] [stdout] 252 |     fn context<'a>(&'a mut self, window: &'a GlWindow) -> Self::Context<'a> {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> platform/src/opengl/renderers/pixel_renderer.rs:268:28
[INFO] [stdout]     |
[INFO] [stdout] 268 |     fn on_event(&mut self, event: &winit::event::Event<()>) {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Index`, `DrawIndirectCommand`, `ShaderStorage`, `Texture`, `Uniform`, and `TransformFeedback` are never constructed
[INFO] [stdout]   --> platform/src/opengl/buffer.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum BufferType {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout]  8 |     Vertex = glow::ARRAY_BUFFER,
[INFO] [stdout]  9 |     Index = glow::ELEMENT_ARRAY_BUFFER,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 10 |     DrawIndirectCommand = glow::DRAW_INDIRECT_BUFFER,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     ShaderStorage = glow::SHADER_STORAGE_BUFFER,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 12 |     Texture = glow::TEXTURE_BUFFER,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 13 |     Uniform = glow::UNIFORM_BUFFER,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 14 |     TransformFeedback = glow::TRANSFORM_FEEDBACK_BUFFER,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BufferType` has a derived impl for the trait `Clone`, but this is 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: multiple variants are never constructed
[INFO] [stdout]   --> platform/src/opengl/buffer.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum BufferUsage {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 20 |     StaticDraw = glow::STATIC_DRAW,
[INFO] [stdout] 21 |     StaticRead = glow::STATIC_READ,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 22 |     StaticCopy = glow::STATIC_COPY,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 23 |     DynamicDraw = glow::DYNAMIC_DRAW,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 24 |     DynamicRead = glow::DYNAMIC_READ,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 25 |     DynamicCopy = glow::DYNAMIC_COPY,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 26 |     StreamDraw = glow::STREAM_DRAW,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 27 |     StreamRead = glow::STREAM_READ,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 28 |     StreamCopy = glow::STREAM_COPY,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BufferUsage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> platform/src/opengl/buffer.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct BufferElement {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 35 |     pub name: &'static str,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> platform/src/opengl/gl_window.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct GlWindow {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 26 |     // the surface must be dropped before the window.
[INFO] [stdout] 27 |     pub(crate) config: Config,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `make_context_current` is never used
[INFO] [stdout]    --> platform/src/opengl/gl_window.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl GlWindow {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 191 |     fn make_context_current(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> platform/src/opengl/program.rs:4:5
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub enum ShaderDataType {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout]  4 |     Uint1,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]  5 |     Uint2,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]  6 |     Uint3,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]  7 |     Uint4,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]  8 |     Int1,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]  9 |     Int2,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     Int3,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 11 |     Int4,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 12 |     Float1,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 13 |     Float2,
[INFO] [stdout] 14 |     Float3,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 15 |     Float4,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 16 |     Mat2f,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 17 |     Mat3f,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 18 |     Mat4f,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `unbind` is never used
[INFO] [stdout]    --> platform/src/opengl/program.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl Program {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn unbind(gl: &glow::Context) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `RGBA`, `RGBU8`, and `RGBAU8` are never constructed
[INFO] [stdout]  --> platform/src/opengl/texture.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Format {
[INFO] [stdout]   |          ------ variants in this enum
[INFO] [stdout] 5 |     RGB,
[INFO] [stdout] 6 |     RGBA,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 7 |     RGBU8,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 8 |     RGBAU8,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Format` 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: method `unbind` is never used
[INFO] [stdout]    --> platform/src/opengl/texture.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout]  53 | impl Texture {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn unbind(&self, gl: &glow::Context) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `error_source` is never used
[INFO] [stdout]    --> platform/src/opengl/renderers/pixel_renderer.rs:277:4
[INFO] [stdout]     |
[INFO] [stdout] 277 | fn error_source(source: u32) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `error_severity` is never used
[INFO] [stdout]    --> platform/src/opengl/renderers/pixel_renderer.rs:288:4
[INFO] [stdout]     |
[INFO] [stdout] 288 | fn error_severity(severity: u32) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `error_type` is never used
[INFO] [stdout]    --> platform/src/opengl/renderers/pixel_renderer.rs:298:4
[INFO] [stdout]     |
[INFO] [stdout] 298 | fn error_type(type_: u32) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> platform/src/window.rs:15:73
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn context<'a>(&'a mut self, window: &'a GlWindow) -> Self::Context<'_>;
[INFO] [stdout]    |                     --                    -- the lifetime is named here ^^ the same lifetime is elided here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 15 -     fn context<'a>(&'a mut self, window: &'a GlWindow) -> Self::Context<'_>;
[INFO] [stdout] 15 +     fn context<'a>(&'a mut self, window: &'a GlWindow) -> Self::Context<'a>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling software-3d v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `maths::linear::Mat4f`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use maths::linear::Mat4f;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.74s
[INFO] running `Command { std: "docker" "inspect" "841f737e9f8c8bd1b2093321712201ea24fe62e7d0f267b2f4cc6a040d04dfb8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "841f737e9f8c8bd1b2093321712201ea24fe62e7d0f267b2f4cc6a040d04dfb8", kill_on_drop: false }`
[INFO] [stdout] 841f737e9f8c8bd1b2093321712201ea24fe62e7d0f267b2f4cc6a040d04dfb8
