[INFO] cloning repository https://github.com/mj-hd/rps
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mj-hd/rps" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmj-hd%2Frps", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmj-hd%2Frps'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d0699b21b1959804fde502a48c0b15f798491cc2
[INFO] checking mj-hd/rps against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmj-hd%2Frps" "/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/mj-hd/rps
[INFO] finished tweaking git repo https://github.com/mj-hd/rps
[INFO] tweaked toml for git repo https://github.com/mj-hd/rps written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mj-hd/rps on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mj-hd/rps 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wayland-sys v0.29.4
[INFO] [stderr]   Downloaded wayland-cursor v0.29.4
[INFO] [stderr]   Downloaded stride v0.2.0
[INFO] [stderr]   Downloaded event-listener v2.5.2
[INFO] [stderr]   Downloaded clap_lex v0.2.0
[INFO] [stderr]   Downloaded d3d12 v0.4.1
[INFO] [stderr]   Downloaded gpu-descriptor v0.2.2
[INFO] [stderr]   Downloaded wayland-client v0.29.4
[INFO] [stderr]   Downloaded bytemuck_derive v1.1.0
[INFO] [stderr]   Downloaded wayland-scanner v0.29.4
[INFO] [stderr]   Downloaded vectrix-macro v0.2.0
[INFO] [stderr]   Downloaded wayland-commons v0.29.4
[INFO] [stderr]   Downloaded gdbstub_arch v0.2.2
[INFO] [stderr]   Downloaded async-lock v2.5.0
[INFO] [stderr]   Downloaded async-fs v1.5.0
[INFO] [stderr]   Downloaded blocking v1.2.0
[INFO] [stderr]   Downloaded async-net v1.6.1
[INFO] [stderr]   Downloaded async-task v4.2.0
[INFO] [stderr]   Downloaded bytemuck v1.9.1
[INFO] [stderr]   Downloaded smol v1.2.5
[INFO] [stderr]   Downloaded polling v2.2.0
[INFO] [stderr]   Downloaded async-io v1.7.0
[INFO] [stderr]   Downloaded async-process v1.4.0
[INFO] [stderr]   Downloaded vectrix v0.2.0
[INFO] [stderr]   Downloaded wgpu-types v0.12.0
[INFO] [stderr]   Downloaded wgpu v0.12.0
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.15.4
[INFO] [stderr]   Downloaded wayland-protocols v0.29.4
[INFO] [stderr]   Downloaded wgpu-core v0.12.2
[INFO] [stderr]   Downloaded wgpu-hal v0.12.5
[INFO] [stderr]   Downloaded clap v3.1.15
[INFO] [stderr]   Downloaded ash v0.34.0+1.2.203
[INFO] [stderr]   Downloaded naga v0.8.5
[INFO] [stderr]   Downloaded metal v0.23.1
[INFO] [stderr]   Downloaded profiling v1.0.5
[INFO] [stderr]   Downloaded gdbstub v0.6.1
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a4fb1e7dcc089d10bab4646ab262b09aab8deee11e442c8eb39c445bba56b62b
[INFO] running `Command { std: "docker" "start" "-a" "a4fb1e7dcc089d10bab4646ab262b09aab8deee11e442c8eb39c445bba56b62b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a4fb1e7dcc089d10bab4646ab262b09aab8deee11e442c8eb39c445bba56b62b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4fb1e7dcc089d10bab4646ab262b09aab8deee11e442c8eb39c445bba56b62b", kill_on_drop: false }`
[INFO] [stdout] a4fb1e7dcc089d10bab4646ab262b09aab8deee11e442c8eb39c445bba56b62b
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 17606541c3d271f0e804feb61cba7a31244a5fcc55bb12c65ef69340293e2fe8
[INFO] running `Command { std: "docker" "start" "-a" "17606541c3d271f0e804feb61cba7a31244a5fcc55bb12c65ef69340293e2fe8", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.125
[INFO] [stderr]    Compiling proc-macro2 v1.0.37
[INFO] [stderr]    Compiling unicode-xid v0.2.3
[INFO] [stderr]     Checking once_cell v1.10.0
[INFO] [stderr]    Compiling log v0.4.16
[INFO] [stderr]    Compiling pkg-config v0.3.25
[INFO] [stderr]     Checking libloading v0.7.3
[INFO] [stderr]    Compiling syn v1.0.92
[INFO] [stderr]    Compiling futures-core v0.3.21
[INFO] [stderr]     Checking smallvec v1.8.0
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]     Checking cache-padded v1.2.0
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]     Checking parking v2.0.0
[INFO] [stderr]     Checking futures-io v0.3.21
[INFO] [stderr]     Checking waker-fn v1.1.0
[INFO] [stderr]     Checking fastrand v1.7.0
[INFO] [stderr]     Checking pin-project-lite v0.2.9
[INFO] [stderr]     Checking concurrent-queue v1.2.2
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]    Compiling indexmap v1.8.1
[INFO] [stderr]     Checking event-listener v2.5.2
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking slab v0.4.6
[INFO] [stderr]     Checking futures-lite v1.12.0
[INFO] [stderr]    Compiling ash v0.34.0+1.2.203
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]     Checking dlib v0.5.0
[INFO] [stderr]     Checking async-task v4.2.0
[INFO] [stderr]    Compiling khronos-egl v4.1.0
[INFO] [stderr]     Checking scoped-tls v1.0.0
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]     Checking nom v7.1.1
[INFO] [stderr]     Checking raw-window-handle v0.4.3
[INFO] [stderr]     Checking async-channel v1.6.1
[INFO] [stderr]     Checking spirv v0.2.0+1.5.4
[INFO] [stderr]     Checking gpu-alloc-types v0.2.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.1.1
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]    Compiling signal-hook v0.3.14
[INFO] [stderr]     Checking atomic-waker v1.0.0
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]    Compiling wgpu-core v0.12.2
[INFO] [stderr]     Checking gpu-alloc v0.5.3
[INFO] [stderr]     Checking wgpu-types v0.12.0
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking profiling v1.0.5
[INFO] [stderr]     Checking arrayvec v0.7.2
[INFO] [stderr]     Checking bit-set v0.5.2
[INFO] [stderr]     Checking glow v0.11.2
[INFO] [stderr]     Checking renderdoc-sys v0.7.1
[INFO] [stderr]     Checking inplace_it v0.3.3
[INFO] [stderr]     Checking async-lock v2.5.0
[INFO] [stderr]    Compiling wayland-sys v0.29.4
[INFO] [stderr]    Compiling x11-dl v2.19.1
[INFO] [stderr]    Compiling smithay-client-toolkit v0.15.4
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]     Checking copyless v0.1.5
[INFO] [stderr]     Checking os_str_bytes v6.0.0
[INFO] [stderr]     Checking blocking v1.2.0
[INFO] [stderr]    Compiling winit v0.26.1
[INFO] [stderr]    Compiling paste v1.0.7
[INFO] [stderr]    Compiling quote v1.0.18
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]     Checking managed v0.8.0
[INFO] [stderr]    Compiling anyhow v1.0.57
[INFO] [stderr]     Checking async-fs v1.5.0
[INFO] [stderr]     Checking clap_lex v0.2.0
[INFO] [stderr]     Checking getrandom v0.2.6
[INFO] [stderr]     Checking nix v0.22.3
[INFO] [stderr]    Compiling wayland-scanner v0.29.4
[INFO] [stderr]     Checking socket2 v0.4.4
[INFO] [stderr]     Checking polling v2.2.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking memmap2 v0.3.1
[INFO] [stderr]     Checking ahash v0.7.6
[INFO] [stderr]     Checking gdbstub v0.6.1
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]     Checking mio v0.8.2
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking async-executor v1.4.1
[INFO] [stderr]     Checking textwrap v0.15.0
[INFO] [stderr]     Checking async-io v1.7.0
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]     Checking xcursor v0.3.4
[INFO] [stderr]     Checking stride v0.2.0
[INFO] [stderr]     Checking gpu-descriptor v0.2.2
[INFO] [stderr]     Checking async-net v1.6.1
[INFO] [stderr]     Checking async-process v1.4.0
[INFO] [stderr]     Checking clap v3.1.15
[INFO] [stderr]     Checking smol v1.2.5
[INFO] [stderr]     Checking regex v1.5.5
[INFO] [stderr]     Checking gdbstub_arch v0.2.2
[INFO] [stderr]     Checking env_logger v0.9.0
[INFO] [stderr]    Compiling wayland-client v0.29.4
[INFO] [stderr]    Compiling wayland-protocols v0.29.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.31
[INFO] [stderr]    Compiling bytemuck_derive v1.1.0
[INFO] [stderr]    Compiling vectrix-macro v0.2.0
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking vectrix v0.2.0
[INFO] [stderr]     Checking bytemuck v1.9.1
[INFO] [stderr]     Checking thiserror v1.0.31
[INFO] [stderr]     Checking naga v0.8.5
[INFO] [stderr]     Checking wayland-commons v0.29.4
[INFO] [stderr]     Checking calloop v0.9.3
[INFO] [stderr]     Checking wayland-cursor v0.29.4
[INFO] [stderr]     Checking wgpu-hal v0.12.5
[INFO] [stderr]     Checking wgpu v0.12.0
[INFO] [stderr]     Checking rps v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `io::BufReader` and `process::Command`
[INFO] [stdout]  --> src/cdrom.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::VecDeque, io::BufReader, process::Command};
[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: `trace`
[INFO] [stdout]  --> src/gpu/gpu.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::{debug, trace, warn};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `io::BufReader` and `process::Command`
[INFO] [stdout]  --> src/cdrom.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::VecDeque, io::BufReader, process::Command};
[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: `trace`
[INFO] [stdout]  --> src/gpu/gpu.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::{debug, trace, warn};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/gte.rs:208:53
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn store_control<T: Addressible>(&mut self, offset: RegisterIndex, val: T) {}
[INFO] [stdout]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/gte.rs:208:76
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn store_control<T: Addressible>(&mut self, offset: RegisterIndex, val: T) {}
[INFO] [stdout]     |                                                                            ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/gte.rs:208:53
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn store_control<T: Addressible>(&mut self, offset: RegisterIndex, val: T) {}
[INFO] [stdout]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/gte.rs:208:76
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn store_control<T: Addressible>(&mut self, offset: RegisterIndex, val: T) {}
[INFO] [stdout]     |                                                                            ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ParamPush`, `CommandPush`, `Execution`, `ResponseFlush`, `ResponsePush`, and `IrqDelay` are never constructed
[INFO] [stdout]   --> src/cdrom.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | enum ControllerStatus {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout]  8 |     Idle,
[INFO] [stdout]  9 |     ParamPush,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 10 |     CommandPush,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 11 |     Execution,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 12 |     ResponseFlush,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ResponsePush,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 14 |     IrqDelay,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_fifo` is never read
[INFO] [stdout]   --> src/cdrom.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct CdRom {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     data_fifo: VecDeque<u8>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `min` and `sec` are never read
[INFO] [stdout]    --> src/cdrom.rs:616:5
[INFO] [stdout]     |
[INFO] [stdout] 615 | struct Mss {
[INFO] [stdout]     |        --- fields in this struct
[INFO] [stdout] 616 |     min: u8,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 617 |     sec: u8,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Mss` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `command`, `param`, `response`, `irq`, and `task` are never read
[INFO] [stdout]    --> src/cdrom.rs:628:5
[INFO] [stdout]     |
[INFO] [stdout] 627 | struct Controller {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 628 |     command: Option<u32>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 631 |     param: VecDeque<u8>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 632 |     response: VecDeque<u8>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 633 |     irq: Option<CdRomIrq>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 634 |     task: Option<(u16, Box<AsyncCallback>)>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `block_control` is never used
[INFO] [stdout]    --> src/dma.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl Channel {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn block_control(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Bottom` is never constructed
[INFO] [stdout]    --> src/gpu/gpu.rs:685:5
[INFO] [stdout]     |
[INFO] [stdout] 683 | enum Field {
[INFO] [stdout]     |      ----- variant in this enum
[INFO] [stdout] 684 |     Top = 1,
[INFO] [stdout] 685 |     Bottom = 0,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Field` 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 `0` is never read
[INFO] [stdout]  --> src/gpu/primitive.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Vertex {
[INFO] [stdout]   |            ^^^^^^ field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]  --> src/gpu/primitive.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[repr(C)]
[INFO] [stdout]   | ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gpu/primitive.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Offset {
[INFO] [stdout]    |            ^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/gpu/primitive.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[repr(C)]
[INFO] [stdout]    | ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config` and `size` are never read
[INFO] [stdout]   --> src/gpu/renderer.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Renderer {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     config: wgpu::SurfaceConfiguration,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 15 |     size: winit::dpi::PhysicalSize<u32>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GteInstruction` is never constructed
[INFO] [stdout]   --> src/gte.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct GteInstruction(u32);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MultiplyMatrixType` is never used
[INFO] [stdout]   --> src/gte.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | enum MultiplyMatrixType {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MultiplyVectorType` is never used
[INFO] [stdout]   --> src/gte.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | enum MultiplyVectorType {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TranslationVectorType` is never used
[INFO] [stdout]   --> src/gte.rs:28:6
[INFO] [stdout]    |
[INFO] [stdout] 28 | enum TranslationVectorType {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `op_sf`, `op_mvmva_multiply_matrix`, `op_mvmva_multiply_vector`, `op_mvmva_translation_vector`, `op_saturate`, and `op_command` are never used
[INFO] [stdout]   --> src/gte.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl GteInstruction {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] 37 |     pub fn op_sf(self) -> bool {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn op_mvmva_multiply_matrix(self) -> MultiplyMatrixType {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn op_mvmva_multiply_vector(self) -> MultiplyVectorType {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn op_mvmva_translation_vector(self) -> TranslationVectorType {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn op_saturate(self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn op_command(self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/gte.rs:75:5
[INFO] [stdout]     |
[INFO] [stdout]  74 | pub struct Gte {
[INFO] [stdout]     |            --- fields in this struct
[INFO] [stdout]  75 |     v0: Vector<i16, 3>,
[INFO] [stdout]     |     ^^
[INFO] [stdout]  76 |     v1: Vector<i16, 3>,
[INFO] [stdout]     |     ^^
[INFO] [stdout]  77 |     v2: Vector<i16, 3>,
[INFO] [stdout]     |     ^^
[INFO] [stdout]  78 |
[INFO] [stdout]  79 |     color: (u8, u8, u8, u8),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]  80 |
[INFO] [stdout]  81 |     otz: u16,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]  82 |     ir0: i16,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]  83 |     ir1: i16,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]  84 |     ir2: i16,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]  85 |     ir3: i16,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]  86 |
[INFO] [stdout]  87 |     sxy: VecDeque<(i16, i16)>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]  88 |     sz: VecDeque<(i16, i16)>,
[INFO] [stdout]     |     ^^
[INFO] [stdout]  89 |     rgb: VecDeque<(u8, u8, u8, u8)>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     rotation: Matrix<i16, 3, 3>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 102 |     translation: Vector<i32, 3>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 103 |     light_source: Matrix<i16, 3, 3>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 104 |     background_color: (u32, u32, u32),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 105 |     light_color_source: Matrix<i32, 3, 3>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 106 |     far_color: (u32, u32, u32),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 107 |     offset: (i32, i32),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 108 |     projection_distance: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 109 |     depth_coeff: i16,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 110 |     depth_offset: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 111 |     average_z_scale_3: i16,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 112 |     average_z_scale_4: i16,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 113 |     flag: u32,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sleep_cycles` is never used
[INFO] [stdout]  --> src/utils.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub async fn sleep_cycles(cycles: u16) {
[INFO] [stdout]   |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/gte.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, FromPrimitive)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `FromPrimitive` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MultiplyMatrixType`
[INFO] [stdout] 13 | enum MultiplyMatrixType {
[INFO] [stdout]    |      ------------------ `MultiplyMatrixType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/gte.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, FromPrimitive)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `FromPrimitive` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MultiplyVectorType`
[INFO] [stdout] 20 | enum MultiplyVectorType {
[INFO] [stdout]    |      ------------------ `MultiplyVectorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/gte.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Debug, FromPrimitive)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `FromPrimitive` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_TranslationVectorType`
[INFO] [stdout] 28 | enum TranslationVectorType {
[INFO] [stdout]    |      --------------------- `TranslationVectorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ParamPush`, `CommandPush`, `Execution`, `ResponseFlush`, `ResponsePush`, and `IrqDelay` are never constructed
[INFO] [stdout]   --> src/cdrom.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | enum ControllerStatus {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout]  8 |     Idle,
[INFO] [stdout]  9 |     ParamPush,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 10 |     CommandPush,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 11 |     Execution,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 12 |     ResponseFlush,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ResponsePush,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 14 |     IrqDelay,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_fifo` is never read
[INFO] [stdout]   --> src/cdrom.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct CdRom {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     data_fifo: VecDeque<u8>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `min` and `sec` are never read
[INFO] [stdout]    --> src/cdrom.rs:616:5
[INFO] [stdout]     |
[INFO] [stdout] 615 | struct Mss {
[INFO] [stdout]     |        --- fields in this struct
[INFO] [stdout] 616 |     min: u8,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 617 |     sec: u8,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Mss` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `command`, `param`, `response`, `irq`, and `task` are never read
[INFO] [stdout]    --> src/cdrom.rs:628:5
[INFO] [stdout]     |
[INFO] [stdout] 627 | struct Controller {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 628 |     command: Option<u32>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 631 |     param: VecDeque<u8>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 632 |     response: VecDeque<u8>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 633 |     irq: Option<CdRomIrq>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 634 |     task: Option<(u16, Box<AsyncCallback>)>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `block_control` is never used
[INFO] [stdout]    --> src/dma.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl Channel {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn block_control(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Bottom` is never constructed
[INFO] [stdout]    --> src/gpu/gpu.rs:685:5
[INFO] [stdout]     |
[INFO] [stdout] 683 | enum Field {
[INFO] [stdout]     |      ----- variant in this enum
[INFO] [stdout] 684 |     Top = 1,
[INFO] [stdout] 685 |     Bottom = 0,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Field` 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 `0` is never read
[INFO] [stdout]  --> src/gpu/primitive.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Vertex {
[INFO] [stdout]   |            ^^^^^^ field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]  --> src/gpu/primitive.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[repr(C)]
[INFO] [stdout]   | ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gpu/primitive.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Offset {
[INFO] [stdout]    |            ^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/gpu/primitive.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[repr(C)]
[INFO] [stdout]    | ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config` and `size` are never read
[INFO] [stdout]   --> src/gpu/renderer.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Renderer {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     config: wgpu::SurfaceConfiguration,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 15 |     size: winit::dpi::PhysicalSize<u32>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GteInstruction` is never constructed
[INFO] [stdout]   --> src/gte.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct GteInstruction(u32);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MultiplyMatrixType` is never used
[INFO] [stdout]   --> src/gte.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | enum MultiplyMatrixType {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MultiplyVectorType` is never used
[INFO] [stdout]   --> src/gte.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | enum MultiplyVectorType {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TranslationVectorType` is never used
[INFO] [stdout]   --> src/gte.rs:28:6
[INFO] [stdout]    |
[INFO] [stdout] 28 | enum TranslationVectorType {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `op_sf`, `op_mvmva_multiply_matrix`, `op_mvmva_multiply_vector`, `op_mvmva_translation_vector`, `op_saturate`, and `op_command` are never used
[INFO] [stdout]   --> src/gte.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl GteInstruction {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] 37 |     pub fn op_sf(self) -> bool {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn op_mvmva_multiply_matrix(self) -> MultiplyMatrixType {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn op_mvmva_multiply_vector(self) -> MultiplyVectorType {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn op_mvmva_translation_vector(self) -> TranslationVectorType {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn op_saturate(self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn op_command(self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/gte.rs:75:5
[INFO] [stdout]     |
[INFO] [stdout]  74 | pub struct Gte {
[INFO] [stdout]     |            --- fields in this struct
[INFO] [stdout]  75 |     v0: Vector<i16, 3>,
[INFO] [stdout]     |     ^^
[INFO] [stdout]  76 |     v1: Vector<i16, 3>,
[INFO] [stdout]     |     ^^
[INFO] [stdout]  77 |     v2: Vector<i16, 3>,
[INFO] [stdout]     |     ^^
[INFO] [stdout]  78 |
[INFO] [stdout]  79 |     color: (u8, u8, u8, u8),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]  80 |
[INFO] [stdout]  81 |     otz: u16,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]  82 |     ir0: i16,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]  83 |     ir1: i16,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]  84 |     ir2: i16,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]  85 |     ir3: i16,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]  86 |
[INFO] [stdout]  87 |     sxy: VecDeque<(i16, i16)>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]  88 |     sz: VecDeque<(i16, i16)>,
[INFO] [stdout]     |     ^^
[INFO] [stdout]  89 |     rgb: VecDeque<(u8, u8, u8, u8)>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     rotation: Matrix<i16, 3, 3>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 102 |     translation: Vector<i32, 3>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 103 |     light_source: Matrix<i16, 3, 3>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 104 |     background_color: (u32, u32, u32),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 105 |     light_color_source: Matrix<i32, 3, 3>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 106 |     far_color: (u32, u32, u32),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 107 |     offset: (i32, i32),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 108 |     projection_distance: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 109 |     depth_coeff: i16,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 110 |     depth_offset: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 111 |     average_z_scale_3: i16,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 112 |     average_z_scale_4: i16,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 113 |     flag: u32,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sleep_cycles` is never used
[INFO] [stdout]  --> src/utils.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub async fn sleep_cycles(cycles: u16) {
[INFO] [stdout]   |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/gte.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, FromPrimitive)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `FromPrimitive` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MultiplyMatrixType`
[INFO] [stdout] 13 | enum MultiplyMatrixType {
[INFO] [stdout]    |      ------------------ `MultiplyMatrixType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/gte.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, FromPrimitive)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `FromPrimitive` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MultiplyVectorType`
[INFO] [stdout] 20 | enum MultiplyVectorType {
[INFO] [stdout]    |      ------------------ `MultiplyVectorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/gte.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Debug, FromPrimitive)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `FromPrimitive` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_TranslationVectorType`
[INFO] [stdout] 28 | enum TranslationVectorType {
[INFO] [stdout]    |      --------------------- `TranslationVectorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `string`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     string,
[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: `string`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     string,
[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: `ps_sender`
[INFO] [stdout]    --> src/main.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let (ps_sender, ps_receiver) = mpsc::sync_channel::<PsThreadEvent>(1);
[INFO] [stdout]     |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ps_sender`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ps_receiver`
[INFO] [stdout]    --> src/main.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let (ps_sender, ps_receiver) = mpsc::sync_channel::<PsThreadEvent>(1);
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ps_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui_sender`
[INFO] [stdout]    --> src/main.rs:105:10
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let (ui_sender, ui_receiver) = mpsc::sync_channel::<UiThreadEvent>(1);
[INFO] [stdout]     |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ui_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui_receiver`
[INFO] [stdout]    --> src/main.rs:105:21
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let (ui_sender, ui_receiver) = mpsc::sync_channel::<UiThreadEvent>(1);
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ui_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ps_sender`
[INFO] [stdout]    --> src/main.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let (ps_sender, ps_receiver) = mpsc::sync_channel::<PsThreadEvent>(1);
[INFO] [stdout]     |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ps_sender`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ps_receiver`
[INFO] [stdout]    --> src/main.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let (ps_sender, ps_receiver) = mpsc::sync_channel::<PsThreadEvent>(1);
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ps_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui_sender`
[INFO] [stdout]    --> src/main.rs:105:10
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let (ui_sender, ui_receiver) = mpsc::sync_channel::<UiThreadEvent>(1);
[INFO] [stdout]     |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ui_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui_receiver`
[INFO] [stdout]    --> src/main.rs:105:21
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let (ui_sender, ui_receiver) = mpsc::sync_channel::<UiThreadEvent>(1);
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ui_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.88s
[INFO] running `Command { std: "docker" "inspect" "17606541c3d271f0e804feb61cba7a31244a5fcc55bb12c65ef69340293e2fe8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "17606541c3d271f0e804feb61cba7a31244a5fcc55bb12c65ef69340293e2fe8", kill_on_drop: false }`
[INFO] [stdout] 17606541c3d271f0e804feb61cba7a31244a5fcc55bb12c65ef69340293e2fe8
