[INFO] cloning repository https://github.com/HenryWilder/raylib-rs-native
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/HenryWilder/raylib-rs-native" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHenryWilder%2Fraylib-rs-native", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHenryWilder%2Fraylib-rs-native'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f35e1ab7cd4e7279c19b3cf5167d0c12f8201cc8
[INFO] testing HenryWilder/raylib-rs-native against beta-2024-12-08 for beta-1.84.0-4-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHenryWilder%2Fraylib-rs-native" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/HenryWilder/raylib-rs-native on toolchain beta-2024-12-08
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-12-08" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/HenryWilder/raylib-rs-native
[INFO] finished tweaking git repo https://github.com/HenryWilder/raylib-rs-native
[INFO] tweaked toml for git repo https://github.com/HenryWilder/raylib-rs-native written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/HenryWilder/raylib-rs-native 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" "+beta-2024-12-08" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 224d2e1804d706ce602e441f382e28d3d3222f3c5a12f2994f583c2da3504467
[INFO] running `Command { std: "docker" "start" "-a" "224d2e1804d706ce602e441f382e28d3d3222f3c5a12f2994f583c2da3504467", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "224d2e1804d706ce602e441f382e28d3d3222f3c5a12f2994f583c2da3504467", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "224d2e1804d706ce602e441f382e28d3d3222f3c5a12f2994f583c2da3504467", kill_on_drop: false }`
[INFO] [stdout] 224d2e1804d706ce602e441f382e28d3d3222f3c5a12f2994f583c2da3504467
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 861e67d1e2a3fa30bff110e5f193c9f3927d49c84bd932c5d5819962812d0ab4
[INFO] running `Command { std: "docker" "start" "-a" "861e67d1e2a3fa30bff110e5f193c9f3927d49c84bd932c5d5819962812d0ab4", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling raylib-rs-native v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `MsfGifResult` and `MsfGifState`
[INFO] [stdout]  --> src/core/mod.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::{external::msf_gif::{MsfGifResult, MsfGifState}, prelude::*, tracelog};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `platform_desktop_glfw`
[INFO] [stdout]    --> src/core/mod.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |         if cfg!(platform_desktop_glfw) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_desktop_glfw)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_desktop_glfw)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `platform_desktop_sdl`
[INFO] [stdout]    --> src/core/mod.rs:207:24
[INFO] [stdout]     |
[INFO] [stdout] 207 |         } else if cfg!(platform_desktop_sdl) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_desktop_sdl)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_desktop_sdl)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `platform_desktop_rgfw`
[INFO] [stdout]    --> src/core/mod.rs:209:24
[INFO] [stdout]     |
[INFO] [stdout] 209 |         } else if cfg!(platform_desktop_rgfw) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_desktop_rgfw)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_desktop_rgfw)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `platform_web`
[INFO] [stdout]    --> src/core/mod.rs:211:24
[INFO] [stdout]     |
[INFO] [stdout] 211 |         } else if cfg!(platform_web) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_web)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_web)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `platform_drm`
[INFO] [stdout]    --> src/core/mod.rs:213:24
[INFO] [stdout]     |
[INFO] [stdout] 213 |         } else if cfg!(platform_drm) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_drm)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_drm)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `graphics_api_opengl_11`
[INFO] [stdout]   --> src/rlgl.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 |     #[cfg(any(graphics_api_opengl_11, graphics_api_opengl_33))]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(graphics_api_opengl_11)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(graphics_api_opengl_11)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `graphics_api_opengl_33`
[INFO] [stdout]   --> src/rlgl.rs:17:39
[INFO] [stdout]    |
[INFO] [stdout] 17 |     #[cfg(any(graphics_api_opengl_11, graphics_api_opengl_33))]
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(graphics_api_opengl_33)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(graphics_api_opengl_33)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `graphics_api_opengl_es2`
[INFO] [stdout]   --> src/rlgl.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 |     #[cfg(graphics_api_opengl_es2)]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(graphics_api_opengl_es2)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(graphics_api_opengl_es2)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::prelude::*`
[INFO] [stdout]  --> src/math/transform.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `*`, `animation::*`, `material::*`, and `mesh::*`
[INFO] [stdout]    --> src/lib.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 animation::*,
[INFO] [stdout]     |                 ^^^^^^^^^^^^
[INFO] [stdout] 134 |                 material::*,
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] 135 |                 mesh::*,
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |                 *,
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flag`
[INFO] [stdout]    --> src/core/window.rs:141:28
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn is_state(&self, flag: ConfigFlags) -> bool {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_flag`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/core/window.rs:146:33
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub fn set_state(&mut self, flags: ConfigFlags) {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/core/window.rs:151:35
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn clear_state(&mut self, flags: ConfigFlags) {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `image`
[INFO] [stdout]    --> src/core/window.rs:181:32
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn set_icon(&mut self, image: &Image) {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `images`
[INFO] [stdout]    --> src/core/window.rs:186:33
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub fn set_icons(&mut self, images: &[Image]) {
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_images`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `title`
[INFO] [stdout]    --> src/core/window.rs:191:33
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub fn set_title(&mut self, title: &str) {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/core/window.rs:196:36
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn set_position(&mut self, x: i32, y: i32) {
[INFO] [stdout]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/core/window.rs:196:44
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn set_position(&mut self, x: i32, y: i32) {
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:201:35
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub fn set_monitor(&mut self, monitor: MonitorID) {
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/core/window.rs:206:36
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn set_min_size(&mut self, width: usize, height: usize) {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/core/window.rs:206:50
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn set_min_size(&mut self, width: usize, height: usize) {
[INFO] [stdout]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/core/window.rs:211:36
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn set_max_size(&mut self, width: usize, height: usize) {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/core/window.rs:211:50
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn set_max_size(&mut self, width: usize, height: usize) {
[INFO] [stdout]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/core/window.rs:216:32
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub fn set_size(&mut self, width: usize, height: usize) {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/core/window.rs:216:46
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub fn set_size(&mut self, width: usize, height: usize) {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opacity`
[INFO] [stdout]    --> src/core/window.rs:221:35
[INFO] [stdout]     |
[INFO] [stdout] 221 |     pub fn set_opacity(&mut self, opacity: f32) {
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opacity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:266:36
[INFO] [stdout]     |
[INFO] [stdout] 266 |     pub fn monitor_position(&self, monitor: MonitorID) -> Position2 {
[INFO] [stdout]     |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:271:33
[INFO] [stdout]     |
[INFO] [stdout] 271 |     pub fn monitor_width(&self, monitor: MonitorID) -> usize {
[INFO] [stdout]     |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:276:34
[INFO] [stdout]     |
[INFO] [stdout] 276 |     pub fn monitor_height(&self, monitor: MonitorID) -> usize {
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:281:42
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn monitor_physical_width(&self, monitor: MonitorID) -> usize {
[INFO] [stdout]     |                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:286:43
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn monitor_physical_height(&self, monitor: MonitorID) -> usize {
[INFO] [stdout]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:291:40
[INFO] [stdout]     |
[INFO] [stdout] 291 |     pub fn monitor_refresh_rate(&self, monitor: MonitorID) -> usize {
[INFO] [stdout]     |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:306:32
[INFO] [stdout]     |
[INFO] [stdout] 306 |     pub fn monitor_name(&self, monitor: MonitorID) -> &str {
[INFO] [stdout]     |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> src/core/window.rs:311:42
[INFO] [stdout]     |
[INFO] [stdout] 311 |     pub fn set_clipboard_text(&mut self, text: &str) {
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hue`
[INFO] [stdout]   --> src/color.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn hsv(hue: Degrees, saturation: Percent, value: Percent) -> Color {
[INFO] [stdout]    |            ^^^ help: if this is intentional, prefix it with an underscore: `_hue`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saturation`
[INFO] [stdout]   --> src/color.rs:31:26
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn hsv(hue: Degrees, saturation: Percent, value: Percent) -> Color {
[INFO] [stdout]    |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saturation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/color.rs:31:47
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn hsv(hue: Degrees, saturation: Percent, value: Percent) -> Color {
[INFO] [stdout]    |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/color.rs:74:24
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn alpha(self, a: Percent) -> Self {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/color.rs:80:22
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn lerp_to(self, target: Self, amount: Percent) -> Self {
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `amount`
[INFO] [stdout]   --> src/color.rs:80:36
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn lerp_to(self, target: Self, amount: Percent) -> Self {
[INFO] [stdout]    |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/math/vector.rs:93:20
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn angle(self, other: Self) -> Radians {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/math/vector.rs:416:20
[INFO] [stdout]     |
[INFO] [stdout] 416 |     fn angle(self, other: Self) -> Radians {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/math/vector.rs:719:20
[INFO] [stdout]     |
[INFO] [stdout] 719 |     fn angle(self, other: Self) -> Radians {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/math/quaternion.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn angle(self, other: Self) -> Radians {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `angle`
[INFO] [stdout]    --> src/graphics/camera.rs:151:28
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn roll(&mut self, angle: Radians) {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aspect`
[INFO] [stdout]    --> src/graphics/camera.rs:159:37
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn projection_matrix(&self, aspect: f32) -> Matrix {
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_aspect`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MsfCookedFrame` is more private than the item `MsfGifState::previous_frame`
[INFO] [stdout]   --> src/external/msf_gif.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub previous_frame: MsfCookedFrame,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `MsfGifState::previous_frame` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `MsfCookedFrame` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/external/msf_gif.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct MsfCookedFrame {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MsfCookedFrame` is more private than the item `MsfGifState::current_frame`
[INFO] [stdout]   --> src/external/msf_gif.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub current_frame: MsfCookedFrame,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `MsfGifState::current_frame` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `MsfCookedFrame` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/external/msf_gif.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct MsfCookedFrame {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MsfGifResult` is never constructed
[INFO] [stdout]  --> src/external/msf_gif.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct MsfGifResult {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MsfCookedFrame` is never constructed
[INFO] [stdout]   --> src/external/msf_gif.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct MsfCookedFrame {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MsfGifBuffer` is never constructed
[INFO] [stdout]   --> src/external/msf_gif.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct MsfGifBuffer {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `MsfGifFileWriteFunc` is never used
[INFO] [stdout]   --> src/external/msf_gif.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub type MsfGifFileWriteFunc = dyn FnMut(&[u8], usize, usize, &mut [u8]) -> usize;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MsfGifState` is never constructed
[INFO] [stdout]   --> src/external/msf_gif.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct MsfGifState<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `frame`, `ty`, and `params` are never read
[INFO] [stdout]   --> src/core/mod.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct AutomationEvent {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 85 |     /// Event frame
[INFO] [stdout] 86 |     frame: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 87 |     /// Event type (AutomationEventType)
[INFO] [stdout] 88 |     ty: AutomationEventType,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 89 |     /// Event parameters (if required)
[INFO] [stdout] 90 |     params: [i32; 4],
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `base_path` is never read
[INFO] [stdout]   --> src/core/mod.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct Storage {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 95 |     // Base path for data storage
[INFO] [stdout] 96 |     base_path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Storage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/core/mod.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct Time {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] 101 |     /// Current time measure
[INFO] [stdout] 102 |     current: f64,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 103 |     /// Previous time measure
[INFO] [stdout] 104 |     previous: f64,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 105 |     /// Time measure for frame update
[INFO] [stdout] 106 |     update: f64,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 107 |     /// Time measure for frame draw
[INFO] [stdout] 108 |     draw: f64,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 109 |     /// Time measure for one frame
[INFO] [stdout] 110 |     frame: f64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 111 |     /// Desired time for one frame, if 0 not applied
[INFO] [stdout] 112 |     target: f64,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 113 |     /// Base time measure for hi-res timer (PLATFORM_ANDROID, PLATFORM_DRM)
[INFO] [stdout] 114 |     base: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 115 |     /// Frame counter
[INFO] [stdout] 116 |     frame_counter: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Time` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_gpu_ready`, `current_event_list`, `automation_event_recording`, and `screenshot_counter` are never read
[INFO] [stdout]    --> src/core/mod.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct Core<'a, 'b, 'c> {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 126 |     is_gpu_ready: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 127 |     /// Current automation events list, set by user, keep internal pointer
[INFO] [stdout] 128 |     current_event_list: Option<&'c mut Vec<AutomationEvent>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 129 |     /// Recording automation events flag
[INFO] [stdout] 130 |     automation_event_recording: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     screenshot_counter: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/core/window.rs:58:16
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Window<'a, 'b> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub(super) flags: ConfigFlags,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 59 |     /// Check if window has been initialized successfully
[INFO] [stdout] 60 |     pub(super) ready: bool,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 61 |     /// Check if fullscreen mode is enabled
[INFO] [stdout] 62 |     pub(super) fullscreen: bool,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 63 |     /// Check if window set for closing
[INFO] [stdout] 64 |     pub(super) should_close: bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 65 |     /// Check if window has been resized last frame
[INFO] [stdout] 66 |     pub(super) resized_last_frame: bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub(super) using_fbo: bool,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub(super) position: Point,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 74 |     /// Window previous position (required on borderless windowed toggle)
[INFO] [stdout] 75 |     pub(super) previous_position: Point,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 76 |     /// Display width and height (monitor, device-screen, LCD, ...)
[INFO] [stdout] 77 |     pub(super) display: Size,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub(super) previous_screen: Size,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 82 |     /// Current render width and height (depends on active fbo)
[INFO] [stdout] 83 |     pub(super) current_fbo: Size,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 84 |     /// Framebuffer width and height (render area, including black bars if required)
[INFO] [stdout] 85 |     pub(super) render: Size,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 86 |     /// Offset from render area (must be divided by 2)
[INFO] [stdout] 87 |     pub(super) render_offset: Point,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 88 |     /// Screen minimum width and height (for resizable window)
[INFO] [stdout] 89 |     pub(super) screen_min: Size,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 90 |     /// Screen maximum width and height (for resizable window)
[INFO] [stdout] 91 |     pub(super) screen_max: Size,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub(super) drop_filepaths: Vec<&'b Path>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Window` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/core/input.rs:269:16
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub struct Keyboard {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 269 |     pub(super) current_key_state: [u8; Self::MAX_KEYS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 270 |     /// Registers previous frame key state
[INFO] [stdout] 271 |     pub(super) previous_key_state: [u8; Self::MAX_KEYS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub(super) key_repeat_in_frame: [char; Self::MAX_KEYS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub(super) key_pressed_queue: [char; Self::MAX_KEY_PRESSED_QUEUE],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 279 |     /// Input keys queue count
[INFO] [stdout] 280 |     pub(super) key_pressed_queue_count: usize,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub(super) char_pressed_queue: [char; Self::MAX_CHAR_PRESSED_QUEUE],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 284 |     /// Input characters queue count
[INFO] [stdout] 285 |     pub(super) char_pressed_queue_count: usize,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Keyboard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/core/input.rs:315:16
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub struct Mouse {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 314 |     /// Mouse offset
[INFO] [stdout] 315 |     pub(super) offset: Offset2,
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub(super) current_position: Vector2,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 320 |     /// Previous mouse position
[INFO] [stdout] 321 |     pub(super) previous_position: Vector2,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 326 |     pub(super) is_cursor_hidden: bool,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 327 |     /// Tracks if cursor is inside client area
[INFO] [stdout] 328 |     pub(super) is_cursor_on_screen: bool,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub(super) current_button_state: [char; Self::MAX_BUTTONS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 332 |     /// Registers previous mouse button state
[INFO] [stdout] 333 |     pub(super) previous_button_state: [char; Self::MAX_BUTTONS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 334 |     /// Registers current mouse wheel variation
[INFO] [stdout] 335 |     pub(super) current_wheel_move: Vector2,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 336 |     /// Registers previous mouse wheel variation
[INFO] [stdout] 337 |     pub(super) previous_wheel_move: Vector2,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Mouse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `point_count`, `point_id`, `position`, `current_touch_state`, and `previous_touch_state` are never read
[INFO] [stdout]    --> src/core/input.rs:348:5
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub struct Touch {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 347 |     /// Number of touch points active
[INFO] [stdout] 348 |     point_count: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 349 |     /// Point identifiers
[INFO] [stdout] 350 |     point_id: [usize; Self::MAX_POINTS],
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 351 |     /// Touch position on screen
[INFO] [stdout] 352 |     position: [Vector2; Self::MAX_POINTS],
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 353 |     /// Registers current touch state
[INFO] [stdout] 354 |     current_touch_state: [char; Self::MAX_POINTS],
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 355 |     /// Registers previous touch state
[INFO] [stdout] 356 |     previous_touch_state: [char; Self::MAX_POINTS],
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Touch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `axis_count`, `ready`, `name`, `current_button_state`, `previous_button_state`, and `axis_state` are never read
[INFO] [stdout]    --> src/core/input.rs:369:16
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub struct Gamepad {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 369 |     pub(super) axis_count: [usize; Self::MAX_GAMEPADS],
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] 370 |     /// Flag to know if gamepad is ready
[INFO] [stdout] 371 |     pub(super) ready: [bool; Self::MAX_GAMEPADS],
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 372 |     /// Gamepad name holder
[INFO] [stdout] 373 |     pub(super) name: [[char; Self::GAMEPAD_NAME_LEN]; Self::MAX_GAMEPADS],
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 374 |     /// Current gamepad buttons state
[INFO] [stdout] 375 |     pub(super) current_button_state: [[char; Self::MAX_BUTTONS]; Self::MAX_GAMEPADS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 376 |     /// Previous gamepad buttons state
[INFO] [stdout] 377 |     pub(super) previous_button_state: [[char; Self::MAX_BUTTONS]; Self::MAX_GAMEPADS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 378 |     /// Gamepad axis state
[INFO] [stdout] 379 |     pub(super) axis_state: [[f32; Self::MAX_AXIS]; Self::MAX_GAMEPADS],
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Gamepad` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RLGL_VERSION` is never used
[INFO] [stdout]  --> src/rlgl.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const RLGL_VERSION: &'static str = "5.0";
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VertexBuffer` is never constructed
[INFO] [stdout]  --> src/rlgl.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub(crate) struct VertexBuffer {
[INFO] [stdout]   |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DrawCall` is never constructed
[INFO] [stdout]   --> src/rlgl.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(crate) struct DrawCall {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RenderBatch` is never constructed
[INFO] [stdout]   --> src/rlgl.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub(crate) struct RenderBatch {
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GlVersion` is never used
[INFO] [stdout]   --> src/rlgl.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub enum GlVersion {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RLGL` is never constructed
[INFO] [stdout]   --> src/rlgl.rs:80:19
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub(crate) struct RLGL {
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.21s
[INFO] running `Command { std: "docker" "inspect" "861e67d1e2a3fa30bff110e5f193c9f3927d49c84bd932c5d5819962812d0ab4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "861e67d1e2a3fa30bff110e5f193c9f3927d49c84bd932c5d5819962812d0ab4", kill_on_drop: false }`
[INFO] [stdout] 861e67d1e2a3fa30bff110e5f193c9f3927d49c84bd932c5d5819962812d0ab4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c157365ac6abcf28e36d146d55bee4d14c031d6ce70580bb4753dc78f43b0283
[INFO] running `Command { std: "docker" "start" "-a" "c157365ac6abcf28e36d146d55bee4d14c031d6ce70580bb4753dc78f43b0283", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `MsfGifResult` and `MsfGifState`
[INFO] [stdout]  --> src/core/mod.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::{external::msf_gif::{MsfGifResult, MsfGifState}, prelude::*, tracelog};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `platform_desktop_glfw`
[INFO] [stdout]    --> src/core/mod.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |         if cfg!(platform_desktop_glfw) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_desktop_glfw)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_desktop_glfw)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `platform_desktop_sdl`
[INFO] [stdout]    --> src/core/mod.rs:207:24
[INFO] [stdout]     |
[INFO] [stdout] 207 |         } else if cfg!(platform_desktop_sdl) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_desktop_sdl)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_desktop_sdl)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `platform_desktop_rgfw`
[INFO] [stdout]    --> src/core/mod.rs:209:24
[INFO] [stdout]     |
[INFO] [stdout] 209 |         } else if cfg!(platform_desktop_rgfw) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_desktop_rgfw)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_desktop_rgfw)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `platform_web`
[INFO] [stdout]    --> src/core/mod.rs:211:24
[INFO] [stdout]     |
[INFO] [stdout] 211 |         } else if cfg!(platform_web) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_web)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_web)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `platform_drm`
[INFO] [stdout]    --> src/core/mod.rs:213:24
[INFO] [stdout]     |
[INFO] [stdout] 213 |         } else if cfg!(platform_drm) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_drm)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_drm)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `graphics_api_opengl_11`
[INFO] [stdout]   --> src/rlgl.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 |     #[cfg(any(graphics_api_opengl_11, graphics_api_opengl_33))]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(graphics_api_opengl_11)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(graphics_api_opengl_11)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `graphics_api_opengl_33`
[INFO] [stdout]   --> src/rlgl.rs:17:39
[INFO] [stdout]    |
[INFO] [stdout] 17 |     #[cfg(any(graphics_api_opengl_11, graphics_api_opengl_33))]
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(graphics_api_opengl_33)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(graphics_api_opengl_33)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `graphics_api_opengl_es2`
[INFO] [stdout]   --> src/rlgl.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 |     #[cfg(graphics_api_opengl_es2)]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(graphics_api_opengl_es2)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(graphics_api_opengl_es2)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::prelude::*`
[INFO] [stdout]  --> src/math/transform.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `*`, `animation::*`, `material::*`, and `mesh::*`
[INFO] [stdout]    --> src/lib.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 animation::*,
[INFO] [stdout]     |                 ^^^^^^^^^^^^
[INFO] [stdout] 134 |                 material::*,
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] 135 |                 mesh::*,
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |                 *,
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flag`
[INFO] [stdout]    --> src/core/window.rs:141:28
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn is_state(&self, flag: ConfigFlags) -> bool {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_flag`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/core/window.rs:146:33
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub fn set_state(&mut self, flags: ConfigFlags) {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/core/window.rs:151:35
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn clear_state(&mut self, flags: ConfigFlags) {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `image`
[INFO] [stdout]    --> src/core/window.rs:181:32
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn set_icon(&mut self, image: &Image) {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `images`
[INFO] [stdout]    --> src/core/window.rs:186:33
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub fn set_icons(&mut self, images: &[Image]) {
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_images`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `title`
[INFO] [stdout]    --> src/core/window.rs:191:33
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub fn set_title(&mut self, title: &str) {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/core/window.rs:196:36
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn set_position(&mut self, x: i32, y: i32) {
[INFO] [stdout]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/core/window.rs:196:44
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn set_position(&mut self, x: i32, y: i32) {
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:201:35
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub fn set_monitor(&mut self, monitor: MonitorID) {
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/core/window.rs:206:36
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn set_min_size(&mut self, width: usize, height: usize) {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/core/window.rs:206:50
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn set_min_size(&mut self, width: usize, height: usize) {
[INFO] [stdout]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/core/window.rs:211:36
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn set_max_size(&mut self, width: usize, height: usize) {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/core/window.rs:211:50
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn set_max_size(&mut self, width: usize, height: usize) {
[INFO] [stdout]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/core/window.rs:216:32
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub fn set_size(&mut self, width: usize, height: usize) {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/core/window.rs:216:46
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub fn set_size(&mut self, width: usize, height: usize) {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opacity`
[INFO] [stdout]    --> src/core/window.rs:221:35
[INFO] [stdout]     |
[INFO] [stdout] 221 |     pub fn set_opacity(&mut self, opacity: f32) {
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opacity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:266:36
[INFO] [stdout]     |
[INFO] [stdout] 266 |     pub fn monitor_position(&self, monitor: MonitorID) -> Position2 {
[INFO] [stdout]     |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:271:33
[INFO] [stdout]     |
[INFO] [stdout] 271 |     pub fn monitor_width(&self, monitor: MonitorID) -> usize {
[INFO] [stdout]     |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:276:34
[INFO] [stdout]     |
[INFO] [stdout] 276 |     pub fn monitor_height(&self, monitor: MonitorID) -> usize {
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:281:42
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn monitor_physical_width(&self, monitor: MonitorID) -> usize {
[INFO] [stdout]     |                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:286:43
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn monitor_physical_height(&self, monitor: MonitorID) -> usize {
[INFO] [stdout]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:291:40
[INFO] [stdout]     |
[INFO] [stdout] 291 |     pub fn monitor_refresh_rate(&self, monitor: MonitorID) -> usize {
[INFO] [stdout]     |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:306:32
[INFO] [stdout]     |
[INFO] [stdout] 306 |     pub fn monitor_name(&self, monitor: MonitorID) -> &str {
[INFO] [stdout]     |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> src/core/window.rs:311:42
[INFO] [stdout]     |
[INFO] [stdout] 311 |     pub fn set_clipboard_text(&mut self, text: &str) {
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hue`
[INFO] [stdout]   --> src/color.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn hsv(hue: Degrees, saturation: Percent, value: Percent) -> Color {
[INFO] [stdout]    |            ^^^ help: if this is intentional, prefix it with an underscore: `_hue`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saturation`
[INFO] [stdout]   --> src/color.rs:31:26
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn hsv(hue: Degrees, saturation: Percent, value: Percent) -> Color {
[INFO] [stdout]    |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saturation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/color.rs:31:47
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn hsv(hue: Degrees, saturation: Percent, value: Percent) -> Color {
[INFO] [stdout]    |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/color.rs:74:24
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn alpha(self, a: Percent) -> Self {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/color.rs:80:22
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn lerp_to(self, target: Self, amount: Percent) -> Self {
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `amount`
[INFO] [stdout]   --> src/color.rs:80:36
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn lerp_to(self, target: Self, amount: Percent) -> Self {
[INFO] [stdout]    |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/math/vector.rs:93:20
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn angle(self, other: Self) -> Radians {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/math/vector.rs:416:20
[INFO] [stdout]     |
[INFO] [stdout] 416 |     fn angle(self, other: Self) -> Radians {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/math/vector.rs:719:20
[INFO] [stdout]     |
[INFO] [stdout] 719 |     fn angle(self, other: Self) -> Radians {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/math/quaternion.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn angle(self, other: Self) -> Radians {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `angle`
[INFO] [stdout]    --> src/graphics/camera.rs:151:28
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn roll(&mut self, angle: Radians) {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aspect`
[INFO] [stdout]    --> src/graphics/camera.rs:159:37
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn projection_matrix(&self, aspect: f32) -> Matrix {
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_aspect`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MsfCookedFrame` is more private than the item `MsfGifState::previous_frame`
[INFO] [stdout]   --> src/external/msf_gif.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub previous_frame: MsfCookedFrame,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `MsfGifState::previous_frame` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `MsfCookedFrame` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/external/msf_gif.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct MsfCookedFrame {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MsfCookedFrame` is more private than the item `MsfGifState::current_frame`
[INFO] [stdout]   --> src/external/msf_gif.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub current_frame: MsfCookedFrame,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `MsfGifState::current_frame` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `MsfCookedFrame` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/external/msf_gif.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct MsfCookedFrame {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MsfGifResult` is never constructed
[INFO] [stdout]  --> src/external/msf_gif.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct MsfGifResult {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MsfCookedFrame` is never constructed
[INFO] [stdout]   --> src/external/msf_gif.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct MsfCookedFrame {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MsfGifBuffer` is never constructed
[INFO] [stdout]   --> src/external/msf_gif.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct MsfGifBuffer {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling raylib-rs-native v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: type alias `MsfGifFileWriteFunc` is never used
[INFO] [stdout]   --> src/external/msf_gif.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub type MsfGifFileWriteFunc = dyn FnMut(&[u8], usize, usize, &mut [u8]) -> usize;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MsfGifState` is never constructed
[INFO] [stdout]   --> src/external/msf_gif.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct MsfGifState<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `frame`, `ty`, and `params` are never read
[INFO] [stdout]   --> src/core/mod.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct AutomationEvent {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 85 |     /// Event frame
[INFO] [stdout] 86 |     frame: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 87 |     /// Event type (AutomationEventType)
[INFO] [stdout] 88 |     ty: AutomationEventType,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 89 |     /// Event parameters (if required)
[INFO] [stdout] 90 |     params: [i32; 4],
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `base_path` is never read
[INFO] [stdout]   --> src/core/mod.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct Storage {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 95 |     // Base path for data storage
[INFO] [stdout] 96 |     base_path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Storage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/core/mod.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct Time {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] 101 |     /// Current time measure
[INFO] [stdout] 102 |     current: f64,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 103 |     /// Previous time measure
[INFO] [stdout] 104 |     previous: f64,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 105 |     /// Time measure for frame update
[INFO] [stdout] 106 |     update: f64,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 107 |     /// Time measure for frame draw
[INFO] [stdout] 108 |     draw: f64,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 109 |     /// Time measure for one frame
[INFO] [stdout] 110 |     frame: f64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 111 |     /// Desired time for one frame, if 0 not applied
[INFO] [stdout] 112 |     target: f64,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 113 |     /// Base time measure for hi-res timer (PLATFORM_ANDROID, PLATFORM_DRM)
[INFO] [stdout] 114 |     base: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 115 |     /// Frame counter
[INFO] [stdout] 116 |     frame_counter: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Time` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_gpu_ready`, `current_event_list`, `automation_event_recording`, and `screenshot_counter` are never read
[INFO] [stdout]    --> src/core/mod.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct Core<'a, 'b, 'c> {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 126 |     is_gpu_ready: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 127 |     /// Current automation events list, set by user, keep internal pointer
[INFO] [stdout] 128 |     current_event_list: Option<&'c mut Vec<AutomationEvent>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 129 |     /// Recording automation events flag
[INFO] [stdout] 130 |     automation_event_recording: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     screenshot_counter: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/core/window.rs:58:16
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Window<'a, 'b> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub(super) flags: ConfigFlags,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 59 |     /// Check if window has been initialized successfully
[INFO] [stdout] 60 |     pub(super) ready: bool,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 61 |     /// Check if fullscreen mode is enabled
[INFO] [stdout] 62 |     pub(super) fullscreen: bool,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 63 |     /// Check if window set for closing
[INFO] [stdout] 64 |     pub(super) should_close: bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 65 |     /// Check if window has been resized last frame
[INFO] [stdout] 66 |     pub(super) resized_last_frame: bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub(super) using_fbo: bool,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub(super) position: Point,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 74 |     /// Window previous position (required on borderless windowed toggle)
[INFO] [stdout] 75 |     pub(super) previous_position: Point,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 76 |     /// Display width and height (monitor, device-screen, LCD, ...)
[INFO] [stdout] 77 |     pub(super) display: Size,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub(super) previous_screen: Size,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 82 |     /// Current render width and height (depends on active fbo)
[INFO] [stdout] 83 |     pub(super) current_fbo: Size,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 84 |     /// Framebuffer width and height (render area, including black bars if required)
[INFO] [stdout] 85 |     pub(super) render: Size,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 86 |     /// Offset from render area (must be divided by 2)
[INFO] [stdout] 87 |     pub(super) render_offset: Point,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 88 |     /// Screen minimum width and height (for resizable window)
[INFO] [stdout] 89 |     pub(super) screen_min: Size,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 90 |     /// Screen maximum width and height (for resizable window)
[INFO] [stdout] 91 |     pub(super) screen_max: Size,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub(super) drop_filepaths: Vec<&'b Path>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Window` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/core/input.rs:269:16
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub struct Keyboard {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 269 |     pub(super) current_key_state: [u8; Self::MAX_KEYS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 270 |     /// Registers previous frame key state
[INFO] [stdout] 271 |     pub(super) previous_key_state: [u8; Self::MAX_KEYS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub(super) key_repeat_in_frame: [char; Self::MAX_KEYS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub(super) key_pressed_queue: [char; Self::MAX_KEY_PRESSED_QUEUE],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 279 |     /// Input keys queue count
[INFO] [stdout] 280 |     pub(super) key_pressed_queue_count: usize,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub(super) char_pressed_queue: [char; Self::MAX_CHAR_PRESSED_QUEUE],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 284 |     /// Input characters queue count
[INFO] [stdout] 285 |     pub(super) char_pressed_queue_count: usize,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Keyboard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/core/input.rs:315:16
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub struct Mouse {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 314 |     /// Mouse offset
[INFO] [stdout] 315 |     pub(super) offset: Offset2,
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub(super) current_position: Vector2,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 320 |     /// Previous mouse position
[INFO] [stdout] 321 |     pub(super) previous_position: Vector2,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 326 |     pub(super) is_cursor_hidden: bool,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 327 |     /// Tracks if cursor is inside client area
[INFO] [stdout] 328 |     pub(super) is_cursor_on_screen: bool,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub(super) current_button_state: [char; Self::MAX_BUTTONS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 332 |     /// Registers previous mouse button state
[INFO] [stdout] 333 |     pub(super) previous_button_state: [char; Self::MAX_BUTTONS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 334 |     /// Registers current mouse wheel variation
[INFO] [stdout] 335 |     pub(super) current_wheel_move: Vector2,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 336 |     /// Registers previous mouse wheel variation
[INFO] [stdout] 337 |     pub(super) previous_wheel_move: Vector2,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Mouse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `point_count`, `point_id`, `position`, `current_touch_state`, and `previous_touch_state` are never read
[INFO] [stdout]    --> src/core/input.rs:348:5
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub struct Touch {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 347 |     /// Number of touch points active
[INFO] [stdout] 348 |     point_count: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 349 |     /// Point identifiers
[INFO] [stdout] 350 |     point_id: [usize; Self::MAX_POINTS],
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 351 |     /// Touch position on screen
[INFO] [stdout] 352 |     position: [Vector2; Self::MAX_POINTS],
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 353 |     /// Registers current touch state
[INFO] [stdout] 354 |     current_touch_state: [char; Self::MAX_POINTS],
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 355 |     /// Registers previous touch state
[INFO] [stdout] 356 |     previous_touch_state: [char; Self::MAX_POINTS],
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Touch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `axis_count`, `ready`, `name`, `current_button_state`, `previous_button_state`, and `axis_state` are never read
[INFO] [stdout]    --> src/core/input.rs:369:16
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub struct Gamepad {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 369 |     pub(super) axis_count: [usize; Self::MAX_GAMEPADS],
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] 370 |     /// Flag to know if gamepad is ready
[INFO] [stdout] 371 |     pub(super) ready: [bool; Self::MAX_GAMEPADS],
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 372 |     /// Gamepad name holder
[INFO] [stdout] 373 |     pub(super) name: [[char; Self::GAMEPAD_NAME_LEN]; Self::MAX_GAMEPADS],
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 374 |     /// Current gamepad buttons state
[INFO] [stdout] 375 |     pub(super) current_button_state: [[char; Self::MAX_BUTTONS]; Self::MAX_GAMEPADS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 376 |     /// Previous gamepad buttons state
[INFO] [stdout] 377 |     pub(super) previous_button_state: [[char; Self::MAX_BUTTONS]; Self::MAX_GAMEPADS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 378 |     /// Gamepad axis state
[INFO] [stdout] 379 |     pub(super) axis_state: [[f32; Self::MAX_AXIS]; Self::MAX_GAMEPADS],
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Gamepad` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RLGL_VERSION` is never used
[INFO] [stdout]  --> src/rlgl.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const RLGL_VERSION: &'static str = "5.0";
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VertexBuffer` is never constructed
[INFO] [stdout]  --> src/rlgl.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub(crate) struct VertexBuffer {
[INFO] [stdout]   |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DrawCall` is never constructed
[INFO] [stdout]   --> src/rlgl.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(crate) struct DrawCall {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RenderBatch` is never constructed
[INFO] [stdout]   --> src/rlgl.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub(crate) struct RenderBatch {
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GlVersion` is never used
[INFO] [stdout]   --> src/rlgl.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub enum GlVersion {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RLGL` is never constructed
[INFO] [stdout]   --> src/rlgl.rs:80:19
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub(crate) struct RLGL {
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MsfGifResult` and `MsfGifState`
[INFO] [stdout]  --> src/core/mod.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::{external::msf_gif::{MsfGifResult, MsfGifState}, prelude::*, tracelog};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `platform_desktop_glfw`
[INFO] [stdout]    --> src/core/mod.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |         if cfg!(platform_desktop_glfw) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_desktop_glfw)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_desktop_glfw)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `platform_desktop_sdl`
[INFO] [stdout]    --> src/core/mod.rs:207:24
[INFO] [stdout]     |
[INFO] [stdout] 207 |         } else if cfg!(platform_desktop_sdl) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_desktop_sdl)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_desktop_sdl)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `platform_desktop_rgfw`
[INFO] [stdout]    --> src/core/mod.rs:209:24
[INFO] [stdout]     |
[INFO] [stdout] 209 |         } else if cfg!(platform_desktop_rgfw) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_desktop_rgfw)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_desktop_rgfw)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `platform_web`
[INFO] [stdout]    --> src/core/mod.rs:211:24
[INFO] [stdout]     |
[INFO] [stdout] 211 |         } else if cfg!(platform_web) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_web)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_web)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `platform_drm`
[INFO] [stdout]    --> src/core/mod.rs:213:24
[INFO] [stdout]     |
[INFO] [stdout] 213 |         } else if cfg!(platform_drm) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_drm)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_drm)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `graphics_api_opengl_11`
[INFO] [stdout]   --> src/rlgl.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 |     #[cfg(any(graphics_api_opengl_11, graphics_api_opengl_33))]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(graphics_api_opengl_11)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(graphics_api_opengl_11)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `graphics_api_opengl_33`
[INFO] [stdout]   --> src/rlgl.rs:17:39
[INFO] [stdout]    |
[INFO] [stdout] 17 |     #[cfg(any(graphics_api_opengl_11, graphics_api_opengl_33))]
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(graphics_api_opengl_33)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(graphics_api_opengl_33)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `graphics_api_opengl_es2`
[INFO] [stdout]   --> src/rlgl.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 |     #[cfg(graphics_api_opengl_es2)]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(graphics_api_opengl_es2)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(graphics_api_opengl_es2)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::prelude::*`
[INFO] [stdout]  --> src/math/transform.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `*`, `animation::*`, `material::*`, and `mesh::*`
[INFO] [stdout]    --> src/lib.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 animation::*,
[INFO] [stdout]     |                 ^^^^^^^^^^^^
[INFO] [stdout] 134 |                 material::*,
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] 135 |                 mesh::*,
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |                 *,
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flag`
[INFO] [stdout]    --> src/core/window.rs:141:28
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn is_state(&self, flag: ConfigFlags) -> bool {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_flag`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/core/window.rs:146:33
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub fn set_state(&mut self, flags: ConfigFlags) {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/core/window.rs:151:35
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn clear_state(&mut self, flags: ConfigFlags) {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `image`
[INFO] [stdout]    --> src/core/window.rs:181:32
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn set_icon(&mut self, image: &Image) {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `images`
[INFO] [stdout]    --> src/core/window.rs:186:33
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub fn set_icons(&mut self, images: &[Image]) {
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_images`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `title`
[INFO] [stdout]    --> src/core/window.rs:191:33
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub fn set_title(&mut self, title: &str) {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/core/window.rs:196:36
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn set_position(&mut self, x: i32, y: i32) {
[INFO] [stdout]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/core/window.rs:196:44
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn set_position(&mut self, x: i32, y: i32) {
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:201:35
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub fn set_monitor(&mut self, monitor: MonitorID) {
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/core/window.rs:206:36
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn set_min_size(&mut self, width: usize, height: usize) {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/core/window.rs:206:50
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn set_min_size(&mut self, width: usize, height: usize) {
[INFO] [stdout]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/core/window.rs:211:36
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn set_max_size(&mut self, width: usize, height: usize) {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/core/window.rs:211:50
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn set_max_size(&mut self, width: usize, height: usize) {
[INFO] [stdout]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/core/window.rs:216:32
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub fn set_size(&mut self, width: usize, height: usize) {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/core/window.rs:216:46
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub fn set_size(&mut self, width: usize, height: usize) {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opacity`
[INFO] [stdout]    --> src/core/window.rs:221:35
[INFO] [stdout]     |
[INFO] [stdout] 221 |     pub fn set_opacity(&mut self, opacity: f32) {
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opacity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:266:36
[INFO] [stdout]     |
[INFO] [stdout] 266 |     pub fn monitor_position(&self, monitor: MonitorID) -> Position2 {
[INFO] [stdout]     |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:271:33
[INFO] [stdout]     |
[INFO] [stdout] 271 |     pub fn monitor_width(&self, monitor: MonitorID) -> usize {
[INFO] [stdout]     |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:276:34
[INFO] [stdout]     |
[INFO] [stdout] 276 |     pub fn monitor_height(&self, monitor: MonitorID) -> usize {
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:281:42
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn monitor_physical_width(&self, monitor: MonitorID) -> usize {
[INFO] [stdout]     |                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:286:43
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn monitor_physical_height(&self, monitor: MonitorID) -> usize {
[INFO] [stdout]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:291:40
[INFO] [stdout]     |
[INFO] [stdout] 291 |     pub fn monitor_refresh_rate(&self, monitor: MonitorID) -> usize {
[INFO] [stdout]     |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/core/window.rs:306:32
[INFO] [stdout]     |
[INFO] [stdout] 306 |     pub fn monitor_name(&self, monitor: MonitorID) -> &str {
[INFO] [stdout]     |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> src/core/window.rs:311:42
[INFO] [stdout]     |
[INFO] [stdout] 311 |     pub fn set_clipboard_text(&mut self, text: &str) {
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hue`
[INFO] [stdout]   --> src/color.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn hsv(hue: Degrees, saturation: Percent, value: Percent) -> Color {
[INFO] [stdout]    |            ^^^ help: if this is intentional, prefix it with an underscore: `_hue`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saturation`
[INFO] [stdout]   --> src/color.rs:31:26
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn hsv(hue: Degrees, saturation: Percent, value: Percent) -> Color {
[INFO] [stdout]    |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saturation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/color.rs:31:47
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn hsv(hue: Degrees, saturation: Percent, value: Percent) -> Color {
[INFO] [stdout]    |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/color.rs:74:24
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn alpha(self, a: Percent) -> Self {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/color.rs:80:22
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn lerp_to(self, target: Self, amount: Percent) -> Self {
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `amount`
[INFO] [stdout]   --> src/color.rs:80:36
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn lerp_to(self, target: Self, amount: Percent) -> Self {
[INFO] [stdout]    |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/math/vector.rs:93:20
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn angle(self, other: Self) -> Radians {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/math/vector.rs:416:20
[INFO] [stdout]     |
[INFO] [stdout] 416 |     fn angle(self, other: Self) -> Radians {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/math/vector.rs:719:20
[INFO] [stdout]     |
[INFO] [stdout] 719 |     fn angle(self, other: Self) -> Radians {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/math/quaternion.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn angle(self, other: Self) -> Radians {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `angle`
[INFO] [stdout]    --> src/graphics/camera.rs:151:28
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn roll(&mut self, angle: Radians) {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aspect`
[INFO] [stdout]    --> src/graphics/camera.rs:159:37
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn projection_matrix(&self, aspect: f32) -> Matrix {
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_aspect`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MsfCookedFrame` is more private than the item `MsfGifState::previous_frame`
[INFO] [stdout]   --> src/external/msf_gif.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub previous_frame: MsfCookedFrame,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `MsfGifState::previous_frame` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `MsfCookedFrame` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/external/msf_gif.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct MsfCookedFrame {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MsfCookedFrame` is more private than the item `MsfGifState::current_frame`
[INFO] [stdout]   --> src/external/msf_gif.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub current_frame: MsfCookedFrame,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `MsfGifState::current_frame` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `MsfCookedFrame` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/external/msf_gif.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct MsfCookedFrame {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MsfGifResult` is never constructed
[INFO] [stdout]  --> src/external/msf_gif.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct MsfGifResult {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MsfCookedFrame` is never constructed
[INFO] [stdout]   --> src/external/msf_gif.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct MsfCookedFrame {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MsfGifBuffer` is never constructed
[INFO] [stdout]   --> src/external/msf_gif.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct MsfGifBuffer {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `MsfGifFileWriteFunc` is never used
[INFO] [stdout]   --> src/external/msf_gif.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub type MsfGifFileWriteFunc = dyn FnMut(&[u8], usize, usize, &mut [u8]) -> usize;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MsfGifState` is never constructed
[INFO] [stdout]   --> src/external/msf_gif.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct MsfGifState<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `frame`, `ty`, and `params` are never read
[INFO] [stdout]   --> src/core/mod.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct AutomationEvent {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 85 |     /// Event frame
[INFO] [stdout] 86 |     frame: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 87 |     /// Event type (AutomationEventType)
[INFO] [stdout] 88 |     ty: AutomationEventType,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 89 |     /// Event parameters (if required)
[INFO] [stdout] 90 |     params: [i32; 4],
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `base_path` is never read
[INFO] [stdout]   --> src/core/mod.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct Storage {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 95 |     // Base path for data storage
[INFO] [stdout] 96 |     base_path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Storage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/core/mod.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct Time {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] 101 |     /// Current time measure
[INFO] [stdout] 102 |     current: f64,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 103 |     /// Previous time measure
[INFO] [stdout] 104 |     previous: f64,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 105 |     /// Time measure for frame update
[INFO] [stdout] 106 |     update: f64,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 107 |     /// Time measure for frame draw
[INFO] [stdout] 108 |     draw: f64,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 109 |     /// Time measure for one frame
[INFO] [stdout] 110 |     frame: f64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 111 |     /// Desired time for one frame, if 0 not applied
[INFO] [stdout] 112 |     target: f64,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 113 |     /// Base time measure for hi-res timer (PLATFORM_ANDROID, PLATFORM_DRM)
[INFO] [stdout] 114 |     base: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 115 |     /// Frame counter
[INFO] [stdout] 116 |     frame_counter: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Time` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_gpu_ready`, `current_event_list`, `automation_event_recording`, and `screenshot_counter` are never read
[INFO] [stdout]    --> src/core/mod.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct Core<'a, 'b, 'c> {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 126 |     is_gpu_ready: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 127 |     /// Current automation events list, set by user, keep internal pointer
[INFO] [stdout] 128 |     current_event_list: Option<&'c mut Vec<AutomationEvent>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 129 |     /// Recording automation events flag
[INFO] [stdout] 130 |     automation_event_recording: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     screenshot_counter: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/core/window.rs:58:16
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Window<'a, 'b> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub(super) flags: ConfigFlags,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 59 |     /// Check if window has been initialized successfully
[INFO] [stdout] 60 |     pub(super) ready: bool,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 61 |     /// Check if fullscreen mode is enabled
[INFO] [stdout] 62 |     pub(super) fullscreen: bool,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 63 |     /// Check if window set for closing
[INFO] [stdout] 64 |     pub(super) should_close: bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 65 |     /// Check if window has been resized last frame
[INFO] [stdout] 66 |     pub(super) resized_last_frame: bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub(super) using_fbo: bool,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub(super) position: Point,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 74 |     /// Window previous position (required on borderless windowed toggle)
[INFO] [stdout] 75 |     pub(super) previous_position: Point,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 76 |     /// Display width and height (monitor, device-screen, LCD, ...)
[INFO] [stdout] 77 |     pub(super) display: Size,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub(super) previous_screen: Size,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 82 |     /// Current render width and height (depends on active fbo)
[INFO] [stdout] 83 |     pub(super) current_fbo: Size,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 84 |     /// Framebuffer width and height (render area, including black bars if required)
[INFO] [stdout] 85 |     pub(super) render: Size,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 86 |     /// Offset from render area (must be divided by 2)
[INFO] [stdout] 87 |     pub(super) render_offset: Point,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 88 |     /// Screen minimum width and height (for resizable window)
[INFO] [stdout] 89 |     pub(super) screen_min: Size,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 90 |     /// Screen maximum width and height (for resizable window)
[INFO] [stdout] 91 |     pub(super) screen_max: Size,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub(super) drop_filepaths: Vec<&'b Path>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Window` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/core/input.rs:269:16
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub struct Keyboard {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 269 |     pub(super) current_key_state: [u8; Self::MAX_KEYS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 270 |     /// Registers previous frame key state
[INFO] [stdout] 271 |     pub(super) previous_key_state: [u8; Self::MAX_KEYS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub(super) key_repeat_in_frame: [char; Self::MAX_KEYS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub(super) key_pressed_queue: [char; Self::MAX_KEY_PRESSED_QUEUE],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 279 |     /// Input keys queue count
[INFO] [stdout] 280 |     pub(super) key_pressed_queue_count: usize,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub(super) char_pressed_queue: [char; Self::MAX_CHAR_PRESSED_QUEUE],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 284 |     /// Input characters queue count
[INFO] [stdout] 285 |     pub(super) char_pressed_queue_count: usize,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Keyboard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/core/input.rs:315:16
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub struct Mouse {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 314 |     /// Mouse offset
[INFO] [stdout] 315 |     pub(super) offset: Offset2,
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub(super) current_position: Vector2,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 320 |     /// Previous mouse position
[INFO] [stdout] 321 |     pub(super) previous_position: Vector2,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 326 |     pub(super) is_cursor_hidden: bool,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 327 |     /// Tracks if cursor is inside client area
[INFO] [stdout] 328 |     pub(super) is_cursor_on_screen: bool,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub(super) current_button_state: [char; Self::MAX_BUTTONS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 332 |     /// Registers previous mouse button state
[INFO] [stdout] 333 |     pub(super) previous_button_state: [char; Self::MAX_BUTTONS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 334 |     /// Registers current mouse wheel variation
[INFO] [stdout] 335 |     pub(super) current_wheel_move: Vector2,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 336 |     /// Registers previous mouse wheel variation
[INFO] [stdout] 337 |     pub(super) previous_wheel_move: Vector2,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Mouse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `point_count`, `point_id`, `position`, `current_touch_state`, and `previous_touch_state` are never read
[INFO] [stdout]    --> src/core/input.rs:348:5
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub struct Touch {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 347 |     /// Number of touch points active
[INFO] [stdout] 348 |     point_count: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 349 |     /// Point identifiers
[INFO] [stdout] 350 |     point_id: [usize; Self::MAX_POINTS],
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 351 |     /// Touch position on screen
[INFO] [stdout] 352 |     position: [Vector2; Self::MAX_POINTS],
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 353 |     /// Registers current touch state
[INFO] [stdout] 354 |     current_touch_state: [char; Self::MAX_POINTS],
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 355 |     /// Registers previous touch state
[INFO] [stdout] 356 |     previous_touch_state: [char; Self::MAX_POINTS],
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Touch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `axis_count`, `ready`, `name`, `current_button_state`, `previous_button_state`, and `axis_state` are never read
[INFO] [stdout]    --> src/core/input.rs:369:16
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub struct Gamepad {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 369 |     pub(super) axis_count: [usize; Self::MAX_GAMEPADS],
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] 370 |     /// Flag to know if gamepad is ready
[INFO] [stdout] 371 |     pub(super) ready: [bool; Self::MAX_GAMEPADS],
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 372 |     /// Gamepad name holder
[INFO] [stdout] 373 |     pub(super) name: [[char; Self::GAMEPAD_NAME_LEN]; Self::MAX_GAMEPADS],
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 374 |     /// Current gamepad buttons state
[INFO] [stdout] 375 |     pub(super) current_button_state: [[char; Self::MAX_BUTTONS]; Self::MAX_GAMEPADS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 376 |     /// Previous gamepad buttons state
[INFO] [stdout] 377 |     pub(super) previous_button_state: [[char; Self::MAX_BUTTONS]; Self::MAX_GAMEPADS],
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 378 |     /// Gamepad axis state
[INFO] [stdout] 379 |     pub(super) axis_state: [[f32; Self::MAX_AXIS]; Self::MAX_GAMEPADS],
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Gamepad` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RLGL_VERSION` is never used
[INFO] [stdout]  --> src/rlgl.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const RLGL_VERSION: &'static str = "5.0";
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VertexBuffer` is never constructed
[INFO] [stdout]  --> src/rlgl.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub(crate) struct VertexBuffer {
[INFO] [stdout]   |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DrawCall` is never constructed
[INFO] [stdout]   --> src/rlgl.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(crate) struct DrawCall {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RenderBatch` is never constructed
[INFO] [stdout]   --> src/rlgl.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub(crate) struct RenderBatch {
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GlVersion` is never used
[INFO] [stdout]   --> src/rlgl.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub enum GlVersion {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RLGL` is never constructed
[INFO] [stdout]   --> src/rlgl.rs:80:19
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub(crate) struct RLGL {
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.99s
[INFO] running `Command { std: "docker" "inspect" "c157365ac6abcf28e36d146d55bee4d14c031d6ce70580bb4753dc78f43b0283", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c157365ac6abcf28e36d146d55bee4d14c031d6ce70580bb4753dc78f43b0283", kill_on_drop: false }`
[INFO] [stdout] c157365ac6abcf28e36d146d55bee4d14c031d6ce70580bb4753dc78f43b0283
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d6ed8c14a8e2903c325761b01efa1d2624714c442fe11e7965ce482f785b9cd3
[INFO] running `Command { std: "docker" "start" "-a" "d6ed8c14a8e2903c325761b01efa1d2624714c442fe11e7965ce482f785b9cd3", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `MsfGifResult` and `MsfGifState`
[INFO] [stderr]  --> src/core/mod.rs:2:33
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::{external::msf_gif::{MsfGifResult, MsfGifState}, prelude::*, tracelog};
[INFO] [stderr]   |                                 ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `platform_desktop_glfw`
[INFO] [stderr]    --> src/core/mod.rs:205:17
[INFO] [stderr]     |
[INFO] [stderr] 205 |         if cfg!(platform_desktop_glfw) {
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_desktop_glfw)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_desktop_glfw)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `platform_desktop_sdl`
[INFO] [stderr]    --> src/core/mod.rs:207:24
[INFO] [stderr]     |
[INFO] [stderr] 207 |         } else if cfg!(platform_desktop_sdl) {
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_desktop_sdl)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_desktop_sdl)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `platform_desktop_rgfw`
[INFO] [stderr]    --> src/core/mod.rs:209:24
[INFO] [stderr]     |
[INFO] [stderr] 209 |         } else if cfg!(platform_desktop_rgfw) {
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_desktop_rgfw)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_desktop_rgfw)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `platform_web`
[INFO] [stderr]    --> src/core/mod.rs:211:24
[INFO] [stderr]     |
[INFO] [stderr] 211 |         } else if cfg!(platform_web) {
[INFO] [stderr]     |                        ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_web)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_web)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `platform_drm`
[INFO] [stderr]    --> src/core/mod.rs:213:24
[INFO] [stderr]     |
[INFO] [stderr] 213 |         } else if cfg!(platform_drm) {
[INFO] [stderr]     |                        ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(platform_drm)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(platform_drm)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `graphics_api_opengl_11`
[INFO] [stderr]   --> src/rlgl.rs:17:15
[INFO] [stderr]    |
[INFO] [stderr] 17 |     #[cfg(any(graphics_api_opengl_11, graphics_api_opengl_33))]
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider using a Cargo feature instead
[INFO] [stderr]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]             [lints.rust]
[INFO] [stderr]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(graphics_api_opengl_11)'] }
[INFO] [stderr]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(graphics_api_opengl_11)");` to the top of the `build.rs`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `graphics_api_opengl_33`
[INFO] [stderr]   --> src/rlgl.rs:17:39
[INFO] [stderr]    |
[INFO] [stderr] 17 |     #[cfg(any(graphics_api_opengl_11, graphics_api_opengl_33))]
[INFO] [stderr]    |                                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider using a Cargo feature instead
[INFO] [stderr]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]             [lints.rust]
[INFO] [stderr]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(graphics_api_opengl_33)'] }
[INFO] [stderr]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(graphics_api_opengl_33)");` to the top of the `build.rs`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `graphics_api_opengl_es2`
[INFO] [stderr]   --> src/rlgl.rs:22:11
[INFO] [stderr]    |
[INFO] [stderr] 22 |     #[cfg(graphics_api_opengl_es2)]
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider using a Cargo feature instead
[INFO] [stderr]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]             [lints.rust]
[INFO] [stderr]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(graphics_api_opengl_es2)'] }
[INFO] [stderr]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(graphics_api_opengl_es2)");` to the top of the `build.rs`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::prelude::*`
[INFO] [stderr]  --> src/math/transform.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `*`, `animation::*`, `material::*`, and `mesh::*`
[INFO] [stderr]    --> src/lib.rs:133:17
[INFO] [stderr]     |
[INFO] [stderr] 133 |                 animation::*,
[INFO] [stderr]     |                 ^^^^^^^^^^^^
[INFO] [stderr] 134 |                 material::*,
[INFO] [stderr]     |                 ^^^^^^^^^^^
[INFO] [stderr] 135 |                 mesh::*,
[INFO] [stderr]     |                 ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 138 |                 *,
[INFO] [stderr]     |                 ^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `flag`
[INFO] [stderr]    --> src/core/window.rs:141:28
[INFO] [stderr]     |
[INFO] [stderr] 141 |     pub fn is_state(&self, flag: ConfigFlags) -> bool {
[INFO] [stderr]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_flag`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `flags`
[INFO] [stderr]    --> src/core/window.rs:146:33
[INFO] [stderr]     |
[INFO] [stderr] 146 |     pub fn set_state(&mut self, flags: ConfigFlags) {
[INFO] [stderr]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `flags`
[INFO] [stderr]    --> src/core/window.rs:151:35
[INFO] [stderr]     |
[INFO] [stderr] 151 |     pub fn clear_state(&mut self, flags: ConfigFlags) {
[INFO] [stderr]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `image`
[INFO] [stderr]    --> src/core/window.rs:181:32
[INFO] [stderr]     |
[INFO] [stderr] 181 |     pub fn set_icon(&mut self, image: &Image) {
[INFO] [stderr]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_image`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `images`
[INFO] [stderr]    --> src/core/window.rs:186:33
[INFO] [stderr]     |
[INFO] [stderr] 186 |     pub fn set_icons(&mut self, images: &[Image]) {
[INFO] [stderr]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_images`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `title`
[INFO] [stderr]    --> src/core/window.rs:191:33
[INFO] [stderr]     |
[INFO] [stderr] 191 |     pub fn set_title(&mut self, title: &str) {
[INFO] [stderr]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_title`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/core/window.rs:196:36
[INFO] [stderr]     |
[INFO] [stderr] 196 |     pub fn set_position(&mut self, x: i32, y: i32) {
[INFO] [stderr]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `y`
[INFO] [stderr]    --> src/core/window.rs:196:44
[INFO] [stderr]     |
[INFO] [stderr] 196 |     pub fn set_position(&mut self, x: i32, y: i32) {
[INFO] [stderr]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `monitor`
[INFO] [stderr]    --> src/core/window.rs:201:35
[INFO] [stderr]     |
[INFO] [stderr] 201 |     pub fn set_monitor(&mut self, monitor: MonitorID) {
[INFO] [stderr]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `width`
[INFO] [stderr]    --> src/core/window.rs:206:36
[INFO] [stderr]     |
[INFO] [stderr] 206 |     pub fn set_min_size(&mut self, width: usize, height: usize) {
[INFO] [stderr]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `height`
[INFO] [stderr]    --> src/core/window.rs:206:50
[INFO] [stderr]     |
[INFO] [stderr] 206 |     pub fn set_min_size(&mut self, width: usize, height: usize) {
[INFO] [stderr]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `width`
[INFO] [stderr]    --> src/core/window.rs:211:36
[INFO] [stderr]     |
[INFO] [stderr] 211 |     pub fn set_max_size(&mut self, width: usize, height: usize) {
[INFO] [stderr]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `height`
[INFO] [stderr]    --> src/core/window.rs:211:50
[INFO] [stderr]     |
[INFO] [stderr] 211 |     pub fn set_max_size(&mut self, width: usize, height: usize) {
[INFO] [stderr]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `width`
[INFO] [stderr]    --> src/core/window.rs:216:32
[INFO] [stderr]     |
[INFO] [stderr] 216 |     pub fn set_size(&mut self, width: usize, height: usize) {
[INFO] [stderr]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `height`
[INFO] [stderr]    --> src/core/window.rs:216:46
[INFO] [stderr]     |
[INFO] [stderr] 216 |     pub fn set_size(&mut self, width: usize, height: usize) {
[INFO] [stderr]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `opacity`
[INFO] [stderr]    --> src/core/window.rs:221:35
[INFO] [stderr]     |
[INFO] [stderr] 221 |     pub fn set_opacity(&mut self, opacity: f32) {
[INFO] [stderr]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opacity`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `monitor`
[INFO] [stderr]    --> src/core/window.rs:266:36
[INFO] [stderr]     |
[INFO] [stderr] 266 |     pub fn monitor_position(&self, monitor: MonitorID) -> Position2 {
[INFO] [stderr]     |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `monitor`
[INFO] [stderr]    --> src/core/window.rs:271:33
[INFO] [stderr]     |
[INFO] [stderr] 271 |     pub fn monitor_width(&self, monitor: MonitorID) -> usize {
[INFO] [stderr]     |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `monitor`
[INFO] [stderr]    --> src/core/window.rs:276:34
[INFO] [stderr]     |
[INFO] [stderr] 276 |     pub fn monitor_height(&self, monitor: MonitorID) -> usize {
[INFO] [stderr]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `monitor`
[INFO] [stderr]    --> src/core/window.rs:281:42
[INFO] [stderr]     |
[INFO] [stderr] 281 |     pub fn monitor_physical_width(&self, monitor: MonitorID) -> usize {
[INFO] [stderr]     |                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `monitor`
[INFO] [stderr]    --> src/core/window.rs:286:43
[INFO] [stderr]     |
[INFO] [stderr] 286 |     pub fn monitor_physical_height(&self, monitor: MonitorID) -> usize {
[INFO] [stderr]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `monitor`
[INFO] [stderr]    --> src/core/window.rs:291:40
[INFO] [stderr]     |
[INFO] [stderr] 291 |     pub fn monitor_refresh_rate(&self, monitor: MonitorID) -> usize {
[INFO] [stderr]     |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `monitor`
[INFO] [stderr]    --> src/core/window.rs:306:32
[INFO] [stderr]     |
[INFO] [stderr] 306 |     pub fn monitor_name(&self, monitor: MonitorID) -> &str {
[INFO] [stderr]     |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `text`
[INFO] [stderr]    --> src/core/window.rs:311:42
[INFO] [stderr]     |
[INFO] [stderr] 311 |     pub fn set_clipboard_text(&mut self, text: &str) {
[INFO] [stderr]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `hue`
[INFO] [stderr]   --> src/color.rs:31:12
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub fn hsv(hue: Degrees, saturation: Percent, value: Percent) -> Color {
[INFO] [stderr]    |            ^^^ help: if this is intentional, prefix it with an underscore: `_hue`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `saturation`
[INFO] [stderr]   --> src/color.rs:31:26
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub fn hsv(hue: Degrees, saturation: Percent, value: Percent) -> Color {
[INFO] [stderr]    |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saturation`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> src/color.rs:31:47
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub fn hsv(hue: Degrees, saturation: Percent, value: Percent) -> Color {
[INFO] [stderr]    |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]   --> src/color.rs:74:24
[INFO] [stderr]    |
[INFO] [stderr] 74 |     pub fn alpha(self, a: Percent) -> Self {
[INFO] [stderr]    |                        ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `target`
[INFO] [stderr]   --> src/color.rs:80:22
[INFO] [stderr]    |
[INFO] [stderr] 80 |     fn lerp_to(self, target: Self, amount: Percent) -> Self {
[INFO] [stderr]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `amount`
[INFO] [stderr]   --> src/color.rs:80:36
[INFO] [stderr]    |
[INFO] [stderr] 80 |     fn lerp_to(self, target: Self, amount: Percent) -> Self {
[INFO] [stderr]    |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `other`
[INFO] [stderr]   --> src/math/vector.rs:93:20
[INFO] [stderr]    |
[INFO] [stderr] 93 |     fn angle(self, other: Self) -> Radians {
[INFO] [stderr]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `other`
[INFO] [stderr]    --> src/math/vector.rs:416:20
[INFO] [stderr]     |
[INFO] [stderr] 416 |     fn angle(self, other: Self) -> Radians {
[INFO] [stderr]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `other`
[INFO] [stderr]    --> src/math/vector.rs:719:20
[INFO] [stderr]     |
[INFO] [stderr] 719 |     fn angle(self, other: Self) -> Radians {
[INFO] [stderr]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `other`
[INFO] [stderr]   --> src/math/quaternion.rs:62:20
[INFO] [stderr]    |
[INFO] [stderr] 62 |     fn angle(self, other: Self) -> Radians {
[INFO] [stderr]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `angle`
[INFO] [stderr]    --> src/graphics/camera.rs:151:28
[INFO] [stderr]     |
[INFO] [stderr] 151 |     pub fn roll(&mut self, angle: Radians) {
[INFO] [stderr]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_angle`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `aspect`
[INFO] [stderr]    --> src/graphics/camera.rs:159:37
[INFO] [stderr]     |
[INFO] [stderr] 159 |     pub fn projection_matrix(&self, aspect: f32) -> Matrix {
[INFO] [stderr]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_aspect`
[INFO] [stderr] 
[INFO] [stderr] warning: type `MsfCookedFrame` is more private than the item `MsfGifState::previous_frame`
[INFO] [stderr]   --> src/external/msf_gif.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 32 |     pub previous_frame: MsfCookedFrame,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `MsfGifState::previous_frame` is reachable at visibility `pub(crate)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `MsfCookedFrame` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/external/msf_gif.rs:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | struct MsfCookedFrame {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `MsfCookedFrame` is more private than the item `MsfGifState::current_frame`
[INFO] [stderr]   --> src/external/msf_gif.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 33 |     pub current_frame: MsfCookedFrame,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `MsfGifState::current_frame` is reachable at visibility `pub(crate)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `MsfCookedFrame` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/external/msf_gif.rs:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | struct MsfCookedFrame {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MsfGifResult` is never constructed
[INFO] [stderr]  --> src/external/msf_gif.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct MsfGifResult {
[INFO] [stderr]   |            ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MsfCookedFrame` is never constructed
[INFO] [stderr]   --> src/external/msf_gif.rs:13:8
[INFO] [stderr]    |
[INFO] [stderr] 13 | struct MsfCookedFrame {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MsfGifBuffer` is never constructed
[INFO] [stderr]   --> src/external/msf_gif.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct MsfGifBuffer {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `MsfGifFileWriteFunc` is never used
[INFO] [stderr]   --> src/external/msf_gif.rs:27:10
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub type MsfGifFileWriteFunc = dyn FnMut(&[u8], usize, usize, &mut [u8]) -> usize;
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MsfGifState` is never constructed
[INFO] [stderr]   --> src/external/msf_gif.rs:29:12
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub struct MsfGifState<'a> {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `frame`, `ty`, and `params` are never read
[INFO] [stderr]   --> src/core/mod.rs:86:5
[INFO] [stderr]    |
[INFO] [stderr] 84 | pub struct AutomationEvent {
[INFO] [stderr]    |            --------------- fields in this struct
[INFO] [stderr] 85 |     /// Event frame
[INFO] [stderr] 86 |     frame: usize,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 87 |     /// Event type (AutomationEventType)
[INFO] [stderr] 88 |     ty: AutomationEventType,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 89 |     /// Event parameters (if required)
[INFO] [stderr] 90 |     params: [i32; 4],
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `base_path` is never read
[INFO] [stderr]   --> src/core/mod.rs:96:5
[INFO] [stderr]    |
[INFO] [stderr] 94 | pub struct Storage {
[INFO] [stderr]    |            ------- field in this struct
[INFO] [stderr] 95 |     // Base path for data storage
[INFO] [stderr] 96 |     base_path: PathBuf,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Storage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]    --> src/core/mod.rs:102:5
[INFO] [stderr]     |
[INFO] [stderr] 100 | pub struct Time {
[INFO] [stderr]     |            ---- fields in this struct
[INFO] [stderr] 101 |     /// Current time measure
[INFO] [stderr] 102 |     current: f64,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 103 |     /// Previous time measure
[INFO] [stderr] 104 |     previous: f64,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 105 |     /// Time measure for frame update
[INFO] [stderr] 106 |     update: f64,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 107 |     /// Time measure for frame draw
[INFO] [stderr] 108 |     draw: f64,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 109 |     /// Time measure for one frame
[INFO] [stderr] 110 |     frame: f64,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 111 |     /// Desired time for one frame, if 0 not applied
[INFO] [stderr] 112 |     target: f64,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 113 |     /// Base time measure for hi-res timer (PLATFORM_ANDROID, PLATFORM_DRM)
[INFO] [stderr] 114 |     base: usize,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 115 |     /// Frame counter
[INFO] [stderr] 116 |     frame_counter: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Time` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `is_gpu_ready`, `current_event_list`, `automation_event_recording`, and `screenshot_counter` are never read
[INFO] [stderr]    --> src/core/mod.rs:126:5
[INFO] [stderr]     |
[INFO] [stderr] 120 | pub struct Core<'a, 'b, 'c> {
[INFO] [stderr]     |            ---- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 126 |     is_gpu_ready: bool,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 127 |     /// Current automation events list, set by user, keep internal pointer
[INFO] [stderr] 128 |     current_event_list: Option<&'c mut Vec<AutomationEvent>>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 129 |     /// Recording automation events flag
[INFO] [stderr] 130 |     automation_event_recording: bool,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 134 |     screenshot_counter: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]   --> src/core/window.rs:58:16
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub struct Window<'a, 'b> {
[INFO] [stderr]    |            ------ fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 58 |     pub(super) flags: ConfigFlags,
[INFO] [stderr]    |                ^^^^^
[INFO] [stderr] 59 |     /// Check if window has been initialized successfully
[INFO] [stderr] 60 |     pub(super) ready: bool,
[INFO] [stderr]    |                ^^^^^
[INFO] [stderr] 61 |     /// Check if fullscreen mode is enabled
[INFO] [stderr] 62 |     pub(super) fullscreen: bool,
[INFO] [stderr]    |                ^^^^^^^^^^
[INFO] [stderr] 63 |     /// Check if window set for closing
[INFO] [stderr] 64 |     pub(super) should_close: bool,
[INFO] [stderr]    |                ^^^^^^^^^^^^
[INFO] [stderr] 65 |     /// Check if window has been resized last frame
[INFO] [stderr] 66 |     pub(super) resized_last_frame: bool,
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 70 |     pub(super) using_fbo: bool,
[INFO] [stderr]    |                ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 |     pub(super) position: Point,
[INFO] [stderr]    |                ^^^^^^^^
[INFO] [stderr] 74 |     /// Window previous position (required on borderless windowed toggle)
[INFO] [stderr] 75 |     pub(super) previous_position: Point,
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 76 |     /// Display width and height (monitor, device-screen, LCD, ...)
[INFO] [stderr] 77 |     pub(super) display: Size,
[INFO] [stderr]    |                ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 81 |     pub(super) previous_screen: Size,
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^
[INFO] [stderr] 82 |     /// Current render width and height (depends on active fbo)
[INFO] [stderr] 83 |     pub(super) current_fbo: Size,
[INFO] [stderr]    |                ^^^^^^^^^^^
[INFO] [stderr] 84 |     /// Framebuffer width and height (render area, including black bars if required)
[INFO] [stderr] 85 |     pub(super) render: Size,
[INFO] [stderr]    |                ^^^^^^
[INFO] [stderr] 86 |     /// Offset from render area (must be divided by 2)
[INFO] [stderr] 87 |     pub(super) render_offset: Point,
[INFO] [stderr]    |                ^^^^^^^^^^^^^
[INFO] [stderr] 88 |     /// Screen minimum width and height (for resizable window)
[INFO] [stderr] 89 |     pub(super) screen_min: Size,
[INFO] [stderr]    |                ^^^^^^^^^^
[INFO] [stderr] 90 |     /// Screen maximum width and height (for resizable window)
[INFO] [stderr] 91 |     pub(super) screen_max: Size,
[INFO] [stderr]    |                ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 96 |     pub(super) drop_filepaths: Vec<&'b Path>,
[INFO] [stderr]    |                ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Window` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]    --> src/core/input.rs:269:16
[INFO] [stderr]     |
[INFO] [stderr] 265 | pub struct Keyboard {
[INFO] [stderr]     |            -------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 269 |     pub(super) current_key_state: [u8; Self::MAX_KEYS],
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 270 |     /// Registers previous frame key state
[INFO] [stderr] 271 |     pub(super) previous_key_state: [u8; Self::MAX_KEYS],
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 275 |     pub(super) key_repeat_in_frame: [char; Self::MAX_KEYS],
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 278 |     pub(super) key_pressed_queue: [char; Self::MAX_KEY_PRESSED_QUEUE],
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 279 |     /// Input keys queue count
[INFO] [stderr] 280 |     pub(super) key_pressed_queue_count: usize,
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 283 |     pub(super) char_pressed_queue: [char; Self::MAX_CHAR_PRESSED_QUEUE],
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 284 |     /// Input characters queue count
[INFO] [stderr] 285 |     pub(super) char_pressed_queue_count: usize,
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Keyboard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]    --> src/core/input.rs:315:16
[INFO] [stderr]     |
[INFO] [stderr] 313 | pub struct Mouse {
[INFO] [stderr]     |            ----- fields in this struct
[INFO] [stderr] 314 |     /// Mouse offset
[INFO] [stderr] 315 |     pub(super) offset: Offset2,
[INFO] [stderr]     |                ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 319 |     pub(super) current_position: Vector2,
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^
[INFO] [stderr] 320 |     /// Previous mouse position
[INFO] [stderr] 321 |     pub(super) previous_position: Vector2,
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 326 |     pub(super) is_cursor_hidden: bool,
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^
[INFO] [stderr] 327 |     /// Tracks if cursor is inside client area
[INFO] [stderr] 328 |     pub(super) is_cursor_on_screen: bool,
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 331 |     pub(super) current_button_state: [char; Self::MAX_BUTTONS],
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 332 |     /// Registers previous mouse button state
[INFO] [stderr] 333 |     pub(super) previous_button_state: [char; Self::MAX_BUTTONS],
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 334 |     /// Registers current mouse wheel variation
[INFO] [stderr] 335 |     pub(super) current_wheel_move: Vector2,
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 336 |     /// Registers previous mouse wheel variation
[INFO] [stderr] 337 |     pub(super) previous_wheel_move: Vector2,
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Mouse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `point_count`, `point_id`, `position`, `current_touch_state`, and `previous_touch_state` are never read
[INFO] [stderr]    --> src/core/input.rs:348:5
[INFO] [stderr]     |
[INFO] [stderr] 346 | pub struct Touch {
[INFO] [stderr]     |            ----- fields in this struct
[INFO] [stderr] 347 |     /// Number of touch points active
[INFO] [stderr] 348 |     point_count: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 349 |     /// Point identifiers
[INFO] [stderr] 350 |     point_id: [usize; Self::MAX_POINTS],
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 351 |     /// Touch position on screen
[INFO] [stderr] 352 |     position: [Vector2; Self::MAX_POINTS],
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 353 |     /// Registers current touch state
[INFO] [stderr] 354 |     current_touch_state: [char; Self::MAX_POINTS],
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 355 |     /// Registers previous touch state
[INFO] [stderr] 356 |     previous_touch_state: [char; Self::MAX_POINTS],
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Touch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `axis_count`, `ready`, `name`, `current_button_state`, `previous_button_state`, and `axis_state` are never read
[INFO] [stderr]    --> src/core/input.rs:369:16
[INFO] [stderr]     |
[INFO] [stderr] 365 | pub struct Gamepad {
[INFO] [stderr]     |            ------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 369 |     pub(super) axis_count: [usize; Self::MAX_GAMEPADS],
[INFO] [stderr]     |                ^^^^^^^^^^
[INFO] [stderr] 370 |     /// Flag to know if gamepad is ready
[INFO] [stderr] 371 |     pub(super) ready: [bool; Self::MAX_GAMEPADS],
[INFO] [stderr]     |                ^^^^^
[INFO] [stderr] 372 |     /// Gamepad name holder
[INFO] [stderr] 373 |     pub(super) name: [[char; Self::GAMEPAD_NAME_LEN]; Self::MAX_GAMEPADS],
[INFO] [stderr]     |                ^^^^
[INFO] [stderr] 374 |     /// Current gamepad buttons state
[INFO] [stderr] 375 |     pub(super) current_button_state: [[char; Self::MAX_BUTTONS]; Self::MAX_GAMEPADS],
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 376 |     /// Previous gamepad buttons state
[INFO] [stderr] 377 |     pub(super) previous_button_state: [[char; Self::MAX_BUTTONS]; Self::MAX_GAMEPADS],
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 378 |     /// Gamepad axis state
[INFO] [stderr] 379 |     pub(super) axis_state: [[f32; Self::MAX_AXIS]; Self::MAX_GAMEPADS],
[INFO] [stderr]     |                ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Gamepad` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RLGL_VERSION` is never used
[INFO] [stderr]  --> src/rlgl.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub const RLGL_VERSION: &'static str = "5.0";
[INFO] [stderr]   |           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `VertexBuffer` is never constructed
[INFO] [stderr]  --> src/rlgl.rs:4:19
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub(crate) struct VertexBuffer {
[INFO] [stderr]   |                   ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DrawCall` is never constructed
[INFO] [stderr]   --> src/rlgl.rs:36:19
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub(crate) struct DrawCall {
[INFO] [stderr]    |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RenderBatch` is never constructed
[INFO] [stderr]   --> src/rlgl.rs:48:19
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub(crate) struct RenderBatch {
[INFO] [stderr]    |                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `GlVersion` is never used
[INFO] [stderr]   --> src/rlgl.rs:65:10
[INFO] [stderr]    |
[INFO] [stderr] 65 | pub enum GlVersion {
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RLGL` is never constructed
[INFO] [stderr]   --> src/rlgl.rs:80:19
[INFO] [stderr]    |
[INFO] [stderr] 80 | pub(crate) struct RLGL {
[INFO] [stderr]    |                   ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `raylib-rs-native` (lib) generated 69 warnings (run `cargo fix --lib -p raylib-rs-native` to apply 3 suggestions)
[INFO] [stderr] warning: `raylib-rs-native` (lib test) generated 69 warnings (69 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/raylib_rs_native-d9472ffa9e8699f4)
[INFO] [stdout] running 0 tests
[INFO] [stderr]    Doc-tests raylib_rs_native
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/math/matrix.rs - math::matrix::Matrix (line 8) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/math/matrix.rs - math::matrix::Matrix (line 8) stdout ----
[INFO] [stdout] error: expected one of `.`, `;`, `?`, `}`, or an operator, found `,`
[INFO] [stdout]  --> src/math/matrix.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | m0 == [0][0], m4 == [0][1], m8  == [0][2], m12 == [0][3],
[INFO] [stdout]   |             ^ expected one of `.`, `;`, `?`, `}`, or an operator
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/math/matrix.rs - math::matrix::Matrix (line 8)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "d6ed8c14a8e2903c325761b01efa1d2624714c442fe11e7965ce482f785b9cd3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d6ed8c14a8e2903c325761b01efa1d2624714c442fe11e7965ce482f785b9cd3", kill_on_drop: false }`
[INFO] [stdout] d6ed8c14a8e2903c325761b01efa1d2624714c442fe11e7965ce482f785b9cd3
