[INFO] cloning repository https://github.com/hannsi-to/VitreousRS
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hannsi-to/VitreousRS" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhannsi-to%2FVitreousRS", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhannsi-to%2FVitreousRS'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8a787f43723c2f4269cbb9870bf2a7bb858a3aa3
[INFO] checking hannsi-to/VitreousRS against e3d12f3322cb00126b2208c6b9df3ac4467951f5 for pr-159706
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhannsi-to%2FVitreousRS" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hannsi-to/VitreousRS
[INFO] finished tweaking git repo https://github.com/hannsi-to/VitreousRS
[INFO] tweaked toml for git repo https://github.com/hannsi-to/VitreousRS written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hannsi-to/VitreousRS on toolchain e3d12f3322cb00126b2208c6b9df3ac4467951f5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e3d12f3322cb00126b2208c6b9df3ac4467951f5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hannsi-to/VitreousRS 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" "+e3d12f3322cb00126b2208c6b9df3ac4467951f5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e17ad2158e0d63c3845a62b9e976770ac182b9e1d2c690593474077ff80510c0
[INFO] running `Command { std: "docker" "start" "e17ad2158e0d63c3845a62b9e976770ac182b9e1d2c690593474077ff80510c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e17ad2158e0d63c3845a62b9e976770ac182b9e1d2c690593474077ff80510c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e17ad2158e0d63c3845a62b9e976770ac182b9e1d2c690593474077ff80510c0" "/opt/rustwide/cargo-home/bin/cargo" "+e3d12f3322cb00126b2208c6b9df3ac4467951f5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e17ad2158e0d63c3845a62b9e976770ac182b9e1d2c690593474077ff80510c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e17ad2158e0d63c3845a62b9e976770ac182b9e1d2c690593474077ff80510c0" "/opt/rustwide/cargo-home/bin/cargo" "+e3d12f3322cb00126b2208c6b9df3ac4467951f5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]     Checking dlib v0.5.3
[INFO] [stderr]    Compiling wayland-sys v0.31.11
[INFO] [stderr]    Compiling cc v1.2.64
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling wayland-client v0.31.14
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]    Compiling smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]     Checking owned_ttf_parser v0.25.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling glutin v0.32.3
[INFO] [stderr]     Checking ab_glyph v0.2.32
[INFO] [stderr]    Compiling winit v0.30.13
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]    Compiling glutin-winit v0.5.0
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]    Compiling quick-xml v0.39.4
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking dpi v0.1.2
[INFO] [stderr]     Checking gimli v0.32.3
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling glutin_glx_sys v0.6.1
[INFO] [stderr]    Compiling glutin_egl_sys v0.7.1
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]     Checking getrandom v0.4.3
[INFO] [stderr]     Checking rustc-demangle v0.1.27
[INFO] [stderr]     Checking rand v0.10.1
[INFO] [stderr]     Checking glam v0.33.2
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]    Compiling wayland-backend v0.3.15
[INFO] [stderr]    Compiling wayland-scanner v0.31.10
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking addr2line v0.25.1
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking wayland-protocols v0.32.12
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking wayland-cursor v0.31.14
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.12
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.12
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking VitreousRS v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `PhysicalPosition`
[INFO] [stdout]  --> src/frame.rs:9:48
[INFO] [stdout]   |
[INFO] [stdout] 9 | use winit::dpi::{LogicalPosition, LogicalSize, PhysicalPosition, PhysicalSize, Position, Size};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CursorGrabMode` and `CursorIcon`
[INFO] [stdout]   --> src/frame.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 | use winit::window::{Cursor, CursorGrabMode, CursorIcon, Fullscreen, Icon, Theme, Window, WindowButtons, WindowId, WindowLevel};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::buffer_object::BufferRequest`
[INFO] [stdout]   --> src/frame.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::buffer_object::BufferRequest;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vertex_array_object::VertexArrayObject`
[INFO] [stdout]   --> src/frame.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::vertex_array_object::VertexArrayObject;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::memory::any_allocator::AllocatorKind as BufferAllocatorKind`
[INFO] [stdout]  --> src/buffer_object.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use crate::memory::any_allocator::AllocatorKind as BufferAllocatorKind;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LoggerConfig`
[INFO] [stdout]  --> src/logger/opengl_debug.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::logger::logger_manager::{LoggerConfig, LoggerManager};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex`, `RwLockReadGuard`, and `RwLock`
[INFO] [stdout]  --> src/vitreous_rs.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::{Mutex, RwLock, RwLockReadGuard};
[INFO] [stdout]   |                 ^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::null_mut`
[INFO] [stdout]  --> src/shader_manager.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ptr::null_mut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicalPosition`
[INFO] [stdout]  --> src/frame.rs:9:48
[INFO] [stdout]   |
[INFO] [stdout] 9 | use winit::dpi::{LogicalPosition, LogicalSize, PhysicalPosition, PhysicalSize, Position, Size};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CursorGrabMode` and `CursorIcon`
[INFO] [stdout]   --> src/frame.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 | use winit::window::{Cursor, CursorGrabMode, CursorIcon, Fullscreen, Icon, Theme, Window, WindowButtons, WindowId, WindowLevel};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::buffer_object::BufferRequest`
[INFO] [stdout]   --> src/frame.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::buffer_object::BufferRequest;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vertex_array_object::VertexArrayObject`
[INFO] [stdout]   --> src/frame.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::vertex_array_object::VertexArrayObject;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::memory::any_allocator::AllocatorKind as BufferAllocatorKind`
[INFO] [stdout]  --> src/buffer_object.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use crate::memory::any_allocator::AllocatorKind as BufferAllocatorKind;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LoggerConfig`
[INFO] [stdout]  --> src/logger/opengl_debug.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::logger::logger_manager::{LoggerConfig, LoggerManager};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex`, `RwLockReadGuard`, and `RwLock`
[INFO] [stdout]  --> src/vitreous_rs.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::{Mutex, RwLock, RwLockReadGuard};
[INFO] [stdout]   |                 ^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::null_mut`
[INFO] [stdout]  --> src/shader_manager.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ptr::null_mut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]    --> src/frame.rs:320:62
[INFO] [stdout]     |
[INFO] [stdout] 320 |     fn window_event(&mut self, event_loop: &ActiveEventLoop, window_id: WindowId, event: WindowEvent) {
[INFO] [stdout]     |                                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]    --> src/frame.rs:320:62
[INFO] [stdout]     |
[INFO] [stdout] 320 |     fn window_event(&mut self, event_loop: &ActiveEventLoop, window_id: WindowId, event: WindowEvent) {
[INFO] [stdout]     |                                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/shade.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let mut token_index = 0;
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_index`
[INFO] [stdout]    --> src/shade.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let mut token_index = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/shade.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let mut token_index = 0;
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_index`
[INFO] [stdout]    --> src/shade.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let mut token_index = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `WindowMode` is more private than the item `WindowData::window_mode`
[INFO] [stdout]    --> src/frame.rs:44:5
[INFO] [stdout]     |
[INFO] [stdout]  44 |     pub window_mode: WindowMode,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `WindowData::window_mode` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `WindowMode` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/frame.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | enum WindowMode{
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MemoryBlock` is more private than the item `SubBuffers::new`
[INFO] [stdout]    --> src/buffer_object.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 | /     pub fn new(
[INFO] [stdout] 191 | |         parent_address: *mut std::ffi::c_void,
[INFO] [stdout] 192 | |         target: u32,
[INFO] [stdout] 193 | |         allocator: AnyAllocator,
[INFO] [stdout] 194 | |         size: usize,
[INFO] [stdout] 195 | |         updated_memory_blocks: Vec<MemoryBlock>,
[INFO] [stdout] 196 | |     ) -> Self {
[INFO] [stdout]     | |_____________^ associated function `SubBuffers::new` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `MemoryBlock` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/buffer_object.rs:315:1
[INFO] [stdout]     |
[INFO] [stdout] 315 | struct MemoryBlock {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `title_hidden`, `always_on_top`, and `movable_by_window_background` are never read
[INFO] [stdout]   --> src/frame.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct WindowData {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 31 |     pub title: String,
[INFO] [stdout] 32 |     pub title_hidden: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub always_on_top: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub movable_by_window_background: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Borderless` and `Fullscreen` are never constructed
[INFO] [stdout]    --> src/frame.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | enum WindowMode{
[INFO] [stdout]     |      ---------- variants in this enum
[INFO] [stdout] 127 |     Window,
[INFO] [stdout] 128 |     Borderless,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 129 |     Fullscreen,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vitreous_rs` is never read
[INFO] [stdout]    --> src/frame.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct Application<H : VitreousRSHandler> {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 133 |     pub vitreous_rs: VitreousRS,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/color.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl Color{
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  17 |     pub fn new(red: f32, green: f32, blue: f32, alpha: f32) -> Result<Self, String>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  28 |     pub fn new_random() -> Result<Self, String>{
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  36 |     pub fn set_random_color(&mut self, range_red: RangeInclusive<f32>, range_green: RangeInclusive<f32>, range_blue: RangeInclusive...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  45 |     pub fn check_range(value: f32) -> Result<(), ()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn set_red(&mut self, red: f32) -> Result<(), String>{
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn set_blue(&mut self,blue: f32) -> Result<(), String>{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn set_green(&mut self, green: f32) -> Result<(), String>{
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn set_alpha(&mut self,alpha: f32) -> Result<(), String>{
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FlushExplicit` is never constructed
[INFO] [stdout]   --> src/buffer_object.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum BufferSyncMode {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] 12 |     Coherent,
[INFO] [stdout] 13 |     FlushExplicit,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BufferSyncMode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `size`, `alignment`, and `updated_memory_block` are never read
[INFO] [stdout]   --> src/buffer_object.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub struct MegaBufferObjectData {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 96 |     size: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 97 |     alignment: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 98 |     pub sub_buffers: Vec<SubBuffers>,
[INFO] [stdout] 99 |     updated_memory_block: Vec<MemoryBlock>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MegaBufferObjectData` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `put_i32`, `put_f32`, and `put_u32` are never used
[INFO] [stdout]    --> src/buffer_object.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 187 | impl SubBuffers {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 289 |     pub fn put_i32(&mut self, value: i32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub fn put_f32(&mut self, value: f32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn put_u32(&mut self, value: u32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mega_buffer` and `vertex_array_object` are never used
[INFO] [stdout]    --> src/buffer_manager.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl BufferManager {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn mega_buffer(&self) -> &MegaBufferObjectData {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn vertex_array_object(&self) -> &VertexArrayObject {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DrawElementsIndirectCommandManager` is never constructed
[INFO] [stdout]  --> src/draw_elements_indirect_command.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct DrawElementsIndirectCommandManager<'a>{
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_command`, `flush_to_sub_buffer`, and `len` are never used
[INFO] [stdout]   --> src/draw_elements_indirect_command.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl<'a> DrawElementsIndirectCommandManager<'a> {
[INFO] [stdout]    | ----------------------------------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> DrawElementsIndirectCommandManager<'a> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn add_command(&mut self, draw_elements_indirect_command: &'a DrawElementsIndirectCommand) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn flush_to_sub_buffer(&self, sub_buffer: &mut SubBuffers) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MultiDrawElementsIndirectCount`, `DrawElementsIndirect`, `DrawElementsInstancedBaseInstance`, `DrawElementsInstanced`, and `DrawElements` are never constructed
[INFO] [stdout]    --> src/draw_call.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub enum DrawCallType {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] 133 |     // GL 4.6: GPU-driven draw count from a buffer.
[INFO] [stdout] 134 |     MultiDrawElementsIndirectCount {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     DrawElementsIndirect {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     DrawElementsInstancedBaseInstance {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     DrawElementsInstanced {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     DrawElements {
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/logger/ansi_format.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub enum ANSIFormat {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout]  4 |     Reset = 0,
[INFO] [stdout]  5 |     Bold = 1,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]  6 |     Italic = 3,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]  7 |     Underline = 4,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]  8 |     Black = 30,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]  9 |     Red = 31,
[INFO] [stdout] 10 |     Green = 32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     Magenta = 35,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 14 |     Cyan = 36,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 15 |     White = 37,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 16 |     BgBlack = 40,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 17 |     BgRed = 41,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 18 |     BgGreen = 42,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 19 |     BgYellow = 43,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 20 |     BgBlue = 44,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 21 |     BgMagenta = 45,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 22 |     BgCyan = 46,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     BgWhite = 47,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     BrightBlack = 90,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 25 |     BrightRed = 91,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 26 |     BrightGreen = 92,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 27 |     BrightYellow = 93,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 28 |     BrightBlue = 94,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 29 |     BrightMagenta = 95,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 30 |     BrightCyan = 96,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 31 |     BrightWhite = 97,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ANSIFormat` 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: method `value` is never used
[INFO] [stdout]   --> src/logger/ansi_format.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl ANSIFormat {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 35 |     pub const fn value(self) -> u8 {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/logger/logger_manager.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl LoggerManager {
[INFO] [stdout]     | ------------------ associated functions in this implementation
[INFO] [stdout]  59 |     pub fn set_project_name(name: &'static str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn set_format(format: &'static str) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn set_time_format(format: &'static str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn set_log_file_path(path: &'static str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn set_max_file_size(size: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn debug_logging(message: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn info_logging(message: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn warning_logging(message: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn error_logging(message: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub fn logging(log_level: LogLevel, message: &str) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `project_name` is never read
[INFO] [stdout]   --> src/vitreous_rs.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct VitreousRS {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 42 |     pub project_name: &'static str,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Geometry`, `Compute`, `TessControl`, and `TessEvaluation` are never constructed
[INFO] [stdout]   --> src/shade.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum ShaderType {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     Geometry,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 12 |     Compute,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 13 |     TessControl,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 14 |     TessEvaluation,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShaderType` 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: field `shader_type` is never read
[INFO] [stdout]   --> src/shade.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct Shader {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 42 |     pub id: GLuint,
[INFO] [stdout] 43 |     pub shader_type: ShaderType,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/shader_manager.rs:60:12
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ShaderProgram {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub fn unbind() {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn set_uniform_i32(&self, name: &str, value: i32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn set_uniform_f32(&self, name: &str, value: f32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn set_uniform_vec2(&self, name: &str, x: f32, y: f32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn set_uniform_vec3(&self, name: &str, x: f32, y: f32, z: f32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn set_uniform_vec4(&self, name: &str, x: f32, y: f32, z: f32, w: f32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn set_uniform_mat4(&self, name: &str, matrix: &[f32; 16]) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `load_from_source` and `remove` are never used
[INFO] [stdout]    --> src/shader_manager.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl ShaderManager {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn load_from_source(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn remove(&mut self, name: &str) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `object_struct_data` is never read
[INFO] [stdout]   --> src/object.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct Object {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     object_struct_data: Option<ObjectStructData>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `uniform_buffer_allocation` is never read
[INFO] [stdout]   --> src/object.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct ObjectAllocation {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub uniform_buffer_allocation: Option<Allocation>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/object.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl ObjectStructData {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 44 |     pub fn new() -> ObjectStructData {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `OBJECT_STRUCT_STRIDE`, `name`, `base_vertex`, `set_object_struct_data`, `upload_object_struct_data`, and `upload` are never used
[INFO] [stdout]    --> src/object.rs:73:15
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl Object {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub const OBJECT_STRUCT_STRIDE: usize = size_of::<ObjectStructData>();
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn name(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn base_vertex(&self) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn set_object_struct_data(&mut self, object_struct_data: ObjectStructData) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub fn upload_object_struct_data(&mut self, sub_buffer: &mut SubBuffers) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn upload(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flush_to_sub_buffer` is never used
[INFO] [stdout]   --> src/vertex.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Vertex {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn flush_to_sub_buffer(&self, sub_buffers: &mut SubBuffers) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get`, `get_mut`, `objects`, `draw_count`, and `indirect_offset` are never used
[INFO] [stdout]   --> src/object_manager.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl ObjectManager {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get(&self, name: &str) -> Option<&Object> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn get_mut(&mut self, name: &str) -> Option<&mut Object> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn objects(&self) -> &[Object] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn draw_count(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn indirect_offset(&self) -> GLintptr {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `put_i32`, `put_f32`, `put_u32`, and `size` are never used
[INFO] [stdout]   --> src/memory/allocation.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Allocation {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn put_i32(&self, value: i32) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn put_f32(&self, value: f32) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn put_u32(&self, value: u32) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn size(&self) -> usize {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dealloc` is never used
[INFO] [stdout]   --> src/memory/allocator.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) trait AllocatorSystem {
[INFO] [stdout]    |                  --------------- method in this trait
[INFO] [stdout] 11 |     fn alloc(&mut self, size: usize) -> Result<Allocation, String>;
[INFO] [stdout] 12 |     fn dealloc(&mut self, alloc: Allocation);
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Stack`, `Pool`, `Buddy`, and `Slab` are never constructed
[INFO] [stdout]   --> src/memory/any_allocator.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub enum AllocatorKind {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 64 |     Linear,
[INFO] [stdout] 65 |     Stack,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 66 |     Pool { chunk_size: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 67 |     Buddy,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 68 |     Slab { pool_sizes: Vec<usize> },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AllocatorKind` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save` and `restore` are never used
[INFO] [stdout]   --> src/memory/stack_allocator.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl StackAllocator {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn save(&mut self) -> usize {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn restore(&mut self, marker: usize) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `WindowMode` is more private than the item `WindowData::window_mode`
[INFO] [stdout]    --> src/frame.rs:44:5
[INFO] [stdout]     |
[INFO] [stdout]  44 |     pub window_mode: WindowMode,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `WindowData::window_mode` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `WindowMode` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/frame.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | enum WindowMode{
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MemoryBlock` is more private than the item `SubBuffers::new`
[INFO] [stdout]    --> src/buffer_object.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 | /     pub fn new(
[INFO] [stdout] 191 | |         parent_address: *mut std::ffi::c_void,
[INFO] [stdout] 192 | |         target: u32,
[INFO] [stdout] 193 | |         allocator: AnyAllocator,
[INFO] [stdout] 194 | |         size: usize,
[INFO] [stdout] 195 | |         updated_memory_blocks: Vec<MemoryBlock>,
[INFO] [stdout] 196 | |     ) -> Self {
[INFO] [stdout]     | |_____________^ associated function `SubBuffers::new` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `MemoryBlock` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/buffer_object.rs:315:1
[INFO] [stdout]     |
[INFO] [stdout] 315 | struct MemoryBlock {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `title_hidden`, `always_on_top`, and `movable_by_window_background` are never read
[INFO] [stdout]   --> src/frame.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct WindowData {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 31 |     pub title: String,
[INFO] [stdout] 32 |     pub title_hidden: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub always_on_top: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub movable_by_window_background: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Borderless` and `Fullscreen` are never constructed
[INFO] [stdout]    --> src/frame.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | enum WindowMode{
[INFO] [stdout]     |      ---------- variants in this enum
[INFO] [stdout] 127 |     Window,
[INFO] [stdout] 128 |     Borderless,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 129 |     Fullscreen,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vitreous_rs` is never read
[INFO] [stdout]    --> src/frame.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct Application<H : VitreousRSHandler> {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 133 |     pub vitreous_rs: VitreousRS,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/color.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl Color{
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  17 |     pub fn new(red: f32, green: f32, blue: f32, alpha: f32) -> Result<Self, String>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  28 |     pub fn new_random() -> Result<Self, String>{
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  36 |     pub fn set_random_color(&mut self, range_red: RangeInclusive<f32>, range_green: RangeInclusive<f32>, range_blue: RangeInclusive...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  45 |     pub fn check_range(value: f32) -> Result<(), ()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn set_red(&mut self, red: f32) -> Result<(), String>{
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn set_blue(&mut self,blue: f32) -> Result<(), String>{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn set_green(&mut self, green: f32) -> Result<(), String>{
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn set_alpha(&mut self,alpha: f32) -> Result<(), String>{
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FlushExplicit` is never constructed
[INFO] [stdout]   --> src/buffer_object.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum BufferSyncMode {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] 12 |     Coherent,
[INFO] [stdout] 13 |     FlushExplicit,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BufferSyncMode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `size`, `alignment`, and `updated_memory_block` are never read
[INFO] [stdout]   --> src/buffer_object.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub struct MegaBufferObjectData {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 96 |     size: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 97 |     alignment: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 98 |     pub sub_buffers: Vec<SubBuffers>,
[INFO] [stdout] 99 |     updated_memory_block: Vec<MemoryBlock>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MegaBufferObjectData` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `put_i32`, `put_f32`, and `put_u32` are never used
[INFO] [stdout]    --> src/buffer_object.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 187 | impl SubBuffers {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 289 |     pub fn put_i32(&mut self, value: i32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub fn put_f32(&mut self, value: f32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn put_u32(&mut self, value: u32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mega_buffer` and `vertex_array_object` are never used
[INFO] [stdout]    --> src/buffer_manager.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl BufferManager {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn mega_buffer(&self) -> &MegaBufferObjectData {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn vertex_array_object(&self) -> &VertexArrayObject {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DrawElementsIndirectCommandManager` is never constructed
[INFO] [stdout]  --> src/draw_elements_indirect_command.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct DrawElementsIndirectCommandManager<'a>{
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_command`, `flush_to_sub_buffer`, and `len` are never used
[INFO] [stdout]   --> src/draw_elements_indirect_command.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl<'a> DrawElementsIndirectCommandManager<'a> {
[INFO] [stdout]    | ----------------------------------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> DrawElementsIndirectCommandManager<'a> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn add_command(&mut self, draw_elements_indirect_command: &'a DrawElementsIndirectCommand) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn flush_to_sub_buffer(&self, sub_buffer: &mut SubBuffers) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MultiDrawElementsIndirectCount`, `DrawElementsIndirect`, `DrawElementsInstancedBaseInstance`, `DrawElementsInstanced`, and `DrawElements` are never constructed
[INFO] [stdout]    --> src/draw_call.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub enum DrawCallType {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] 133 |     // GL 4.6: GPU-driven draw count from a buffer.
[INFO] [stdout] 134 |     MultiDrawElementsIndirectCount {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     DrawElementsIndirect {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     DrawElementsInstancedBaseInstance {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     DrawElementsInstanced {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     DrawElements {
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/logger/ansi_format.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub enum ANSIFormat {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout]  4 |     Reset = 0,
[INFO] [stdout]  5 |     Bold = 1,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]  6 |     Italic = 3,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]  7 |     Underline = 4,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]  8 |     Black = 30,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]  9 |     Red = 31,
[INFO] [stdout] 10 |     Green = 32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     Magenta = 35,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 14 |     Cyan = 36,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 15 |     White = 37,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 16 |     BgBlack = 40,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 17 |     BgRed = 41,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 18 |     BgGreen = 42,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 19 |     BgYellow = 43,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 20 |     BgBlue = 44,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 21 |     BgMagenta = 45,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 22 |     BgCyan = 46,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     BgWhite = 47,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     BrightBlack = 90,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 25 |     BrightRed = 91,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 26 |     BrightGreen = 92,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 27 |     BrightYellow = 93,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 28 |     BrightBlue = 94,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 29 |     BrightMagenta = 95,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 30 |     BrightCyan = 96,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 31 |     BrightWhite = 97,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ANSIFormat` 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: method `value` is never used
[INFO] [stdout]   --> src/logger/ansi_format.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl ANSIFormat {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 35 |     pub const fn value(self) -> u8 {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/logger/logger_manager.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl LoggerManager {
[INFO] [stdout]     | ------------------ associated functions in this implementation
[INFO] [stdout]  59 |     pub fn set_project_name(name: &'static str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn set_format(format: &'static str) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn set_time_format(format: &'static str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn set_log_file_path(path: &'static str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn set_max_file_size(size: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn debug_logging(message: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn info_logging(message: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn warning_logging(message: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn error_logging(message: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub fn logging(log_level: LogLevel, message: &str) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `project_name` is never read
[INFO] [stdout]   --> src/vitreous_rs.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct VitreousRS {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 42 |     pub project_name: &'static str,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Geometry`, `Compute`, `TessControl`, and `TessEvaluation` are never constructed
[INFO] [stdout]   --> src/shade.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum ShaderType {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     Geometry,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 12 |     Compute,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 13 |     TessControl,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 14 |     TessEvaluation,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShaderType` 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: field `shader_type` is never read
[INFO] [stdout]   --> src/shade.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct Shader {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 42 |     pub id: GLuint,
[INFO] [stdout] 43 |     pub shader_type: ShaderType,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/shader_manager.rs:60:12
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ShaderProgram {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub fn unbind() {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn set_uniform_i32(&self, name: &str, value: i32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn set_uniform_f32(&self, name: &str, value: f32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn set_uniform_vec2(&self, name: &str, x: f32, y: f32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn set_uniform_vec3(&self, name: &str, x: f32, y: f32, z: f32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn set_uniform_vec4(&self, name: &str, x: f32, y: f32, z: f32, w: f32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn set_uniform_mat4(&self, name: &str, matrix: &[f32; 16]) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `load_from_source` and `remove` are never used
[INFO] [stdout]    --> src/shader_manager.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl ShaderManager {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn load_from_source(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn remove(&mut self, name: &str) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `object_struct_data` is never read
[INFO] [stdout]   --> src/object.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct Object {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     object_struct_data: Option<ObjectStructData>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `uniform_buffer_allocation` is never read
[INFO] [stdout]   --> src/object.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct ObjectAllocation {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub uniform_buffer_allocation: Option<Allocation>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/object.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl ObjectStructData {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 44 |     pub fn new() -> ObjectStructData {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `OBJECT_STRUCT_STRIDE`, `name`, `base_vertex`, `set_object_struct_data`, `upload_object_struct_data`, and `upload` are never used
[INFO] [stdout]    --> src/object.rs:73:15
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl Object {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub const OBJECT_STRUCT_STRIDE: usize = size_of::<ObjectStructData>();
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn name(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn base_vertex(&self) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn set_object_struct_data(&mut self, object_struct_data: ObjectStructData) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub fn upload_object_struct_data(&mut self, sub_buffer: &mut SubBuffers) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn upload(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flush_to_sub_buffer` is never used
[INFO] [stdout]   --> src/vertex.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Vertex {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn flush_to_sub_buffer(&self, sub_buffers: &mut SubBuffers) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get`, `get_mut`, `objects`, `draw_count`, and `indirect_offset` are never used
[INFO] [stdout]   --> src/object_manager.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl ObjectManager {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get(&self, name: &str) -> Option<&Object> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn get_mut(&mut self, name: &str) -> Option<&mut Object> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn objects(&self) -> &[Object] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn draw_count(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn indirect_offset(&self) -> GLintptr {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `put_i32`, `put_f32`, `put_u32`, and `size` are never used
[INFO] [stdout]   --> src/memory/allocation.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Allocation {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn put_i32(&self, value: i32) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn put_f32(&self, value: f32) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn put_u32(&self, value: u32) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn size(&self) -> usize {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dealloc` is never used
[INFO] [stdout]   --> src/memory/allocator.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) trait AllocatorSystem {
[INFO] [stdout]    |                  --------------- method in this trait
[INFO] [stdout] 11 |     fn alloc(&mut self, size: usize) -> Result<Allocation, String>;
[INFO] [stdout] 12 |     fn dealloc(&mut self, alloc: Allocation);
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Stack`, `Pool`, `Buddy`, and `Slab` are never constructed
[INFO] [stdout]   --> src/memory/any_allocator.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub enum AllocatorKind {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 64 |     Linear,
[INFO] [stdout] 65 |     Stack,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 66 |     Pool { chunk_size: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 67 |     Buddy,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 68 |     Slab { pool_sizes: Vec<usize> },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AllocatorKind` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save` and `restore` are never used
[INFO] [stdout]   --> src/memory/stack_allocator.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl StackAllocator {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn save(&mut self) -> usize {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn restore(&mut self, marker: usize) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.41s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: glutin v0.32.3, glutin-winit v0.5.0, winit v0.30.13
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 6`
[INFO] running `Command { std: "docker" "inspect" "e17ad2158e0d63c3845a62b9e976770ac182b9e1d2c690593474077ff80510c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e17ad2158e0d63c3845a62b9e976770ac182b9e1d2c690593474077ff80510c0", kill_on_drop: false }`
[INFO] [stdout] e17ad2158e0d63c3845a62b9e976770ac182b9e1d2c690593474077ff80510c0
