[INFO] fetching crate awi 0.9.1...
[INFO] testing awi-0.9.1 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate awi 0.9.1 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate awi 0.9.1
[INFO] finished tweaking crates.io crate awi 0.9.1
[INFO] tweaked toml for crates.io crate awi 0.9.1 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate awi 0.9.1 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 55 packages to latest compatible versions
[INFO] [stderr]       Adding dl_api v0.2.0 (available: v0.4.0)
[INFO] [stderr]       Adding stdweb-derive v0.4.0 (available: v0.5.3)
[INFO] [stderr]       Adding stick v0.4.1 (available: v0.13.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cgmath v0.16.1
[INFO] [stderr]   Downloaded proc-macro2 v0.2.3
[INFO] [stderr]   Downloaded dl_api v0.2.0
[INFO] [stderr]   Downloaded stdweb-derive v0.4.0
[INFO] [stderr]   Downloaded quote v0.4.2
[INFO] [stderr]   Downloaded ami v0.13.1
[INFO] [stderr]   Downloaded stick v0.4.1
[INFO] [stderr]   Downloaded afi v0.8.0-pre0
[INFO] [stderr]   Downloaded syn v0.12.15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 21550cbd33d7b2dffaea9005a72a1b301ee5aadd70faa9c934f936e5e4fa7fb7
[INFO] running `Command { std: "docker" "start" "-a" "21550cbd33d7b2dffaea9005a72a1b301ee5aadd70faa9c934f936e5e4fa7fb7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "21550cbd33d7b2dffaea9005a72a1b301ee5aadd70faa9c934f936e5e4fa7fb7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "21550cbd33d7b2dffaea9005a72a1b301ee5aadd70faa9c934f936e5e4fa7fb7", kill_on_drop: false }`
[INFO] [stdout] 21550cbd33d7b2dffaea9005a72a1b301ee5aadd70faa9c934f936e5e4fa7fb7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 46568854ef34e6a0704cf0cc4e00beb8ad0c2ae84065fdba924c6b3ded6fcca7
[INFO] running `Command { std: "docker" "start" "-a" "46568854ef34e6a0704cf0cc4e00beb8ad0c2ae84065fdba924c6b3ded6fcca7", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling cgmath v0.16.1
[INFO] [stderr]    Compiling approx v0.1.1
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling afi v0.8.0-pre0
[INFO] [stderr]    Compiling stick v0.4.1
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling dl_api v0.2.0
[INFO] [stderr]    Compiling ami v0.13.1
[INFO] [stderr]    Compiling awi v0.9.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `bitrig`
[INFO] [stdout]   --> src/lib.rs:34:101
[INFO] [stdout]    |
[INFO] [stdout] 34 | /* 2. Linux / BSD */ #[cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "bitrig", target_os ...
[INFO] [stdout]    |                                                                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `rpi`
[INFO] [stdout]   --> src/lib.rs:35:39
[INFO] [stdout]    |
[INFO] [stdout] 35 | /* 3. Raspberry Pi (feature) */ #[cfg(target_os = "rpi")] pub(crate) mod os { mod rpi; pub use self::rpi::*; }
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `deskron`
[INFO] [stdout]   --> src/lib.rs:36:34
[INFO] [stdout]    |
[INFO] [stdout] 36 | /* 4. Deskron (feature) */ #[cfg(target_os = "deskron")] pub(crate) mod os { mod deskron; pub use self::deskron::*; }
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `switch`
[INFO] [stdout]   --> src/lib.rs:40:51
[INFO] [stdout]    |
[INFO] [stdout] 40 | /* 8. Nintendo Switch (Custom target_os) */ #[cfg(target_os = "switch")] pub(crate) mod os { mod switch; pub use self::switch::*; }
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `xbox`
[INFO] [stdout]   --> src/lib.rs:42:45
[INFO] [stdout]    |
[INFO] [stdout] 42 | /* 10. XBox One (Custom target_os) */ #[cfg(target_os = "xbox")] pub(crate) mod os { mod xbox; pub use self::xbox::*; }
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[macro_use] extern crate ami;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathOp`
[INFO] [stdout]   --> src/screen/mod.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | use afi::{VFrame, PathOp};
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector`
[INFO] [stdout]   --> src/screen/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use Vector;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `nintendo_switch`
[INFO] [stdout]   --> src/render/mod.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 |     target_os="windows", target_os="nintendo_switch"
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `web`
[INFO] [stdout]   --> src/render/mod.rs:19:2
[INFO] [stdout]    |
[INFO] [stdout] 19 |     target_os="web"
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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: `Memory`
[INFO] [stdout]   --> src/render/vulkan/asi/mod.rs:24:25
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub use self::memory::{ Memory, Buffer, BufferBuilderType };
[INFO] [stdout]    |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector`
[INFO] [stdout]   --> src/render/vulkan/asi/mod.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub use Vector;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rotation`
[INFO] [stdout]   --> src/render/opengl/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use Rotation;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `nintendo_switch`
[INFO] [stdout]   --> src/render/mod.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 |         target_os="windows", target_os="nintendo_switch"
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/os/linux/mod.rs:245:3
[INFO] [stdout]     |
[INFO] [stdout] 245 |         extern { fn free(this: *mut XcbInternAtomReply) -> (); }
[INFO] [stdout]     |         ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/os/linux/mod.rs:286:2
[INFO] [stdout]     |
[INFO] [stdout] 286 |     extern { fn free(event: *mut XcbGenericEvent) -> (); }
[INFO] [stdout]     |     ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:245:21
[INFO] [stdout]     |
[INFO] [stdout] 245 |             = [unsafe { mem::uninitialized() }; 2];
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:458:19
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:461:36
[INFO] [stdout]     |
[INFO] [stdout] 461 |             transform: unsafe { ::std::mem::uninitialized() },
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:747:19
[INFO] [stdout]     |
[INFO] [stdout] 747 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:794:19
[INFO] [stdout]     |
[INFO] [stdout] 794 |                 unsafe { mem::uninitialized() },
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:795:19
[INFO] [stdout]     |
[INFO] [stdout] 795 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:848:19
[INFO] [stdout]     |
[INFO] [stdout] 848 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:900:19
[INFO] [stdout]     |
[INFO] [stdout] 900 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:950:19
[INFO] [stdout]     |
[INFO] [stdout] 950 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/mod.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut layout = mem::uninitialized();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:103:24
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let mut mapped = mem::uninitialized();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:122:23
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let mut props = mem::uninitialized();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:207:27
[INFO] [stdout]     |
[INFO] [stdout] 207 |     let mut semaphore = mem::uninitialized();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:354:26
[INFO] [stdout]     |
[INFO] [stdout] 354 |     let mut image_id = mem::uninitialized();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:371:30
[INFO] [stdout]     |
[INFO] [stdout] 371 |     let mut surface_info = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:421:30
[INFO] [stdout]     |
[INFO] [stdout] 421 |     let mut surface_info = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:466:28
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let mut image_view = mem::uninitialized();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:690:29
[INFO] [stdout]     |
[INFO] [stdout] 690 |     let mut render_pass = mem::uninitialized();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:861:34
[INFO] [stdout]     |
[INFO] [stdout] 861 |         let mut shader = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/memory/buffer.rs:38:34
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let mut buffer = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/memory/buffer.rs:39:34
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let mut memory = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/memory/buffer.rs:40:36
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut mem_reqs = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/memory/buffer.rs:123:42
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let mut mapped: *mut T = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/image.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut image = mem::uninitialized();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/image.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut memory = mem::uninitialized();
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/image.rs:35:30
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let mut memory_reqs = mem::uninitialized();
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/mod.rs:92:26
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut instance = mem::uninitialized();
[INFO] [stdout]    |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/surface.rs:99:34
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:130:34
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:161:34
[INFO] [stdout]     |
[INFO] [stdout] 161 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/device.rs:39:27
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut gpus = vec![mem::uninitialized(); num_gpus as usize];
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/device.rs:90:27
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 let mut format = mem::uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/device.rs:96:26
[INFO] [stdout]    |
[INFO] [stdout] 96 |                 let mut props = mem::uninitialized();
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/device.rs:116:24
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let mut device = mem::uninitialized();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/queue.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut queue = mem::uninitialized();
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/command_pool.rs:49:32
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let mut command_buffer = mem::uninitialized();
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/sampler.rs:24:25
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut sampler = mem::uninitialized();
[INFO] [stdout]    |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/sprite.rs:44:28
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut desc_pool = mem::uninitialized();
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/sprite.rs:45:27
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut desc_set = mem::uninitialized();
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:102:16
[INFO] [stdout]     |
[INFO] [stdout] 102 |             ::std::mem::uninitialized()
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:157:24
[INFO] [stdout]     |
[INFO] [stdout] 157 |             sets: unsafe { mem::uninitialized() },
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |             mem::uninitialized()
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |             mem::uninitialized()
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |             mem::uninitialized()
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/style.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut pipeline = mem::uninitialized();
[INFO] [stdout]    |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/style.rs:47:33
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let mut pipeline_layout = mem::uninitialized();
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/style.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut descsetlayout = mem::uninitialized();
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/fence.rs:39:23
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut fence = mem::uninitialized();
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/opengl/asi/loader.rs:134:36
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let mut nconfigs = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/opengl/asi/loader.rs:172:37
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut visual_id = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/opengl/asi/texture.rs:18:37
[INFO] [stdout]    |
[INFO] [stdout] 18 |             let mut a = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/opengl/asi/program.rs:97:40
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut value = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/opengl/asi/program.rs:103:41
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let mut value = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/opengl/asi/program.rs:108:31
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 vec![unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/opengl/asi/buffer.rs:18:36
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut buffers = [unsafe { mem::uninitialized() }];
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/screen/mod.rs:30:15
[INFO] [stdout]    |
[INFO] [stdout] 30 |     display: Box<Display>,
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     display: Box<dyn Display>,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/render/base.rs:104:26
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn draw(&self, writer: &Fn(u16, u16) -> [u8; 4]) -> ();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn draw(&self, writer: &dyn Fn(u16, u16) -> [u8; 4]) -> ();
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/screen/mod.rs:212:30
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn draw(&self, writer: &Fn(u16, u16) -> [u8; 4]) {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn draw(&self, writer: &dyn Fn(u16, u16) -> [u8; 4]) {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/render/vulkan/renderer/ffi.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 |     writer: &Fn(u16, u16) -> [u8; 4], width: usize, height: usize,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     writer: &dyn Fn(u16, u16) -> [u8; 4], width: usize, height: usize,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:205:57
[INFO] [stdout]     |
[INFO] [stdout] 205 | fn set_texture(vw: &Vw, texture: &mut Texture, writer: &Fn(u16, u16) -> [u8; 4])
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 205 | fn set_texture(vw: &Vw, texture: &mut Texture, writer: &dyn Fn(u16, u16) -> [u8; 4])
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/render/vulkan/mod.rs:156:26
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn draw(&self, writer: &Fn(u16, u16) -> [u8; 4]) {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn draw(&self, writer: &dyn Fn(u16, u16) -> [u8; 4]) {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/render/opengl/mod.rs:662:27
[INFO] [stdout]     |
[INFO] [stdout] 662 |     fn draw(&self, _writer: &Fn(u16, u16) -> [u8; 4]) {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 662 |     fn draw(&self, _writer: &dyn Fn(u16, u16) -> [u8; 4]) {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/render/mod.rs:23:36
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn new_display() -> Result<Box<Display>, String> {
[INFO] [stdout]    |                                    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn new_display() -> Result<Box<dyn Display>, String> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:316:12
[INFO] [stdout]     |
[INFO] [stdout] 316 |         writer: &Fn(u16, u16) -> [u8; 4])
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 316 |         writer: &dyn Fn(u16, u16) -> [u8; 4])
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::base::Display`
[INFO] [stdout]    --> src/render/opengl/mod.rs:237:7
[INFO] [stdout]     |
[INFO] [stdout] 237 |         use self::base::Display;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wh`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:315:28
[INFO] [stdout]     |
[INFO] [stdout] 315 |     pub(crate) fn draw(&self, wh: (u16, u16),
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_wh`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:467:7
[INFO] [stdout]     |
[INFO] [stdout] 467 |         let mut renderer = Renderer {
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:414:7
[INFO] [stdout]     |
[INFO] [stdout] 414 |         let w = wh.0 as usize;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:415:7
[INFO] [stdout]     |
[INFO] [stdout] 415 |         let h = wh.1 as usize;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fog`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:713:3
[INFO] [stdout]     |
[INFO] [stdout] 713 |         fog: bool, camera: bool) -> ShapeHandle
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:713:14
[INFO] [stdout]     |
[INFO] [stdout] 713 |         fog: bool, camera: bool) -> ShapeHandle
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fog`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:767:33
[INFO] [stdout]     |
[INFO] [stdout] 767 |         color: [f32; 4], alpha: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:767:44
[INFO] [stdout]     |
[INFO] [stdout] 767 |         color: [f32; 4], alpha: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fog`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:815:31
[INFO] [stdout]     |
[INFO] [stdout] 815 |         colors: usize, alpha: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:815:42
[INFO] [stdout]     |
[INFO] [stdout] 815 |         colors: usize, alpha: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fog`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:868:55
[INFO] [stdout]     |
[INFO] [stdout] 868 |         texture: usize, texcoords: usize, fade_factor: f32, fog: bool,
[INFO] [stdout]     |                                                             ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:869:3
[INFO] [stdout]     |
[INFO] [stdout] 869 |         camera: bool) -> ShapeHandle
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fog`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:914:16
[INFO] [stdout]     |
[INFO] [stdout] 914 |         alpha: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:914:27
[INFO] [stdout]     |
[INFO] [stdout] 914 |         alpha: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fog`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:971:3
[INFO] [stdout]     |
[INFO] [stdout] 971 |         fog: bool, camera: bool) -> ShapeHandle
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:971:14
[INFO] [stdout]     |
[INFO] [stdout] 971 |         fog: bool, camera: bool) -> ShapeHandle
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/render/opengl/asi/mod.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |             let (mut display, visual_id) = lib.init();
[INFO] [stdout]    |                  ----^^^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/render/opengl/mod.rs:210:7
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let mut display = self::Display {
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/opengl/mod.rs:377:47
[INFO] [stdout]     |
[INFO] [stdout] 377 |         color: [f32; 4], blending: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/opengl/mod.rs:409:48
[INFO] [stdout]     |
[INFO] [stdout] 409 |         colors: Gradient, blending: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/opengl/mod.rs:452:3
[INFO] [stdout]     |
[INFO] [stdout] 452 |         camera: bool) -> Shape
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/opengl/mod.rs:494:3
[INFO] [stdout]     |
[INFO] [stdout] 494 |         camera: bool) -> Shape
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/opengl/mod.rs:530:14
[INFO] [stdout]     |
[INFO] [stdout] 530 |         fog: bool, camera: bool) -> Shape
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/opengl/mod.rs:572:30
[INFO] [stdout]     |
[INFO] [stdout] 572 |         blending: bool, fog: bool, camera: bool) -> Shape
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xyz`
[INFO] [stdout]    --> src/render/opengl/mod.rs:649:7
[INFO] [stdout]     |
[INFO] [stdout] 649 |         let xyz = self.xyz;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_xyz`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rotate_xyz`
[INFO] [stdout]    --> src/render/opengl/mod.rs:650:7
[INFO] [stdout]     |
[INFO] [stdout] 650 |         let rotate_xyz = self.rotate_xyz;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rotate_xyz`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `is_empty`, `last`, `touch_release`, and `touch_press` are never used
[INFO] [stdout]    --> src/input/mod.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 455 | impl InputQueue {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 466 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 471 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     pub fn last(&self) -> Event {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     pub fn touch_release(&mut self, wh: (u16, u16), c: (i16, i16)) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 630 |     pub fn touch_press(&mut self, wh: (u16, u16), c: (i16, i16)) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]    --> src/input/keyboard/mod.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl Keyboard {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn get(&mut self, key: u8) -> bool {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `WindowOps` is never used
[INFO] [stdout]  --> src/window_ops.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait WindowOps {
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `style_gui` and `rotate_xyz` are never read
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:307:2
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub struct Renderer {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 307 |     style_gui: Style,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |     rotate_xyz: Vector,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FogUniform` is never constructed
[INFO] [stdout]   --> src/render/vulkan/asi/mod.rs:47:40
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Clone)] #[repr(C)] pub struct FogUniform {
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Memory` is never constructed
[INFO] [stdout]   --> src/render/vulkan/asi/memory/mod.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Memory<T> where T: Clone {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `update` are never used
[INFO] [stdout]   --> src/render/vulkan/asi/memory/mod.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<T> Memory<T> where T: Clone {
[INFO] [stdout]    | -------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn new(vulkan: &Gpu, data: T) -> Memory<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn update(&self, vulkan: &Gpu) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `camera_uniform`, `fog`, and `range` are never read
[INFO] [stdout]   --> src/render/opengl/mod.rs:53:2
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct Style {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 53 |     camera_uniform: UniformData,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 54 |     has_fog: UniformData,
[INFO] [stdout] 55 |     fog: UniformData,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 56 |     range: UniformData,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `uniform_vec2`, `uniform_vec3`, and `tex_subimage` are never read
[INFO] [stdout]    --> src/render/opengl/asi/mod.rs:183:2
[INFO] [stdout]     |
[INFO] [stdout] 146 | struct OpenGLContext {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 183 |     uniform_vec2: unsafe extern "system" fn(GLint, GLfloat, GLfloat) -> (),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 184 |     uniform_vec3: unsafe extern "system" fn(GLint, GLfloat, GLfloat, GLfloat)
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     tex_subimage: unsafe extern "system" fn(GLenum, GLint, GLint, GLint, GLsizei,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update` is never used
[INFO] [stdout]   --> src/render/opengl/asi/texture.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Texture {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn update(&self, w: u16, h: u16, px: &[u8]) -> () {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_vec2` and `set_vec3` are never used
[INFO] [stdout]   --> src/render/opengl/asi/uniform_data.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl UniformData {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn set_vec2(&self, vec: &[f32; 2]) -> () {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn set_vec3(&self, vec: &[f32; 3]) -> () {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/screen/mod.rs:39:2
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub ctx: Ctx,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/render/base.rs:104:2
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn draw(&self, writer: &Fn(u16, u16) -> [u8; 4]) -> ();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> src/render/base.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub trait Point {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/render/base.rs:161:2
[INFO] [stdout]     |
[INFO] [stdout] 161 |     fn point(&self) -> Vector;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkFramebuffer` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:245:16
[INFO] [stdout]     |
[INFO] [stdout] 245 |             = [unsafe { mem::uninitialized() }; 2];
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this code causes undefined behavior when executed
[INFO] [stdout]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:32:67
[INFO] [stdout]     |
[INFO] [stdout]  32 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub struct VkFramebuffer(pub(crate) u64);
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:458:14
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ami::Matrix` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:461:24
[INFO] [stdout]     |
[INFO] [stdout] 461 |             transform: unsafe { ::std::mem::uninitialized() },
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: floats must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:747:14
[INFO] [stdout]     |
[INFO] [stdout] 747 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:794:14
[INFO] [stdout]     |
[INFO] [stdout] 794 |                 unsafe { mem::uninitialized() },
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:795:14
[INFO] [stdout]     |
[INFO] [stdout] 795 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:848:14
[INFO] [stdout]     |
[INFO] [stdout] 848 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:900:14
[INFO] [stdout]     |
[INFO] [stdout] 900 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:950:14
[INFO] [stdout]     |
[INFO] [stdout] 950 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkSubresourceLayout` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/mod.rs:81:19
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut layout = mem::uninitialized();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      this code causes undefined behavior when executed
[INFO] [stdout]    |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/render/vulkan/asi/types.rs:54:2
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub offset: VkDeviceSize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut T` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:103:19
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let mut mapped = mem::uninitialized();
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this code causes undefined behavior when executed
[INFO] [stdout]     |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkPhysicalDeviceMemoryProperties` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:122:18
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let mut props = mem::uninitialized();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this code causes undefined behavior when executed
[INFO] [stdout]     |                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:498:2
[INFO] [stdout]     |
[INFO] [stdout] 498 |     pub memory_type_count: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:207:22
[INFO] [stdout]     |
[INFO] [stdout] 207 |     let mut semaphore = mem::uninitialized();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this code causes undefined behavior when executed
[INFO] [stdout]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:354:21
[INFO] [stdout]     |
[INFO] [stdout] 354 |     let mut image_id = mem::uninitialized();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this code causes undefined behavior when executed
[INFO] [stdout]     |                        help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkSurfaceCapabilitiesKHR` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:371:25
[INFO] [stdout]     |
[INFO] [stdout] 371 |     let mut surface_info = mem::uninitialized();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this code causes undefined behavior when executed
[INFO] [stdout]     |                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:625:2
[INFO] [stdout]     |
[INFO] [stdout] 625 |     pub min_image_count: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkSurfaceCapabilitiesKHR` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:421:25
[INFO] [stdout]     |
[INFO] [stdout] 421 |     let mut surface_info = mem::uninitialized();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this code causes undefined behavior when executed
[INFO] [stdout]     |                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:625:2
[INFO] [stdout]     |
[INFO] [stdout] 625 |     pub min_image_count: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:466:23
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let mut image_view = mem::uninitialized();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkRenderPass` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:690:24
[INFO] [stdout]     |
[INFO] [stdout] 690 |     let mut render_pass = mem::uninitialized();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this code causes undefined behavior when executed
[INFO] [stdout]     |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:31:66
[INFO] [stdout]     |
[INFO] [stdout]  31 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub struct VkRenderPass(pub(crate) u64);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkShaderModule` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:861:29
[INFO] [stdout]     |
[INFO] [stdout] 861 |         let mut shader = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this code causes undefined behavior when executed
[INFO] [stdout]     |                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:33:75
[INFO] [stdout]     |
[INFO] [stdout]  33 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub(crate) struct VkShaderModule(pub(crate) u64);
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/memory/buffer.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let mut buffer = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   this code causes undefined behavior when executed
[INFO] [stdout]    |                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/memory/buffer.rs:39:29
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let mut memory = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   this code causes undefined behavior when executed
[INFO] [stdout]    |                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkMemoryRequirements` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/memory/buffer.rs:40:31
[INFO] [stdout]     |
[INFO] [stdout]  40 |         let mut mem_reqs = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this code causes undefined behavior when executed
[INFO] [stdout]     |                                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:456:2
[INFO] [stdout]     |
[INFO] [stdout] 456 |     pub size: VkDeviceSize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut T` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/memory/buffer.rs:123:37
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let mut mapped: *mut T = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/image.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut image = mem::uninitialized();
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this code causes undefined behavior when executed
[INFO] [stdout]    |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/image.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut memory = mem::uninitialized();
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          this code causes undefined behavior when executed
[INFO] [stdout]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkMemoryRequirements` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/image.rs:35:25
[INFO] [stdout]     |
[INFO] [stdout]  35 |         let mut memory_reqs = mem::uninitialized();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this code causes undefined behavior when executed
[INFO] [stdout]     |                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:456:2
[INFO] [stdout]     |
[INFO] [stdout] 456 |     pub size: VkDeviceSize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkInstance` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/mod.rs:92:21
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut instance = mem::uninitialized();
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        this code causes undefined behavior when executed
[INFO] [stdout]    |                        help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: raw pointers must be initialized (in this struct field)
[INFO] [stdout]   --> src/render/vulkan/asi/types.rs:40:71
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub(crate) struct VkInstance(*mut c_void);
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/mod.rs:407:20
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub(crate) fn get(&self) -> std::cell::Ref<GpuContext> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub(crate) fn get(&self) -> std::cell::Ref<'_, GpuContext> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/mod.rs:411:24
[INFO] [stdout]     |
[INFO] [stdout] 411 |     pub(crate) fn get_mut(&self) -> std::cell::RefMut<GpuContext> {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 411 |     pub(crate) fn get_mut(&self) -> std::cell::RefMut<'_, GpuContext> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/mod.rs:453:4
[INFO] [stdout]     |
[INFO] [stdout] 453 |             pAllocator: *mut c_void) -> ();
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/mod.rs:473:26
[INFO] [stdout]     |
[INFO] [stdout] 473 |             instance: VkInstance, pAllocator: *mut c_void) -> ();
[INFO] [stdout]     |                                   ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/surface.rs:99:29
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                this code causes undefined behavior when executed
[INFO] [stdout]    |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:110:3
[INFO] [stdout]     |
[INFO] [stdout] 110 |         pCreateInfo: *const SurfaceCreateInfoXcb,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:111:3
[INFO] [stdout]     |
[INFO] [stdout] 111 |         pAllocator: *mut c_void,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:130:29
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:141:3
[INFO] [stdout]     |
[INFO] [stdout] 141 |         pCreateInfo: *const SurfaceCreateInfoWindows,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:142:3
[INFO] [stdout]     |
[INFO] [stdout] 142 |         pAllocator: *mut c_void,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:161:29
[INFO] [stdout]     |
[INFO] [stdout] 161 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:171:3
[INFO] [stdout]     |
[INFO] [stdout] 171 |         pCreateInfo: *const SurfaceCreateInfoAndroid,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:172:3
[INFO] [stdout]     |
[INFO] [stdout] 172 |         pAllocator: *mut c_void,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkPhysicalDevice` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/device.rs:39:22
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut gpus = vec![mem::uninitialized(); num_gpus as usize];
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this code causes undefined behavior when executed
[INFO] [stdout]    |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: raw pointers must be initialized (in this struct field)
[INFO] [stdout]   --> src/render/vulkan/asi/types.rs:39:77
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub(crate) struct VkPhysicalDevice(*mut c_void);
[INFO] [stdout]    |                                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkSurfaceFormatKHR` does not permit being left uninitialized
[INFO] [stdout]     --> src/render/vulkan/asi/gpu/device.rs:90:22
[INFO] [stdout]      |
[INFO] [stdout]   90 |                 let mut format = mem::uninitialized();
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  this code causes undefined behavior when executed
[INFO] [stdout]      |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]      |
[INFO] [stdout]      = note: `render::vulkan::asi::types::VkSurfaceFormatKHR` must be initialized inside its custom valid range
[INFO] [stdout] note: in this struct field
[INFO] [stdout]     --> src/render/vulkan/asi/types.rs:638:2
[INFO] [stdout]      |
[INFO] [stdout]  638 |     pub format: VkFormat,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]     --> src/render/vulkan/asi/types.rs:1079:67
[INFO] [stdout]      |
[INFO] [stdout] 1079 | #[repr(C)] #[allow(dead_code)] #[derive(PartialEq, Clone, Debug)] pub enum VkFormat {
[INFO] [stdout]      |                                                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkFormatProperties` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/device.rs:96:21
[INFO] [stdout]    |
[INFO] [stdout] 96 |                 let mut props = mem::uninitialized();
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 this code causes undefined behavior when executed
[INFO] [stdout]    |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/render/vulkan/asi/types.rs:89:2
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub linear_tiling_features: VkFlags,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkDevice` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/device.rs:116:19
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let mut device = mem::uninitialized();
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this code causes undefined behavior when executed
[INFO] [stdout]     |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: raw pointers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:38:69
[INFO] [stdout]     |
[INFO] [stdout]  38 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub(crate) struct VkDevice(*mut c_void);
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `physicalDevice` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/device.rs:144:3
[INFO] [stdout]     |
[INFO] [stdout] 144 |         physicalDevice: VkPhysicalDevice,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `physical_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/device.rs:145:3
[INFO] [stdout]     |
[INFO] [stdout] 145 |         pCreateInfo: *const VkDeviceCreateInfo,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/device.rs:146:3
[INFO] [stdout]     |
[INFO] [stdout] 146 |         pAllocator: *mut c_void,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pDevice` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/device.rs:147:3
[INFO] [stdout]     |
[INFO] [stdout] 147 |         pDevice: *mut VkDevice) -> VkResult;
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `p_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `queueFamilyIndex` should have a snake case name
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/queue.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 19 |         queueFamilyIndex: u32, queueIndex: u32, pQueue: *mut VkQueue)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `queue_family_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `queueIndex` should have a snake case name
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/queue.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 19 |         queueFamilyIndex: u32, queueIndex: u32, pQueue: *mut VkQueue)
[INFO] [stdout]    |                                ^^^^^^^^^^ help: convert the identifier to snake case: `queue_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pQueue` should have a snake case name
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/queue.rs:19:43
[INFO] [stdout]    |
[INFO] [stdout] 19 |         queueFamilyIndex: u32, queueIndex: u32, pQueue: *mut VkQueue)
[INFO] [stdout]    |                                                 ^^^^^^ help: convert the identifier to snake case: `p_queue`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkQueue` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/queue.rs:24:18
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut queue = mem::uninitialized();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     this code causes undefined behavior when executed
[INFO] [stdout]    |                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: raw pointers must be initialized (in this struct field)
[INFO] [stdout]   --> src/render/vulkan/asi/types.rs:41:61
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub struct VkQueue(*mut c_void);
[INFO] [stdout]    |                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/command_pool.rs:42:3
[INFO] [stdout]    |
[INFO] [stdout] 42 |         pCreateInfo: *const VkCommandPoolCreateInfo,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/command_pool.rs:43:3
[INFO] [stdout]    |
[INFO] [stdout] 43 |         pAllocator: *mut c_void, pCommandPool: *mut u64) -> VkResult;
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pCommandPool` should have a snake case name
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/command_pool.rs:43:28
[INFO] [stdout]    |
[INFO] [stdout] 43 |         pAllocator: *mut c_void, pCommandPool: *mut u64) -> VkResult;
[INFO] [stdout]    |                                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `p_command_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut c_void` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/command_pool.rs:49:27
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let mut command_buffer = mem::uninitialized();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              this code causes undefined behavior when executed
[INFO] [stdout]    |                              help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/sampler.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut sampler = mem::uninitialized();
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       this code causes undefined behavior when executed
[INFO] [stdout]    |                       help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/sprite.rs:44:23
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut desc_pool = mem::uninitialized();
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             this code causes undefined behavior when executed
[INFO] [stdout]    |                             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/sprite.rs:45:22
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut desc_set = mem::uninitialized();
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            this code causes undefined behavior when executed
[INFO] [stdout]    |                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `memory::buffer::Buffer` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 |             ::std::mem::uninitialized()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this code causes undefined behavior when executed
[INFO] [stdout]     |             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: `render::vulkan::asi::memory::buffer::Buffer` must be non-null
[INFO] [stdout] note: because `std::rc::Rc<render::vulkan::asi::memory::buffer::BufferContext>` must be non-null (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/memory/buffer.rs:24:36
[INFO] [stdout]     |
[INFO] [stdout]  24 | #[derive(Clone)] pub struct Buffer(Rc<BufferContext>);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: because `std::ptr::NonNull<std::rc::RcInner<render::vulkan::asi::memory::buffer::BufferContext>>` must be non-null
[INFO] [stdout]     = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[Set; 255]` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:157:19
[INFO] [stdout]     |
[INFO] [stdout] 157 |             sets: unsafe { mem::uninitialized() },
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this code causes undefined behavior when executed
[INFO] [stdout]     |                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:259:1
[INFO] [stdout]     |
[INFO] [stdout] 259 | enum Set {
[INFO] [stdout]     | ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[vulkan::asi::types::VkDescriptorBufferInfo; 255]` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:195:4
[INFO] [stdout]     |
[INFO] [stdout] 195 |             mem::uninitialized()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this code causes undefined behavior when executed
[INFO] [stdout]     |             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:377:2
[INFO] [stdout]     |
[INFO] [stdout] 377 |     pub buffer: VkBuffer,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[vulkan::asi::types::VkDescriptorImageInfo; 255]` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:198:4
[INFO] [stdout]     |
[INFO] [stdout] 198 |             mem::uninitialized()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this code causes undefined behavior when executed
[INFO] [stdout]     |             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:396:2
[INFO] [stdout]     |
[INFO] [stdout] 396 |     pub sampler: VkSampler,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[vulkan::asi::types::VkWriteDescriptorSet; 255]` does not permit being left uninitialized
[INFO] [stdout]     --> src/render/vulkan/asi/sprite.rs:201:4
[INFO] [stdout]      |
[INFO] [stdout]  201 |             mem::uninitialized()
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             this code causes undefined behavior when executed
[INFO] [stdout]      |             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]      |
[INFO] [stdout] note: in this struct field
[INFO] [stdout]     --> src/render/vulkan/asi/types.rs:383:2
[INFO] [stdout]      |
[INFO] [stdout]  383 |     pub s_type: VkStructureType,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]     --> src/render/vulkan/asi/types.rs:1267:49
[INFO] [stdout]      |
[INFO] [stdout] 1267 | #[derive(Debug)] #[repr(C)] #[allow(dead_code)] pub(crate) enum VkStructureType {
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/style.rs:46:21
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut pipeline = mem::uninitialized();
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        this code causes undefined behavior when executed
[INFO] [stdout]    |                        help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/style.rs:47:28
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let mut pipeline_layout = mem::uninitialized();
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               this code causes undefined behavior when executed
[INFO] [stdout]    |                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/style.rs:48:26
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut descsetlayout = mem::uninitialized();
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             this code causes undefined behavior when executed
[INFO] [stdout]    |                             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/fence.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut fence = mem::uninitialized();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     this code causes undefined behavior when executed
[INFO] [stdout]    |                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/render/opengl/mod.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |                 unsafe {mem::transmute(window as usize)}
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout]     = note: `#[warn(integer_to_ptr_transmutes)]` on by default
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 157 -                 unsafe {mem::transmute(window as usize)}
[INFO] [stdout] 157 +                 unsafe {std::ptr::with_exposed_provenance_mut::<c_void>(window as usize)}
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/render/opengl/asi/mod.rs:283:9
[INFO] [stdout]     |
[INFO] [stdout] 283 |     fn get(&self) -> ::std::cell::Ref<OpenGLContext> {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 283 |     fn get(&self) -> ::std::cell::Ref<'_, OpenGLContext> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/opengl/asi/loader.rs:134:31
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let mut nconfigs = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this code causes undefined behavior when executed
[INFO] [stdout]     |                                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/opengl/asi/loader.rs:172:32
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut visual_id = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/opengl/asi/texture.rs:18:25
[INFO] [stdout]    |
[INFO] [stdout] 18 |             let mut a = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  this code causes undefined behavior when executed
[INFO] [stdout]    |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/opengl/asi/program.rs:97:28
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut value = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  this code causes undefined behavior when executed
[INFO] [stdout]    |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/opengl/asi/program.rs:103:29
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let mut value = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u8` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/opengl/asi/program.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 vec![unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this code causes undefined behavior when executed
[INFO] [stdout]     |                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/opengl/asi/buffer.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut buffers = [unsafe { mem::uninitialized() }];
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     this code causes undefined behavior when executed
[INFO] [stdout]    |                                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/os/linux/mod.rs:215:33
[INFO] [stdout]     |
[INFO] [stdout] 215 |         screen.root_visual = unsafe { ::std::mem::transmute(v) };
[INFO] [stdout]     |                                       ---------------------^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       help: replace this with: `i32::cast_unsigned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `free` redeclared with a different signature
[INFO] [stdout]    --> src/os/linux/mod.rs:286:11
[INFO] [stdout]     |
[INFO] [stdout] 245 |         extern { fn free(this: *mut XcbInternAtomReply) -> (); }
[INFO] [stdout]     |                  --------------------------------------------- `free` previously declared here
[INFO] [stdout] ...
[INFO] [stdout] 286 |     extern { fn free(event: *mut XcbGenericEvent) -> (); }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected `unsafe extern "C" fn(*mut XcbInternAtomReply)`
[INFO] [stdout]                found `unsafe extern "C" fn(*mut XcbGenericEvent)`
[INFO] [stdout]     = note: `#[warn(clashing_extern_declarations)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.49s
[INFO] running `Command { std: "docker" "inspect" "46568854ef34e6a0704cf0cc4e00beb8ad0c2ae84065fdba924c6b3ded6fcca7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "46568854ef34e6a0704cf0cc4e00beb8ad0c2ae84065fdba924c6b3ded6fcca7", kill_on_drop: false }`
[INFO] [stdout] 46568854ef34e6a0704cf0cc4e00beb8ad0c2ae84065fdba924c6b3ded6fcca7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dc3b0c900157c9ddd955572f0b259df50f0106c02fc1897332c3e2cbbd981b4c
[INFO] running `Command { std: "docker" "start" "-a" "dc3b0c900157c9ddd955572f0b259df50f0106c02fc1897332c3e2cbbd981b4c", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: unexpected `cfg` condition value: `bitrig`
[INFO] [stdout]   --> src/lib.rs:34:101
[INFO] [stdout]    |
[INFO] [stdout] 34 | /* 2. Linux / BSD */ #[cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "bitrig", target_os ...
[INFO] [stdout]    |                                                                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `rpi`
[INFO] [stdout]   --> src/lib.rs:35:39
[INFO] [stdout]    |
[INFO] [stdout] 35 | /* 3. Raspberry Pi (feature) */ #[cfg(target_os = "rpi")] pub(crate) mod os { mod rpi; pub use self::rpi::*; }
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `deskron`
[INFO] [stdout]   --> src/lib.rs:36:34
[INFO] [stdout]    |
[INFO] [stdout] 36 | /* 4. Deskron (feature) */ #[cfg(target_os = "deskron")] pub(crate) mod os { mod deskron; pub use self::deskron::*; }
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `switch`
[INFO] [stdout]   --> src/lib.rs:40:51
[INFO] [stdout]    |
[INFO] [stdout] 40 | /* 8. Nintendo Switch (Custom target_os) */ #[cfg(target_os = "switch")] pub(crate) mod os { mod switch; pub use self::switch::*; }
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `xbox`
[INFO] [stdout]   --> src/lib.rs:42:45
[INFO] [stdout]    |
[INFO] [stdout] 42 | /* 10. XBox One (Custom target_os) */ #[cfg(target_os = "xbox")] pub(crate) mod os { mod xbox; pub use self::xbox::*; }
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[macro_use] extern crate ami;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathOp`
[INFO] [stdout]   --> src/screen/mod.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | use afi::{VFrame, PathOp};
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector`
[INFO] [stdout]   --> src/screen/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use Vector;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `nintendo_switch`
[INFO] [stdout]   --> src/render/mod.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 |     target_os="windows", target_os="nintendo_switch"
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `web`
[INFO] [stdout]   --> src/render/mod.rs:19:2
[INFO] [stdout]    |
[INFO] [stdout] 19 |     target_os="web"
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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: `Memory`
[INFO] [stdout]   --> src/render/vulkan/asi/mod.rs:24:25
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub use self::memory::{ Memory, Buffer, BufferBuilderType };
[INFO] [stdout]    |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector`
[INFO] [stdout]   --> src/render/vulkan/asi/mod.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub use Vector;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rotation`
[INFO] [stdout]   --> src/render/opengl/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use Rotation;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `nintendo_switch`
[INFO] [stdout]   --> src/render/mod.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 |         target_os="windows", target_os="nintendo_switch"
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/os/linux/mod.rs:245:3
[INFO] [stdout]     |
[INFO] [stdout] 245 |         extern { fn free(this: *mut XcbInternAtomReply) -> (); }
[INFO] [stdout]     |         ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/os/linux/mod.rs:286:2
[INFO] [stdout]     |
[INFO] [stdout] 286 |     extern { fn free(event: *mut XcbGenericEvent) -> (); }
[INFO] [stdout]     |     ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:245:21
[INFO] [stdout]     |
[INFO] [stdout] 245 |             = [unsafe { mem::uninitialized() }; 2];
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:458:19
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:461:36
[INFO] [stdout]     |
[INFO] [stdout] 461 |             transform: unsafe { ::std::mem::uninitialized() },
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:747:19
[INFO] [stdout]     |
[INFO] [stdout] 747 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:794:19
[INFO] [stdout]     |
[INFO] [stdout] 794 |                 unsafe { mem::uninitialized() },
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:795:19
[INFO] [stdout]     |
[INFO] [stdout] 795 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:848:19
[INFO] [stdout]     |
[INFO] [stdout] 848 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:900:19
[INFO] [stdout]     |
[INFO] [stdout] 900 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:950:19
[INFO] [stdout]     |
[INFO] [stdout] 950 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/mod.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut layout = mem::uninitialized();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:103:24
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let mut mapped = mem::uninitialized();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:122:23
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let mut props = mem::uninitialized();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:207:27
[INFO] [stdout]     |
[INFO] [stdout] 207 |     let mut semaphore = mem::uninitialized();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:354:26
[INFO] [stdout]     |
[INFO] [stdout] 354 |     let mut image_id = mem::uninitialized();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:371:30
[INFO] [stdout]     |
[INFO] [stdout] 371 |     let mut surface_info = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:421:30
[INFO] [stdout]     |
[INFO] [stdout] 421 |     let mut surface_info = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:466:28
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let mut image_view = mem::uninitialized();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:690:29
[INFO] [stdout]     |
[INFO] [stdout] 690 |     let mut render_pass = mem::uninitialized();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:861:34
[INFO] [stdout]     |
[INFO] [stdout] 861 |         let mut shader = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/memory/buffer.rs:38:34
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let mut buffer = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/memory/buffer.rs:39:34
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let mut memory = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/memory/buffer.rs:40:36
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut mem_reqs = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/memory/buffer.rs:123:42
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let mut mapped: *mut T = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/image.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut image = mem::uninitialized();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/image.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut memory = mem::uninitialized();
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/image.rs:35:30
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let mut memory_reqs = mem::uninitialized();
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/mod.rs:92:26
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut instance = mem::uninitialized();
[INFO] [stdout]    |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/surface.rs:99:34
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:130:34
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:161:34
[INFO] [stdout]     |
[INFO] [stdout] 161 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/device.rs:39:27
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut gpus = vec![mem::uninitialized(); num_gpus as usize];
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/device.rs:90:27
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 let mut format = mem::uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/device.rs:96:26
[INFO] [stdout]    |
[INFO] [stdout] 96 |                 let mut props = mem::uninitialized();
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/device.rs:116:24
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let mut device = mem::uninitialized();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/queue.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut queue = mem::uninitialized();
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/command_pool.rs:49:32
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let mut command_buffer = mem::uninitialized();
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/sampler.rs:24:25
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut sampler = mem::uninitialized();
[INFO] [stdout]    |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/sprite.rs:44:28
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut desc_pool = mem::uninitialized();
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/sprite.rs:45:27
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut desc_set = mem::uninitialized();
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:102:16
[INFO] [stdout]     |
[INFO] [stdout] 102 |             ::std::mem::uninitialized()
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:157:24
[INFO] [stdout]     |
[INFO] [stdout] 157 |             sets: unsafe { mem::uninitialized() },
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |             mem::uninitialized()
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |             mem::uninitialized()
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |             mem::uninitialized()
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/style.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut pipeline = mem::uninitialized();
[INFO] [stdout]    |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/style.rs:47:33
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let mut pipeline_layout = mem::uninitialized();
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/style.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut descsetlayout = mem::uninitialized();
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/fence.rs:39:23
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut fence = mem::uninitialized();
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/opengl/asi/loader.rs:134:36
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let mut nconfigs = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/opengl/asi/loader.rs:172:37
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut visual_id = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/opengl/asi/texture.rs:18:37
[INFO] [stdout]    |
[INFO] [stdout] 18 |             let mut a = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/opengl/asi/program.rs:97:40
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut value = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/opengl/asi/program.rs:103:41
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let mut value = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/opengl/asi/program.rs:108:31
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 vec![unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/opengl/asi/buffer.rs:18:36
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut buffers = [unsafe { mem::uninitialized() }];
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/screen/mod.rs:30:15
[INFO] [stdout]    |
[INFO] [stdout] 30 |     display: Box<Display>,
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     display: Box<dyn Display>,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/render/base.rs:104:26
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn draw(&self, writer: &Fn(u16, u16) -> [u8; 4]) -> ();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn draw(&self, writer: &dyn Fn(u16, u16) -> [u8; 4]) -> ();
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/screen/mod.rs:212:30
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn draw(&self, writer: &Fn(u16, u16) -> [u8; 4]) {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn draw(&self, writer: &dyn Fn(u16, u16) -> [u8; 4]) {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/render/vulkan/renderer/ffi.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 |     writer: &Fn(u16, u16) -> [u8; 4], width: usize, height: usize,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     writer: &dyn Fn(u16, u16) -> [u8; 4], width: usize, height: usize,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:205:57
[INFO] [stdout]     |
[INFO] [stdout] 205 | fn set_texture(vw: &Vw, texture: &mut Texture, writer: &Fn(u16, u16) -> [u8; 4])
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 205 | fn set_texture(vw: &Vw, texture: &mut Texture, writer: &dyn Fn(u16, u16) -> [u8; 4])
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/render/vulkan/mod.rs:156:26
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn draw(&self, writer: &Fn(u16, u16) -> [u8; 4]) {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn draw(&self, writer: &dyn Fn(u16, u16) -> [u8; 4]) {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/render/opengl/mod.rs:662:27
[INFO] [stdout]     |
[INFO] [stdout] 662 |     fn draw(&self, _writer: &Fn(u16, u16) -> [u8; 4]) {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 662 |     fn draw(&self, _writer: &dyn Fn(u16, u16) -> [u8; 4]) {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/render/mod.rs:23:36
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn new_display() -> Result<Box<Display>, String> {
[INFO] [stdout]    |                                    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn new_display() -> Result<Box<dyn Display>, String> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:316:12
[INFO] [stdout]     |
[INFO] [stdout] 316 |         writer: &Fn(u16, u16) -> [u8; 4])
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 316 |         writer: &dyn Fn(u16, u16) -> [u8; 4])
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::base::Display`
[INFO] [stdout]    --> src/render/opengl/mod.rs:237:7
[INFO] [stdout]     |
[INFO] [stdout] 237 |         use self::base::Display;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wh`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:315:28
[INFO] [stdout]     |
[INFO] [stdout] 315 |     pub(crate) fn draw(&self, wh: (u16, u16),
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_wh`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:467:7
[INFO] [stdout]     |
[INFO] [stdout] 467 |         let mut renderer = Renderer {
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:414:7
[INFO] [stdout]     |
[INFO] [stdout] 414 |         let w = wh.0 as usize;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:415:7
[INFO] [stdout]     |
[INFO] [stdout] 415 |         let h = wh.1 as usize;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fog`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:713:3
[INFO] [stdout]     |
[INFO] [stdout] 713 |         fog: bool, camera: bool) -> ShapeHandle
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:713:14
[INFO] [stdout]     |
[INFO] [stdout] 713 |         fog: bool, camera: bool) -> ShapeHandle
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fog`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:767:33
[INFO] [stdout]     |
[INFO] [stdout] 767 |         color: [f32; 4], alpha: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:767:44
[INFO] [stdout]     |
[INFO] [stdout] 767 |         color: [f32; 4], alpha: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fog`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:815:31
[INFO] [stdout]     |
[INFO] [stdout] 815 |         colors: usize, alpha: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:815:42
[INFO] [stdout]     |
[INFO] [stdout] 815 |         colors: usize, alpha: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fog`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:868:55
[INFO] [stdout]     |
[INFO] [stdout] 868 |         texture: usize, texcoords: usize, fade_factor: f32, fog: bool,
[INFO] [stdout]     |                                                             ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:869:3
[INFO] [stdout]     |
[INFO] [stdout] 869 |         camera: bool) -> ShapeHandle
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fog`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:914:16
[INFO] [stdout]     |
[INFO] [stdout] 914 |         alpha: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:914:27
[INFO] [stdout]     |
[INFO] [stdout] 914 |         alpha: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fog`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:971:3
[INFO] [stdout]     |
[INFO] [stdout] 971 |         fog: bool, camera: bool) -> ShapeHandle
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:971:14
[INFO] [stdout]     |
[INFO] [stdout] 971 |         fog: bool, camera: bool) -> ShapeHandle
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/render/opengl/asi/mod.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |             let (mut display, visual_id) = lib.init();
[INFO] [stdout]    |                  ----^^^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/render/opengl/mod.rs:210:7
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let mut display = self::Display {
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/opengl/mod.rs:377:47
[INFO] [stdout]     |
[INFO] [stdout] 377 |         color: [f32; 4], blending: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/opengl/mod.rs:409:48
[INFO] [stdout]     |
[INFO] [stdout] 409 |         colors: Gradient, blending: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/opengl/mod.rs:452:3
[INFO] [stdout]     |
[INFO] [stdout] 452 |         camera: bool) -> Shape
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/opengl/mod.rs:494:3
[INFO] [stdout]     |
[INFO] [stdout] 494 |         camera: bool) -> Shape
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/opengl/mod.rs:530:14
[INFO] [stdout]     |
[INFO] [stdout] 530 |         fog: bool, camera: bool) -> Shape
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/opengl/mod.rs:572:30
[INFO] [stdout]     |
[INFO] [stdout] 572 |         blending: bool, fog: bool, camera: bool) -> Shape
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xyz`
[INFO] [stdout]    --> src/render/opengl/mod.rs:649:7
[INFO] [stdout]     |
[INFO] [stdout] 649 |         let xyz = self.xyz;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_xyz`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rotate_xyz`
[INFO] [stdout]    --> src/render/opengl/mod.rs:650:7
[INFO] [stdout]     |
[INFO] [stdout] 650 |         let rotate_xyz = self.rotate_xyz;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rotate_xyz`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `is_empty`, `last`, `touch_release`, and `touch_press` are never used
[INFO] [stdout]    --> src/input/mod.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 455 | impl InputQueue {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 466 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 471 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     pub fn last(&self) -> Event {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     pub fn touch_release(&mut self, wh: (u16, u16), c: (i16, i16)) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 630 |     pub fn touch_press(&mut self, wh: (u16, u16), c: (i16, i16)) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]    --> src/input/keyboard/mod.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl Keyboard {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn get(&mut self, key: u8) -> bool {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `WindowOps` is never used
[INFO] [stdout]  --> src/window_ops.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait WindowOps {
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `style_gui` and `rotate_xyz` are never read
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:307:2
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub struct Renderer {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 307 |     style_gui: Style,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |     rotate_xyz: Vector,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FogUniform` is never constructed
[INFO] [stdout]   --> src/render/vulkan/asi/mod.rs:47:40
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Clone)] #[repr(C)] pub struct FogUniform {
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Memory` is never constructed
[INFO] [stdout]   --> src/render/vulkan/asi/memory/mod.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Memory<T> where T: Clone {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `update` are never used
[INFO] [stdout]   --> src/render/vulkan/asi/memory/mod.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<T> Memory<T> where T: Clone {
[INFO] [stdout]    | -------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn new(vulkan: &Gpu, data: T) -> Memory<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn update(&self, vulkan: &Gpu) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `camera_uniform`, `fog`, and `range` are never read
[INFO] [stdout]   --> src/render/opengl/mod.rs:53:2
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct Style {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 53 |     camera_uniform: UniformData,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 54 |     has_fog: UniformData,
[INFO] [stdout] 55 |     fog: UniformData,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 56 |     range: UniformData,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `uniform_vec2`, `uniform_vec3`, and `tex_subimage` are never read
[INFO] [stdout]    --> src/render/opengl/asi/mod.rs:183:2
[INFO] [stdout]     |
[INFO] [stdout] 146 | struct OpenGLContext {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 183 |     uniform_vec2: unsafe extern "system" fn(GLint, GLfloat, GLfloat) -> (),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 184 |     uniform_vec3: unsafe extern "system" fn(GLint, GLfloat, GLfloat, GLfloat)
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     tex_subimage: unsafe extern "system" fn(GLenum, GLint, GLint, GLint, GLsizei,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update` is never used
[INFO] [stdout]   --> src/render/opengl/asi/texture.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Texture {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn update(&self, w: u16, h: u16, px: &[u8]) -> () {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_vec2` and `set_vec3` are never used
[INFO] [stdout]   --> src/render/opengl/asi/uniform_data.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl UniformData {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn set_vec2(&self, vec: &[f32; 2]) -> () {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn set_vec3(&self, vec: &[f32; 3]) -> () {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/screen/mod.rs:39:2
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub ctx: Ctx,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/render/base.rs:104:2
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn draw(&self, writer: &Fn(u16, u16) -> [u8; 4]) -> ();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> src/render/base.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub trait Point {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/render/base.rs:161:2
[INFO] [stdout]     |
[INFO] [stdout] 161 |     fn point(&self) -> Vector;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkFramebuffer` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:245:16
[INFO] [stdout]     |
[INFO] [stdout] 245 |             = [unsafe { mem::uninitialized() }; 2];
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this code causes undefined behavior when executed
[INFO] [stdout]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:32:67
[INFO] [stdout]     |
[INFO] [stdout]  32 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub struct VkFramebuffer(pub(crate) u64);
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:458:14
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ami::Matrix` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:461:24
[INFO] [stdout]     |
[INFO] [stdout] 461 |             transform: unsafe { ::std::mem::uninitialized() },
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: floats must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:747:14
[INFO] [stdout]     |
[INFO] [stdout] 747 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:794:14
[INFO] [stdout]     |
[INFO] [stdout] 794 |                 unsafe { mem::uninitialized() },
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:795:14
[INFO] [stdout]     |
[INFO] [stdout] 795 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:848:14
[INFO] [stdout]     |
[INFO] [stdout] 848 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:900:14
[INFO] [stdout]     |
[INFO] [stdout] 900 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:950:14
[INFO] [stdout]     |
[INFO] [stdout] 950 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkSubresourceLayout` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/mod.rs:81:19
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut layout = mem::uninitialized();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      this code causes undefined behavior when executed
[INFO] [stdout]    |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/render/vulkan/asi/types.rs:54:2
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub offset: VkDeviceSize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut T` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:103:19
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let mut mapped = mem::uninitialized();
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this code causes undefined behavior when executed
[INFO] [stdout]     |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkPhysicalDeviceMemoryProperties` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:122:18
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let mut props = mem::uninitialized();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this code causes undefined behavior when executed
[INFO] [stdout]     |                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:498:2
[INFO] [stdout]     |
[INFO] [stdout] 498 |     pub memory_type_count: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:207:22
[INFO] [stdout]     |
[INFO] [stdout] 207 |     let mut semaphore = mem::uninitialized();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this code causes undefined behavior when executed
[INFO] [stdout]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:354:21
[INFO] [stdout]     |
[INFO] [stdout] 354 |     let mut image_id = mem::uninitialized();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this code causes undefined behavior when executed
[INFO] [stdout]     |                        help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkSurfaceCapabilitiesKHR` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:371:25
[INFO] [stdout]     |
[INFO] [stdout] 371 |     let mut surface_info = mem::uninitialized();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this code causes undefined behavior when executed
[INFO] [stdout]     |                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:625:2
[INFO] [stdout]     |
[INFO] [stdout] 625 |     pub min_image_count: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkSurfaceCapabilitiesKHR` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:421:25
[INFO] [stdout]     |
[INFO] [stdout] 421 |     let mut surface_info = mem::uninitialized();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this code causes undefined behavior when executed
[INFO] [stdout]     |                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:625:2
[INFO] [stdout]     |
[INFO] [stdout] 625 |     pub min_image_count: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:466:23
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let mut image_view = mem::uninitialized();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkRenderPass` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:690:24
[INFO] [stdout]     |
[INFO] [stdout] 690 |     let mut render_pass = mem::uninitialized();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this code causes undefined behavior when executed
[INFO] [stdout]     |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:31:66
[INFO] [stdout]     |
[INFO] [stdout]  31 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub struct VkRenderPass(pub(crate) u64);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkShaderModule` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:861:29
[INFO] [stdout]     |
[INFO] [stdout] 861 |         let mut shader = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this code causes undefined behavior when executed
[INFO] [stdout]     |                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:33:75
[INFO] [stdout]     |
[INFO] [stdout]  33 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub(crate) struct VkShaderModule(pub(crate) u64);
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/memory/buffer.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let mut buffer = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   this code causes undefined behavior when executed
[INFO] [stdout]    |                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/memory/buffer.rs:39:29
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let mut memory = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   this code causes undefined behavior when executed
[INFO] [stdout]    |                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkMemoryRequirements` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/memory/buffer.rs:40:31
[INFO] [stdout]     |
[INFO] [stdout]  40 |         let mut mem_reqs = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this code causes undefined behavior when executed
[INFO] [stdout]     |                                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:456:2
[INFO] [stdout]     |
[INFO] [stdout] 456 |     pub size: VkDeviceSize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut T` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/memory/buffer.rs:123:37
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let mut mapped: *mut T = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/image.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut image = mem::uninitialized();
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this code causes undefined behavior when executed
[INFO] [stdout]    |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/image.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut memory = mem::uninitialized();
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          this code causes undefined behavior when executed
[INFO] [stdout]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkMemoryRequirements` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/image.rs:35:25
[INFO] [stdout]     |
[INFO] [stdout]  35 |         let mut memory_reqs = mem::uninitialized();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this code causes undefined behavior when executed
[INFO] [stdout]     |                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:456:2
[INFO] [stdout]     |
[INFO] [stdout] 456 |     pub size: VkDeviceSize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkInstance` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/mod.rs:92:21
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut instance = mem::uninitialized();
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        this code causes undefined behavior when executed
[INFO] [stdout]    |                        help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: raw pointers must be initialized (in this struct field)
[INFO] [stdout]   --> src/render/vulkan/asi/types.rs:40:71
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub(crate) struct VkInstance(*mut c_void);
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/mod.rs:407:20
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub(crate) fn get(&self) -> std::cell::Ref<GpuContext> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub(crate) fn get(&self) -> std::cell::Ref<'_, GpuContext> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/mod.rs:411:24
[INFO] [stdout]     |
[INFO] [stdout] 411 |     pub(crate) fn get_mut(&self) -> std::cell::RefMut<GpuContext> {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 411 |     pub(crate) fn get_mut(&self) -> std::cell::RefMut<'_, GpuContext> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/mod.rs:453:4
[INFO] [stdout]     |
[INFO] [stdout] 453 |             pAllocator: *mut c_void) -> ();
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/mod.rs:473:26
[INFO] [stdout]     |
[INFO] [stdout] 473 |             instance: VkInstance, pAllocator: *mut c_void) -> ();
[INFO] [stdout]     |                                   ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/surface.rs:99:29
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                this code causes undefined behavior when executed
[INFO] [stdout]    |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:110:3
[INFO] [stdout]     |
[INFO] [stdout] 110 |         pCreateInfo: *const SurfaceCreateInfoXcb,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:111:3
[INFO] [stdout]     |
[INFO] [stdout] 111 |         pAllocator: *mut c_void,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:130:29
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:141:3
[INFO] [stdout]     |
[INFO] [stdout] 141 |         pCreateInfo: *const SurfaceCreateInfoWindows,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:142:3
[INFO] [stdout]     |
[INFO] [stdout] 142 |         pAllocator: *mut c_void,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:161:29
[INFO] [stdout]     |
[INFO] [stdout] 161 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:171:3
[INFO] [stdout]     |
[INFO] [stdout] 171 |         pCreateInfo: *const SurfaceCreateInfoAndroid,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:172:3
[INFO] [stdout]     |
[INFO] [stdout] 172 |         pAllocator: *mut c_void,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkPhysicalDevice` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/device.rs:39:22
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut gpus = vec![mem::uninitialized(); num_gpus as usize];
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this code causes undefined behavior when executed
[INFO] [stdout]    |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: raw pointers must be initialized (in this struct field)
[INFO] [stdout]   --> src/render/vulkan/asi/types.rs:39:77
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub(crate) struct VkPhysicalDevice(*mut c_void);
[INFO] [stdout]    |                                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkSurfaceFormatKHR` does not permit being left uninitialized
[INFO] [stdout]     --> src/render/vulkan/asi/gpu/device.rs:90:22
[INFO] [stdout]      |
[INFO] [stdout]   90 |                 let mut format = mem::uninitialized();
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  this code causes undefined behavior when executed
[INFO] [stdout]      |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]      |
[INFO] [stdout]      = note: `render::vulkan::asi::types::VkSurfaceFormatKHR` must be initialized inside its custom valid range
[INFO] [stdout] note: in this struct field
[INFO] [stdout]     --> src/render/vulkan/asi/types.rs:638:2
[INFO] [stdout]      |
[INFO] [stdout]  638 |     pub format: VkFormat,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]     --> src/render/vulkan/asi/types.rs:1079:67
[INFO] [stdout]      |
[INFO] [stdout] 1079 | #[repr(C)] #[allow(dead_code)] #[derive(PartialEq, Clone, Debug)] pub enum VkFormat {
[INFO] [stdout]      |                                                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling awi v0.9.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the type `vulkan::asi::types::VkFormatProperties` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/device.rs:96:21
[INFO] [stdout]    |
[INFO] [stdout] 96 |                 let mut props = mem::uninitialized();
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 this code causes undefined behavior when executed
[INFO] [stdout]    |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/render/vulkan/asi/types.rs:89:2
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub linear_tiling_features: VkFlags,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkDevice` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/device.rs:116:19
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let mut device = mem::uninitialized();
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this code causes undefined behavior when executed
[INFO] [stdout]     |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: raw pointers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:38:69
[INFO] [stdout]     |
[INFO] [stdout]  38 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub(crate) struct VkDevice(*mut c_void);
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `physicalDevice` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/device.rs:144:3
[INFO] [stdout]     |
[INFO] [stdout] 144 |         physicalDevice: VkPhysicalDevice,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `physical_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/device.rs:145:3
[INFO] [stdout]     |
[INFO] [stdout] 145 |         pCreateInfo: *const VkDeviceCreateInfo,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/device.rs:146:3
[INFO] [stdout]     |
[INFO] [stdout] 146 |         pAllocator: *mut c_void,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pDevice` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/device.rs:147:3
[INFO] [stdout]     |
[INFO] [stdout] 147 |         pDevice: *mut VkDevice) -> VkResult;
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `p_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `queueFamilyIndex` should have a snake case name
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/queue.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 19 |         queueFamilyIndex: u32, queueIndex: u32, pQueue: *mut VkQueue)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `queue_family_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `queueIndex` should have a snake case name
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/queue.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 19 |         queueFamilyIndex: u32, queueIndex: u32, pQueue: *mut VkQueue)
[INFO] [stdout]    |                                ^^^^^^^^^^ help: convert the identifier to snake case: `queue_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pQueue` should have a snake case name
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/queue.rs:19:43
[INFO] [stdout]    |
[INFO] [stdout] 19 |         queueFamilyIndex: u32, queueIndex: u32, pQueue: *mut VkQueue)
[INFO] [stdout]    |                                                 ^^^^^^ help: convert the identifier to snake case: `p_queue`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkQueue` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/queue.rs:24:18
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut queue = mem::uninitialized();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     this code causes undefined behavior when executed
[INFO] [stdout]    |                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: raw pointers must be initialized (in this struct field)
[INFO] [stdout]   --> src/render/vulkan/asi/types.rs:41:61
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub struct VkQueue(*mut c_void);
[INFO] [stdout]    |                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/command_pool.rs:42:3
[INFO] [stdout]    |
[INFO] [stdout] 42 |         pCreateInfo: *const VkCommandPoolCreateInfo,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/command_pool.rs:43:3
[INFO] [stdout]    |
[INFO] [stdout] 43 |         pAllocator: *mut c_void, pCommandPool: *mut u64) -> VkResult;
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pCommandPool` should have a snake case name
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/command_pool.rs:43:28
[INFO] [stdout]    |
[INFO] [stdout] 43 |         pAllocator: *mut c_void, pCommandPool: *mut u64) -> VkResult;
[INFO] [stdout]    |                                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `p_command_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut c_void` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/command_pool.rs:49:27
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let mut command_buffer = mem::uninitialized();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              this code causes undefined behavior when executed
[INFO] [stdout]    |                              help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/sampler.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut sampler = mem::uninitialized();
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       this code causes undefined behavior when executed
[INFO] [stdout]    |                       help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/sprite.rs:44:23
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut desc_pool = mem::uninitialized();
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             this code causes undefined behavior when executed
[INFO] [stdout]    |                             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/sprite.rs:45:22
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut desc_set = mem::uninitialized();
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            this code causes undefined behavior when executed
[INFO] [stdout]    |                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `memory::buffer::Buffer` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 |             ::std::mem::uninitialized()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this code causes undefined behavior when executed
[INFO] [stdout]     |             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: `render::vulkan::asi::memory::buffer::Buffer` must be non-null
[INFO] [stdout] note: because `std::rc::Rc<render::vulkan::asi::memory::buffer::BufferContext>` must be non-null (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/memory/buffer.rs:24:36
[INFO] [stdout]     |
[INFO] [stdout]  24 | #[derive(Clone)] pub struct Buffer(Rc<BufferContext>);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: because `std::ptr::NonNull<std::rc::RcInner<render::vulkan::asi::memory::buffer::BufferContext>>` must be non-null
[INFO] [stdout]     = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[Set; 255]` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:157:19
[INFO] [stdout]     |
[INFO] [stdout] 157 |             sets: unsafe { mem::uninitialized() },
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this code causes undefined behavior when executed
[INFO] [stdout]     |                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:259:1
[INFO] [stdout]     |
[INFO] [stdout] 259 | enum Set {
[INFO] [stdout]     | ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[vulkan::asi::types::VkDescriptorBufferInfo; 255]` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:195:4
[INFO] [stdout]     |
[INFO] [stdout] 195 |             mem::uninitialized()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this code causes undefined behavior when executed
[INFO] [stdout]     |             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:377:2
[INFO] [stdout]     |
[INFO] [stdout] 377 |     pub buffer: VkBuffer,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[vulkan::asi::types::VkDescriptorImageInfo; 255]` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:198:4
[INFO] [stdout]     |
[INFO] [stdout] 198 |             mem::uninitialized()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this code causes undefined behavior when executed
[INFO] [stdout]     |             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:396:2
[INFO] [stdout]     |
[INFO] [stdout] 396 |     pub sampler: VkSampler,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[vulkan::asi::types::VkWriteDescriptorSet; 255]` does not permit being left uninitialized
[INFO] [stdout]     --> src/render/vulkan/asi/sprite.rs:201:4
[INFO] [stdout]      |
[INFO] [stdout]  201 |             mem::uninitialized()
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             this code causes undefined behavior when executed
[INFO] [stdout]      |             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]      |
[INFO] [stdout] note: in this struct field
[INFO] [stdout]     --> src/render/vulkan/asi/types.rs:383:2
[INFO] [stdout]      |
[INFO] [stdout]  383 |     pub s_type: VkStructureType,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]     --> src/render/vulkan/asi/types.rs:1267:49
[INFO] [stdout]      |
[INFO] [stdout] 1267 | #[derive(Debug)] #[repr(C)] #[allow(dead_code)] pub(crate) enum VkStructureType {
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/style.rs:46:21
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut pipeline = mem::uninitialized();
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        this code causes undefined behavior when executed
[INFO] [stdout]    |                        help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/style.rs:47:28
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let mut pipeline_layout = mem::uninitialized();
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               this code causes undefined behavior when executed
[INFO] [stdout]    |                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/style.rs:48:26
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut descsetlayout = mem::uninitialized();
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             this code causes undefined behavior when executed
[INFO] [stdout]    |                             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/fence.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut fence = mem::uninitialized();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     this code causes undefined behavior when executed
[INFO] [stdout]    |                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/render/opengl/mod.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |                 unsafe {mem::transmute(window as usize)}
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout]     = note: `#[warn(integer_to_ptr_transmutes)]` on by default
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 157 -                 unsafe {mem::transmute(window as usize)}
[INFO] [stdout] 157 +                 unsafe {std::ptr::with_exposed_provenance_mut::<c_void>(window as usize)}
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/render/opengl/asi/mod.rs:283:9
[INFO] [stdout]     |
[INFO] [stdout] 283 |     fn get(&self) -> ::std::cell::Ref<OpenGLContext> {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 283 |     fn get(&self) -> ::std::cell::Ref<'_, OpenGLContext> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/opengl/asi/loader.rs:134:31
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let mut nconfigs = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this code causes undefined behavior when executed
[INFO] [stdout]     |                                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/opengl/asi/loader.rs:172:32
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut visual_id = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/opengl/asi/texture.rs:18:25
[INFO] [stdout]    |
[INFO] [stdout] 18 |             let mut a = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  this code causes undefined behavior when executed
[INFO] [stdout]    |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/opengl/asi/program.rs:97:28
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut value = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  this code causes undefined behavior when executed
[INFO] [stdout]    |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/opengl/asi/program.rs:103:29
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let mut value = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u8` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/opengl/asi/program.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 vec![unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this code causes undefined behavior when executed
[INFO] [stdout]     |                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/opengl/asi/buffer.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut buffers = [unsafe { mem::uninitialized() }];
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     this code causes undefined behavior when executed
[INFO] [stdout]    |                                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/os/linux/mod.rs:215:33
[INFO] [stdout]     |
[INFO] [stdout] 215 |         screen.root_visual = unsafe { ::std::mem::transmute(v) };
[INFO] [stdout]     |                                       ---------------------^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       help: replace this with: `i32::cast_unsigned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `free` redeclared with a different signature
[INFO] [stdout]    --> src/os/linux/mod.rs:286:11
[INFO] [stdout]     |
[INFO] [stdout] 245 |         extern { fn free(this: *mut XcbInternAtomReply) -> (); }
[INFO] [stdout]     |                  --------------------------------------------- `free` previously declared here
[INFO] [stdout] ...
[INFO] [stdout] 286 |     extern { fn free(event: *mut XcbGenericEvent) -> (); }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected `unsafe extern "C" fn(*mut XcbInternAtomReply)`
[INFO] [stdout]                found `unsafe extern "C" fn(*mut XcbGenericEvent)`
[INFO] [stdout]     = note: `#[warn(clashing_extern_declarations)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `bitrig`
[INFO] [stdout]   --> src/lib.rs:34:101
[INFO] [stdout]    |
[INFO] [stdout] 34 | /* 2. Linux / BSD */ #[cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "bitrig", target_os ...
[INFO] [stdout]    |                                                                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `rpi`
[INFO] [stdout]   --> src/lib.rs:35:39
[INFO] [stdout]    |
[INFO] [stdout] 35 | /* 3. Raspberry Pi (feature) */ #[cfg(target_os = "rpi")] pub(crate) mod os { mod rpi; pub use self::rpi::*; }
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `deskron`
[INFO] [stdout]   --> src/lib.rs:36:34
[INFO] [stdout]    |
[INFO] [stdout] 36 | /* 4. Deskron (feature) */ #[cfg(target_os = "deskron")] pub(crate) mod os { mod deskron; pub use self::deskron::*; }
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `switch`
[INFO] [stdout]   --> src/lib.rs:40:51
[INFO] [stdout]    |
[INFO] [stdout] 40 | /* 8. Nintendo Switch (Custom target_os) */ #[cfg(target_os = "switch")] pub(crate) mod os { mod switch; pub use self::switch::*; }
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `xbox`
[INFO] [stdout]   --> src/lib.rs:42:45
[INFO] [stdout]    |
[INFO] [stdout] 42 | /* 10. XBox One (Custom target_os) */ #[cfg(target_os = "xbox")] pub(crate) mod os { mod xbox; pub use self::xbox::*; }
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[macro_use] extern crate ami;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathOp`
[INFO] [stdout]   --> src/screen/mod.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | use afi::{VFrame, PathOp};
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector`
[INFO] [stdout]   --> src/screen/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use Vector;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `nintendo_switch`
[INFO] [stdout]   --> src/render/mod.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 |     target_os="windows", target_os="nintendo_switch"
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `web`
[INFO] [stdout]   --> src/render/mod.rs:19:2
[INFO] [stdout]    |
[INFO] [stdout] 19 |     target_os="web"
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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: `Memory`
[INFO] [stdout]   --> src/render/vulkan/asi/mod.rs:24:25
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub use self::memory::{ Memory, Buffer, BufferBuilderType };
[INFO] [stdout]    |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector`
[INFO] [stdout]   --> src/render/vulkan/asi/mod.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub use Vector;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rotation`
[INFO] [stdout]   --> src/render/opengl/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use Rotation;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `nintendo_switch`
[INFO] [stdout]   --> src/render/mod.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 |         target_os="windows", target_os="nintendo_switch"
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/os/linux/mod.rs:245:3
[INFO] [stdout]     |
[INFO] [stdout] 245 |         extern { fn free(this: *mut XcbInternAtomReply) -> (); }
[INFO] [stdout]     |         ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/os/linux/mod.rs:286:2
[INFO] [stdout]     |
[INFO] [stdout] 286 |     extern { fn free(event: *mut XcbGenericEvent) -> (); }
[INFO] [stdout]     |     ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:245:21
[INFO] [stdout]     |
[INFO] [stdout] 245 |             = [unsafe { mem::uninitialized() }; 2];
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:458:19
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:461:36
[INFO] [stdout]     |
[INFO] [stdout] 461 |             transform: unsafe { ::std::mem::uninitialized() },
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:747:19
[INFO] [stdout]     |
[INFO] [stdout] 747 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:794:19
[INFO] [stdout]     |
[INFO] [stdout] 794 |                 unsafe { mem::uninitialized() },
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:795:19
[INFO] [stdout]     |
[INFO] [stdout] 795 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:848:19
[INFO] [stdout]     |
[INFO] [stdout] 848 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:900:19
[INFO] [stdout]     |
[INFO] [stdout] 900 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:950:19
[INFO] [stdout]     |
[INFO] [stdout] 950 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/mod.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut layout = mem::uninitialized();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:103:24
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let mut mapped = mem::uninitialized();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:122:23
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let mut props = mem::uninitialized();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:207:27
[INFO] [stdout]     |
[INFO] [stdout] 207 |     let mut semaphore = mem::uninitialized();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:354:26
[INFO] [stdout]     |
[INFO] [stdout] 354 |     let mut image_id = mem::uninitialized();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:371:30
[INFO] [stdout]     |
[INFO] [stdout] 371 |     let mut surface_info = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:421:30
[INFO] [stdout]     |
[INFO] [stdout] 421 |     let mut surface_info = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:466:28
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let mut image_view = mem::uninitialized();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:690:29
[INFO] [stdout]     |
[INFO] [stdout] 690 |     let mut render_pass = mem::uninitialized();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:861:34
[INFO] [stdout]     |
[INFO] [stdout] 861 |         let mut shader = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/memory/buffer.rs:38:34
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let mut buffer = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/memory/buffer.rs:39:34
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let mut memory = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/memory/buffer.rs:40:36
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut mem_reqs = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/memory/buffer.rs:123:42
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let mut mapped: *mut T = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/image.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut image = mem::uninitialized();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/image.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut memory = mem::uninitialized();
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/image.rs:35:30
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let mut memory_reqs = mem::uninitialized();
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/mod.rs:92:26
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut instance = mem::uninitialized();
[INFO] [stdout]    |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/surface.rs:99:34
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:130:34
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:161:34
[INFO] [stdout]     |
[INFO] [stdout] 161 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/device.rs:39:27
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut gpus = vec![mem::uninitialized(); num_gpus as usize];
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/device.rs:90:27
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 let mut format = mem::uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/device.rs:96:26
[INFO] [stdout]    |
[INFO] [stdout] 96 |                 let mut props = mem::uninitialized();
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/device.rs:116:24
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let mut device = mem::uninitialized();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/queue.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut queue = mem::uninitialized();
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/command_pool.rs:49:32
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let mut command_buffer = mem::uninitialized();
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/sampler.rs:24:25
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut sampler = mem::uninitialized();
[INFO] [stdout]    |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/sprite.rs:44:28
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut desc_pool = mem::uninitialized();
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/sprite.rs:45:27
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut desc_set = mem::uninitialized();
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:102:16
[INFO] [stdout]     |
[INFO] [stdout] 102 |             ::std::mem::uninitialized()
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:157:24
[INFO] [stdout]     |
[INFO] [stdout] 157 |             sets: unsafe { mem::uninitialized() },
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |             mem::uninitialized()
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |             mem::uninitialized()
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |             mem::uninitialized()
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/style.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut pipeline = mem::uninitialized();
[INFO] [stdout]    |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/style.rs:47:33
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let mut pipeline_layout = mem::uninitialized();
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/style.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut descsetlayout = mem::uninitialized();
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/vulkan/asi/fence.rs:39:23
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut fence = mem::uninitialized();
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/opengl/asi/loader.rs:134:36
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let mut nconfigs = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/opengl/asi/loader.rs:172:37
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut visual_id = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/opengl/asi/texture.rs:18:37
[INFO] [stdout]    |
[INFO] [stdout] 18 |             let mut a = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/opengl/asi/program.rs:97:40
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut value = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/opengl/asi/program.rs:103:41
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let mut value = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/render/opengl/asi/program.rs:108:31
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 vec![unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/render/opengl/asi/buffer.rs:18:36
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut buffers = [unsafe { mem::uninitialized() }];
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/screen/mod.rs:30:15
[INFO] [stdout]    |
[INFO] [stdout] 30 |     display: Box<Display>,
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     display: Box<dyn Display>,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/render/base.rs:104:26
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn draw(&self, writer: &Fn(u16, u16) -> [u8; 4]) -> ();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn draw(&self, writer: &dyn Fn(u16, u16) -> [u8; 4]) -> ();
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/screen/mod.rs:212:30
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn draw(&self, writer: &Fn(u16, u16) -> [u8; 4]) {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn draw(&self, writer: &dyn Fn(u16, u16) -> [u8; 4]) {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/render/vulkan/renderer/ffi.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 |     writer: &Fn(u16, u16) -> [u8; 4], width: usize, height: usize,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     writer: &dyn Fn(u16, u16) -> [u8; 4], width: usize, height: usize,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:205:57
[INFO] [stdout]     |
[INFO] [stdout] 205 | fn set_texture(vw: &Vw, texture: &mut Texture, writer: &Fn(u16, u16) -> [u8; 4])
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 205 | fn set_texture(vw: &Vw, texture: &mut Texture, writer: &dyn Fn(u16, u16) -> [u8; 4])
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/render/vulkan/mod.rs:156:26
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn draw(&self, writer: &Fn(u16, u16) -> [u8; 4]) {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn draw(&self, writer: &dyn Fn(u16, u16) -> [u8; 4]) {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/render/opengl/mod.rs:662:27
[INFO] [stdout]     |
[INFO] [stdout] 662 |     fn draw(&self, _writer: &Fn(u16, u16) -> [u8; 4]) {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 662 |     fn draw(&self, _writer: &dyn Fn(u16, u16) -> [u8; 4]) {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/render/mod.rs:23:36
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn new_display() -> Result<Box<Display>, String> {
[INFO] [stdout]    |                                    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn new_display() -> Result<Box<dyn Display>, String> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:316:12
[INFO] [stdout]     |
[INFO] [stdout] 316 |         writer: &Fn(u16, u16) -> [u8; 4])
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 316 |         writer: &dyn Fn(u16, u16) -> [u8; 4])
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::base::Display`
[INFO] [stdout]    --> src/render/opengl/mod.rs:237:7
[INFO] [stdout]     |
[INFO] [stdout] 237 |         use self::base::Display;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wh`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:315:28
[INFO] [stdout]     |
[INFO] [stdout] 315 |     pub(crate) fn draw(&self, wh: (u16, u16),
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_wh`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:467:7
[INFO] [stdout]     |
[INFO] [stdout] 467 |         let mut renderer = Renderer {
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:414:7
[INFO] [stdout]     |
[INFO] [stdout] 414 |         let w = wh.0 as usize;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:415:7
[INFO] [stdout]     |
[INFO] [stdout] 415 |         let h = wh.1 as usize;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fog`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:713:3
[INFO] [stdout]     |
[INFO] [stdout] 713 |         fog: bool, camera: bool) -> ShapeHandle
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:713:14
[INFO] [stdout]     |
[INFO] [stdout] 713 |         fog: bool, camera: bool) -> ShapeHandle
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fog`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:767:33
[INFO] [stdout]     |
[INFO] [stdout] 767 |         color: [f32; 4], alpha: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:767:44
[INFO] [stdout]     |
[INFO] [stdout] 767 |         color: [f32; 4], alpha: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fog`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:815:31
[INFO] [stdout]     |
[INFO] [stdout] 815 |         colors: usize, alpha: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:815:42
[INFO] [stdout]     |
[INFO] [stdout] 815 |         colors: usize, alpha: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fog`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:868:55
[INFO] [stdout]     |
[INFO] [stdout] 868 |         texture: usize, texcoords: usize, fade_factor: f32, fog: bool,
[INFO] [stdout]     |                                                             ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:869:3
[INFO] [stdout]     |
[INFO] [stdout] 869 |         camera: bool) -> ShapeHandle
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fog`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:914:16
[INFO] [stdout]     |
[INFO] [stdout] 914 |         alpha: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:914:27
[INFO] [stdout]     |
[INFO] [stdout] 914 |         alpha: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fog`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:971:3
[INFO] [stdout]     |
[INFO] [stdout] 971 |         fog: bool, camera: bool) -> ShapeHandle
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:971:14
[INFO] [stdout]     |
[INFO] [stdout] 971 |         fog: bool, camera: bool) -> ShapeHandle
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/render/opengl/asi/mod.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |             let (mut display, visual_id) = lib.init();
[INFO] [stdout]    |                  ----^^^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/render/opengl/mod.rs:210:7
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let mut display = self::Display {
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/opengl/mod.rs:377:47
[INFO] [stdout]     |
[INFO] [stdout] 377 |         color: [f32; 4], blending: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/opengl/mod.rs:409:48
[INFO] [stdout]     |
[INFO] [stdout] 409 |         colors: Gradient, blending: bool, fog: bool, camera: bool)
[INFO] [stdout]     |                                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/opengl/mod.rs:452:3
[INFO] [stdout]     |
[INFO] [stdout] 452 |         camera: bool) -> Shape
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/opengl/mod.rs:494:3
[INFO] [stdout]     |
[INFO] [stdout] 494 |         camera: bool) -> Shape
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/opengl/mod.rs:530:14
[INFO] [stdout]     |
[INFO] [stdout] 530 |         fog: bool, camera: bool) -> Shape
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/render/opengl/mod.rs:572:30
[INFO] [stdout]     |
[INFO] [stdout] 572 |         blending: bool, fog: bool, camera: bool) -> Shape
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xyz`
[INFO] [stdout]    --> src/render/opengl/mod.rs:649:7
[INFO] [stdout]     |
[INFO] [stdout] 649 |         let xyz = self.xyz;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_xyz`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rotate_xyz`
[INFO] [stdout]    --> src/render/opengl/mod.rs:650:7
[INFO] [stdout]     |
[INFO] [stdout] 650 |         let rotate_xyz = self.rotate_xyz;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rotate_xyz`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `is_empty`, `last`, `touch_release`, and `touch_press` are never used
[INFO] [stdout]    --> src/input/mod.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 455 | impl InputQueue {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 466 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 471 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     pub fn last(&self) -> Event {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     pub fn touch_release(&mut self, wh: (u16, u16), c: (i16, i16)) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 630 |     pub fn touch_press(&mut self, wh: (u16, u16), c: (i16, i16)) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]    --> src/input/keyboard/mod.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl Keyboard {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn get(&mut self, key: u8) -> bool {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `WindowOps` is never used
[INFO] [stdout]  --> src/window_ops.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait WindowOps {
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `style_gui` and `rotate_xyz` are never read
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:307:2
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub struct Renderer {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 307 |     style_gui: Style,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |     rotate_xyz: Vector,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FogUniform` is never constructed
[INFO] [stdout]   --> src/render/vulkan/asi/mod.rs:47:40
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Clone)] #[repr(C)] pub struct FogUniform {
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Memory` is never constructed
[INFO] [stdout]   --> src/render/vulkan/asi/memory/mod.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Memory<T> where T: Clone {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `update` are never used
[INFO] [stdout]   --> src/render/vulkan/asi/memory/mod.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<T> Memory<T> where T: Clone {
[INFO] [stdout]    | -------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn new(vulkan: &Gpu, data: T) -> Memory<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn update(&self, vulkan: &Gpu) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `camera_uniform`, `fog`, and `range` are never read
[INFO] [stdout]   --> src/render/opengl/mod.rs:53:2
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct Style {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 53 |     camera_uniform: UniformData,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 54 |     has_fog: UniformData,
[INFO] [stdout] 55 |     fog: UniformData,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 56 |     range: UniformData,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `uniform_vec2`, `uniform_vec3`, and `tex_subimage` are never read
[INFO] [stdout]    --> src/render/opengl/asi/mod.rs:183:2
[INFO] [stdout]     |
[INFO] [stdout] 146 | struct OpenGLContext {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 183 |     uniform_vec2: unsafe extern "system" fn(GLint, GLfloat, GLfloat) -> (),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 184 |     uniform_vec3: unsafe extern "system" fn(GLint, GLfloat, GLfloat, GLfloat)
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     tex_subimage: unsafe extern "system" fn(GLenum, GLint, GLint, GLint, GLsizei,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update` is never used
[INFO] [stdout]   --> src/render/opengl/asi/texture.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Texture {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn update(&self, w: u16, h: u16, px: &[u8]) -> () {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_vec2` and `set_vec3` are never used
[INFO] [stdout]   --> src/render/opengl/asi/uniform_data.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl UniformData {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn set_vec2(&self, vec: &[f32; 2]) -> () {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn set_vec3(&self, vec: &[f32; 3]) -> () {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/screen/mod.rs:39:2
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub ctx: Ctx,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/render/base.rs:104:2
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn draw(&self, writer: &Fn(u16, u16) -> [u8; 4]) -> ();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> src/render/base.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub trait Point {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/render/base.rs:161:2
[INFO] [stdout]     |
[INFO] [stdout] 161 |     fn point(&self) -> Vector;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkFramebuffer` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:245:16
[INFO] [stdout]     |
[INFO] [stdout] 245 |             = [unsafe { mem::uninitialized() }; 2];
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this code causes undefined behavior when executed
[INFO] [stdout]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:32:67
[INFO] [stdout]     |
[INFO] [stdout]  32 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub struct VkFramebuffer(pub(crate) u64);
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:458:14
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ami::Matrix` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:461:24
[INFO] [stdout]     |
[INFO] [stdout] 461 |             transform: unsafe { ::std::mem::uninitialized() },
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: floats must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:747:14
[INFO] [stdout]     |
[INFO] [stdout] 747 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:794:14
[INFO] [stdout]     |
[INFO] [stdout] 794 |                 unsafe { mem::uninitialized() },
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:795:14
[INFO] [stdout]     |
[INFO] [stdout] 795 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:848:14
[INFO] [stdout]     |
[INFO] [stdout] 848 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:900:14
[INFO] [stdout]     |
[INFO] [stdout] 900 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/renderer/mod.rs:950:14
[INFO] [stdout]     |
[INFO] [stdout] 950 |                 unsafe { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkSubresourceLayout` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/mod.rs:81:19
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut layout = mem::uninitialized();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      this code causes undefined behavior when executed
[INFO] [stdout]    |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/render/vulkan/asi/types.rs:54:2
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub offset: VkDeviceSize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut T` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:103:19
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let mut mapped = mem::uninitialized();
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this code causes undefined behavior when executed
[INFO] [stdout]     |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkPhysicalDeviceMemoryProperties` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:122:18
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let mut props = mem::uninitialized();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this code causes undefined behavior when executed
[INFO] [stdout]     |                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:498:2
[INFO] [stdout]     |
[INFO] [stdout] 498 |     pub memory_type_count: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:207:22
[INFO] [stdout]     |
[INFO] [stdout] 207 |     let mut semaphore = mem::uninitialized();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this code causes undefined behavior when executed
[INFO] [stdout]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:354:21
[INFO] [stdout]     |
[INFO] [stdout] 354 |     let mut image_id = mem::uninitialized();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this code causes undefined behavior when executed
[INFO] [stdout]     |                        help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkSurfaceCapabilitiesKHR` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:371:25
[INFO] [stdout]     |
[INFO] [stdout] 371 |     let mut surface_info = mem::uninitialized();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this code causes undefined behavior when executed
[INFO] [stdout]     |                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:625:2
[INFO] [stdout]     |
[INFO] [stdout] 625 |     pub min_image_count: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkSurfaceCapabilitiesKHR` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:421:25
[INFO] [stdout]     |
[INFO] [stdout] 421 |     let mut surface_info = mem::uninitialized();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this code causes undefined behavior when executed
[INFO] [stdout]     |                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:625:2
[INFO] [stdout]     |
[INFO] [stdout] 625 |     pub min_image_count: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:466:23
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let mut image_view = mem::uninitialized();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkRenderPass` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:690:24
[INFO] [stdout]     |
[INFO] [stdout] 690 |     let mut render_pass = mem::uninitialized();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this code causes undefined behavior when executed
[INFO] [stdout]     |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:31:66
[INFO] [stdout]     |
[INFO] [stdout]  31 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub struct VkRenderPass(pub(crate) u64);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkShaderModule` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/mod.rs:861:29
[INFO] [stdout]     |
[INFO] [stdout] 861 |         let mut shader = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this code causes undefined behavior when executed
[INFO] [stdout]     |                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:33:75
[INFO] [stdout]     |
[INFO] [stdout]  33 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub(crate) struct VkShaderModule(pub(crate) u64);
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/memory/buffer.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let mut buffer = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   this code causes undefined behavior when executed
[INFO] [stdout]    |                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/memory/buffer.rs:39:29
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let mut memory = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   this code causes undefined behavior when executed
[INFO] [stdout]    |                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkMemoryRequirements` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/memory/buffer.rs:40:31
[INFO] [stdout]     |
[INFO] [stdout]  40 |         let mut mem_reqs = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this code causes undefined behavior when executed
[INFO] [stdout]     |                                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:456:2
[INFO] [stdout]     |
[INFO] [stdout] 456 |     pub size: VkDeviceSize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut T` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/memory/buffer.rs:123:37
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let mut mapped: *mut T = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/image.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut image = mem::uninitialized();
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this code causes undefined behavior when executed
[INFO] [stdout]    |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/image.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut memory = mem::uninitialized();
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          this code causes undefined behavior when executed
[INFO] [stdout]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkMemoryRequirements` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/image.rs:35:25
[INFO] [stdout]     |
[INFO] [stdout]  35 |         let mut memory_reqs = mem::uninitialized();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this code causes undefined behavior when executed
[INFO] [stdout]     |                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:456:2
[INFO] [stdout]     |
[INFO] [stdout] 456 |     pub size: VkDeviceSize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkInstance` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/mod.rs:92:21
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut instance = mem::uninitialized();
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        this code causes undefined behavior when executed
[INFO] [stdout]    |                        help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: raw pointers must be initialized (in this struct field)
[INFO] [stdout]   --> src/render/vulkan/asi/types.rs:40:71
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub(crate) struct VkInstance(*mut c_void);
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/mod.rs:407:20
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub(crate) fn get(&self) -> std::cell::Ref<GpuContext> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub(crate) fn get(&self) -> std::cell::Ref<'_, GpuContext> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/mod.rs:411:24
[INFO] [stdout]     |
[INFO] [stdout] 411 |     pub(crate) fn get_mut(&self) -> std::cell::RefMut<GpuContext> {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 411 |     pub(crate) fn get_mut(&self) -> std::cell::RefMut<'_, GpuContext> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/mod.rs:453:4
[INFO] [stdout]     |
[INFO] [stdout] 453 |             pAllocator: *mut c_void) -> ();
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/mod.rs:473:26
[INFO] [stdout]     |
[INFO] [stdout] 473 |             instance: VkInstance, pAllocator: *mut c_void) -> ();
[INFO] [stdout]     |                                   ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/surface.rs:99:29
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                this code causes undefined behavior when executed
[INFO] [stdout]    |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:110:3
[INFO] [stdout]     |
[INFO] [stdout] 110 |         pCreateInfo: *const SurfaceCreateInfoXcb,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:111:3
[INFO] [stdout]     |
[INFO] [stdout] 111 |         pAllocator: *mut c_void,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:130:29
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:141:3
[INFO] [stdout]     |
[INFO] [stdout] 141 |         pCreateInfo: *const SurfaceCreateInfoWindows,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:142:3
[INFO] [stdout]     |
[INFO] [stdout] 142 |         pAllocator: *mut c_void,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:161:29
[INFO] [stdout]     |
[INFO] [stdout] 161 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:171:3
[INFO] [stdout]     |
[INFO] [stdout] 171 |         pCreateInfo: *const SurfaceCreateInfoAndroid,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/surface.rs:172:3
[INFO] [stdout]     |
[INFO] [stdout] 172 |         pAllocator: *mut c_void,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkPhysicalDevice` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/device.rs:39:22
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut gpus = vec![mem::uninitialized(); num_gpus as usize];
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this code causes undefined behavior when executed
[INFO] [stdout]    |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: raw pointers must be initialized (in this struct field)
[INFO] [stdout]   --> src/render/vulkan/asi/types.rs:39:77
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub(crate) struct VkPhysicalDevice(*mut c_void);
[INFO] [stdout]    |                                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkSurfaceFormatKHR` does not permit being left uninitialized
[INFO] [stdout]     --> src/render/vulkan/asi/gpu/device.rs:90:22
[INFO] [stdout]      |
[INFO] [stdout]   90 |                 let mut format = mem::uninitialized();
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  this code causes undefined behavior when executed
[INFO] [stdout]      |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]      |
[INFO] [stdout]      = note: `render::vulkan::asi::types::VkSurfaceFormatKHR` must be initialized inside its custom valid range
[INFO] [stdout] note: in this struct field
[INFO] [stdout]     --> src/render/vulkan/asi/types.rs:638:2
[INFO] [stdout]      |
[INFO] [stdout]  638 |     pub format: VkFormat,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]     --> src/render/vulkan/asi/types.rs:1079:67
[INFO] [stdout]      |
[INFO] [stdout] 1079 | #[repr(C)] #[allow(dead_code)] #[derive(PartialEq, Clone, Debug)] pub enum VkFormat {
[INFO] [stdout]      |                                                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkFormatProperties` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/device.rs:96:21
[INFO] [stdout]    |
[INFO] [stdout] 96 |                 let mut props = mem::uninitialized();
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 this code causes undefined behavior when executed
[INFO] [stdout]    |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/render/vulkan/asi/types.rs:89:2
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub linear_tiling_features: VkFlags,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkDevice` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/device.rs:116:19
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let mut device = mem::uninitialized();
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this code causes undefined behavior when executed
[INFO] [stdout]     |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: raw pointers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:38:69
[INFO] [stdout]     |
[INFO] [stdout]  38 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub(crate) struct VkDevice(*mut c_void);
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `physicalDevice` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/device.rs:144:3
[INFO] [stdout]     |
[INFO] [stdout] 144 |         physicalDevice: VkPhysicalDevice,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `physical_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/device.rs:145:3
[INFO] [stdout]     |
[INFO] [stdout] 145 |         pCreateInfo: *const VkDeviceCreateInfo,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/device.rs:146:3
[INFO] [stdout]     |
[INFO] [stdout] 146 |         pAllocator: *mut c_void,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pDevice` should have a snake case name
[INFO] [stdout]    --> src/render/vulkan/asi/gpu/device.rs:147:3
[INFO] [stdout]     |
[INFO] [stdout] 147 |         pDevice: *mut VkDevice) -> VkResult;
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `p_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `queueFamilyIndex` should have a snake case name
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/queue.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 19 |         queueFamilyIndex: u32, queueIndex: u32, pQueue: *mut VkQueue)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `queue_family_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `queueIndex` should have a snake case name
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/queue.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 19 |         queueFamilyIndex: u32, queueIndex: u32, pQueue: *mut VkQueue)
[INFO] [stdout]    |                                ^^^^^^^^^^ help: convert the identifier to snake case: `queue_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pQueue` should have a snake case name
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/queue.rs:19:43
[INFO] [stdout]    |
[INFO] [stdout] 19 |         queueFamilyIndex: u32, queueIndex: u32, pQueue: *mut VkQueue)
[INFO] [stdout]    |                                                 ^^^^^^ help: convert the identifier to snake case: `p_queue`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `vulkan::asi::types::VkQueue` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/queue.rs:24:18
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut queue = mem::uninitialized();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     this code causes undefined behavior when executed
[INFO] [stdout]    |                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: raw pointers must be initialized (in this struct field)
[INFO] [stdout]   --> src/render/vulkan/asi/types.rs:41:61
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub struct VkQueue(*mut c_void);
[INFO] [stdout]    |                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/command_pool.rs:42:3
[INFO] [stdout]    |
[INFO] [stdout] 42 |         pCreateInfo: *const VkCommandPoolCreateInfo,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pAllocator` should have a snake case name
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/command_pool.rs:43:3
[INFO] [stdout]    |
[INFO] [stdout] 43 |         pAllocator: *mut c_void, pCommandPool: *mut u64) -> VkResult;
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pCommandPool` should have a snake case name
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/command_pool.rs:43:28
[INFO] [stdout]    |
[INFO] [stdout] 43 |         pAllocator: *mut c_void, pCommandPool: *mut u64) -> VkResult;
[INFO] [stdout]    |                                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `p_command_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut c_void` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/command_pool.rs:49:27
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let mut command_buffer = mem::uninitialized();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              this code causes undefined behavior when executed
[INFO] [stdout]    |                              help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/gpu/sampler.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut sampler = mem::uninitialized();
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       this code causes undefined behavior when executed
[INFO] [stdout]    |                       help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/sprite.rs:44:23
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut desc_pool = mem::uninitialized();
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             this code causes undefined behavior when executed
[INFO] [stdout]    |                             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/sprite.rs:45:22
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut desc_set = mem::uninitialized();
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            this code causes undefined behavior when executed
[INFO] [stdout]    |                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `memory::buffer::Buffer` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 |             ::std::mem::uninitialized()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this code causes undefined behavior when executed
[INFO] [stdout]     |             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: `render::vulkan::asi::memory::buffer::Buffer` must be non-null
[INFO] [stdout] note: because `std::rc::Rc<render::vulkan::asi::memory::buffer::BufferContext>` must be non-null (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/memory/buffer.rs:24:36
[INFO] [stdout]     |
[INFO] [stdout]  24 | #[derive(Clone)] pub struct Buffer(Rc<BufferContext>);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: because `std::ptr::NonNull<std::rc::RcInner<render::vulkan::asi::memory::buffer::BufferContext>>` must be non-null
[INFO] [stdout]     = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[Set; 255]` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:157:19
[INFO] [stdout]     |
[INFO] [stdout] 157 |             sets: unsafe { mem::uninitialized() },
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this code causes undefined behavior when executed
[INFO] [stdout]     |                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:259:1
[INFO] [stdout]     |
[INFO] [stdout] 259 | enum Set {
[INFO] [stdout]     | ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[vulkan::asi::types::VkDescriptorBufferInfo; 255]` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:195:4
[INFO] [stdout]     |
[INFO] [stdout] 195 |             mem::uninitialized()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this code causes undefined behavior when executed
[INFO] [stdout]     |             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:377:2
[INFO] [stdout]     |
[INFO] [stdout] 377 |     pub buffer: VkBuffer,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[vulkan::asi::types::VkDescriptorImageInfo; 255]` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/vulkan/asi/sprite.rs:198:4
[INFO] [stdout]     |
[INFO] [stdout] 198 |             mem::uninitialized()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this code causes undefined behavior when executed
[INFO] [stdout]     |             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/render/vulkan/asi/types.rs:396:2
[INFO] [stdout]     |
[INFO] [stdout] 396 |     pub sampler: VkSampler,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[vulkan::asi::types::VkWriteDescriptorSet; 255]` does not permit being left uninitialized
[INFO] [stdout]     --> src/render/vulkan/asi/sprite.rs:201:4
[INFO] [stdout]      |
[INFO] [stdout]  201 |             mem::uninitialized()
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             this code causes undefined behavior when executed
[INFO] [stdout]      |             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]      |
[INFO] [stdout] note: in this struct field
[INFO] [stdout]     --> src/render/vulkan/asi/types.rs:383:2
[INFO] [stdout]      |
[INFO] [stdout]  383 |     pub s_type: VkStructureType,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]     --> src/render/vulkan/asi/types.rs:1267:49
[INFO] [stdout]      |
[INFO] [stdout] 1267 | #[derive(Debug)] #[repr(C)] #[allow(dead_code)] pub(crate) enum VkStructureType {
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/style.rs:46:21
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut pipeline = mem::uninitialized();
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        this code causes undefined behavior when executed
[INFO] [stdout]    |                        help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/style.rs:47:28
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let mut pipeline_layout = mem::uninitialized();
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               this code causes undefined behavior when executed
[INFO] [stdout]    |                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/style.rs:48:26
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut descsetlayout = mem::uninitialized();
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             this code causes undefined behavior when executed
[INFO] [stdout]    |                             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/vulkan/asi/fence.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut fence = mem::uninitialized();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     this code causes undefined behavior when executed
[INFO] [stdout]    |                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/render/opengl/mod.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |                 unsafe {mem::transmute(window as usize)}
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout]     = note: `#[warn(integer_to_ptr_transmutes)]` on by default
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 157 -                 unsafe {mem::transmute(window as usize)}
[INFO] [stdout] 157 +                 unsafe {std::ptr::with_exposed_provenance_mut::<c_void>(window as usize)}
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/render/opengl/asi/mod.rs:283:9
[INFO] [stdout]     |
[INFO] [stdout] 283 |     fn get(&self) -> ::std::cell::Ref<OpenGLContext> {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 283 |     fn get(&self) -> ::std::cell::Ref<'_, OpenGLContext> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/opengl/asi/loader.rs:134:31
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let mut nconfigs = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this code causes undefined behavior when executed
[INFO] [stdout]     |                                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/opengl/asi/loader.rs:172:32
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut visual_id = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/opengl/asi/texture.rs:18:25
[INFO] [stdout]    |
[INFO] [stdout] 18 |             let mut a = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  this code causes undefined behavior when executed
[INFO] [stdout]    |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/opengl/asi/program.rs:97:28
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut value = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  this code causes undefined behavior when executed
[INFO] [stdout]    |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/opengl/asi/program.rs:103:29
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let mut value = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u8` does not permit being left uninitialized
[INFO] [stdout]    --> src/render/opengl/asi/program.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 vec![unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this code causes undefined behavior when executed
[INFO] [stdout]     |                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> src/render/opengl/asi/buffer.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut buffers = [unsafe { mem::uninitialized() }];
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     this code causes undefined behavior when executed
[INFO] [stdout]    |                                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/os/linux/mod.rs:215:33
[INFO] [stdout]     |
[INFO] [stdout] 215 |         screen.root_visual = unsafe { ::std::mem::transmute(v) };
[INFO] [stdout]     |                                       ---------------------^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       help: replace this with: `i32::cast_unsigned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `free` redeclared with a different signature
[INFO] [stdout]    --> src/os/linux/mod.rs:286:11
[INFO] [stdout]     |
[INFO] [stdout] 245 |         extern { fn free(this: *mut XcbInternAtomReply) -> (); }
[INFO] [stdout]     |                  --------------------------------------------- `free` previously declared here
[INFO] [stdout] ...
[INFO] [stdout] 286 |     extern { fn free(event: *mut XcbGenericEvent) -> (); }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected `unsafe extern "C" fn(*mut XcbInternAtomReply)`
[INFO] [stdout]                found `unsafe extern "C" fn(*mut XcbGenericEvent)`
[INFO] [stdout]     = note: `#[warn(clashing_extern_declarations)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.18s
[INFO] running `Command { std: "docker" "inspect" "dc3b0c900157c9ddd955572f0b259df50f0106c02fc1897332c3e2cbbd981b4c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dc3b0c900157c9ddd955572f0b259df50f0106c02fc1897332c3e2cbbd981b4c", kill_on_drop: false }`
[INFO] [stdout] dc3b0c900157c9ddd955572f0b259df50f0106c02fc1897332c3e2cbbd981b4c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4bf8434dda1d182980821832bf5afd9c5a68e5fffa54d5db9c3ac1d8e007ca8e
[INFO] running `Command { std: "docker" "start" "-a" "4bf8434dda1d182980821832bf5afd9c5a68e5fffa54d5db9c3ac1d8e007ca8e", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: unexpected `cfg` condition value: `bitrig`
[INFO] [stderr]   --> src/lib.rs:34:101
[INFO] [stderr]    |
[INFO] [stderr] 34 | /* 2. Linux / BSD */ #[cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "bitrig", target_os ...
[INFO] [stderr]    |                                                                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `rpi`
[INFO] [stderr]   --> src/lib.rs:35:39
[INFO] [stderr]    |
[INFO] [stderr] 35 | /* 3. Raspberry Pi (feature) */ #[cfg(target_os = "rpi")] pub(crate) mod os { mod rpi; pub use self::rpi::*; }
[INFO] [stderr]    |                                       ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `deskron`
[INFO] [stderr]   --> src/lib.rs:36:34
[INFO] [stderr]    |
[INFO] [stderr] 36 | /* 4. Deskron (feature) */ #[cfg(target_os = "deskron")] pub(crate) mod os { mod deskron; pub use self::deskron::*; }
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `switch`
[INFO] [stderr]   --> src/lib.rs:40:51
[INFO] [stderr]    |
[INFO] [stderr] 40 | /* 8. Nintendo Switch (Custom target_os) */ #[cfg(target_os = "switch")] pub(crate) mod os { mod switch; pub use self::switch::*; }
[INFO] [stderr]    |                                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `xbox`
[INFO] [stderr]   --> src/lib.rs:42:45
[INFO] [stderr]    |
[INFO] [stderr] 42 | /* 10. XBox One (Custom target_os) */ #[cfg(target_os = "xbox")] pub(crate) mod os { mod xbox; pub use self::xbox::*; }
[INFO] [stderr]    |                                             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 `#[macro_use]` import
[INFO] [stderr]   --> src/lib.rs:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | #[macro_use] extern crate ami;
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PathOp`
[INFO] [stderr]   --> src/screen/mod.rs:14:19
[INFO] [stderr]    |
[INFO] [stderr] 14 | use afi::{VFrame, PathOp};
[INFO] [stderr]    |                   ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Vector`
[INFO] [stderr]   --> src/screen/mod.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use Vector;
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `nintendo_switch`
[INFO] [stderr]   --> src/render/mod.rs:14:23
[INFO] [stderr]    |
[INFO] [stderr] 14 |     target_os="windows", target_os="nintendo_switch"
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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 value: `web`
[INFO] [stderr]   --> src/render/mod.rs:19:2
[INFO] [stderr]    |
[INFO] [stderr] 19 |     target_os="web"
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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: `Memory`
[INFO] [stderr]   --> src/render/vulkan/asi/mod.rs:24:25
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub use self::memory::{ Memory, Buffer, BufferBuilderType };
[INFO] [stderr]    |                         ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Vector`
[INFO] [stderr]   --> src/render/vulkan/asi/mod.rs:31:9
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub use Vector;
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Rotation`
[INFO] [stderr]   --> src/render/opengl/mod.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use Rotation;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `nintendo_switch`
[INFO] [stderr]   --> src/render/mod.rs:29:24
[INFO] [stderr]    |
[INFO] [stderr] 29 |         target_os="windows", target_os="nintendo_switch"
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[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: `extern` declarations without an explicit ABI are deprecated
[INFO] [stderr]    --> src/os/linux/mod.rs:245:3
[INFO] [stderr]     |
[INFO] [stderr] 245 |         extern { fn free(this: *mut XcbInternAtomReply) -> (); }
[INFO] [stderr]     |         ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(missing_abi)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stderr]    --> src/os/linux/mod.rs:286:2
[INFO] [stderr]     |
[INFO] [stderr] 286 |     extern { fn free(event: *mut XcbGenericEvent) -> (); }
[INFO] [stderr]     |     ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:245:21
[INFO] [stderr]     |
[INFO] [stderr] 245 |             = [unsafe { mem::uninitialized() }; 2];
[INFO] [stderr]     |                              ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:458:19
[INFO] [stderr]     |
[INFO] [stderr] 458 |                 unsafe { mem::uninitialized() }
[INFO] [stderr]     |                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:461:36
[INFO] [stderr]     |
[INFO] [stderr] 461 |             transform: unsafe { ::std::mem::uninitialized() },
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:747:19
[INFO] [stderr]     |
[INFO] [stderr] 747 |                 unsafe { mem::uninitialized() }
[INFO] [stderr]     |                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:794:19
[INFO] [stderr]     |
[INFO] [stderr] 794 |                 unsafe { mem::uninitialized() },
[INFO] [stderr]     |                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:795:19
[INFO] [stderr]     |
[INFO] [stderr] 795 |                 unsafe { mem::uninitialized() }
[INFO] [stderr]     |                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:848:19
[INFO] [stderr]     |
[INFO] [stderr] 848 |                 unsafe { mem::uninitialized() }
[INFO] [stderr]     |                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:900:19
[INFO] [stderr]     |
[INFO] [stderr] 900 |                 unsafe { mem::uninitialized() }
[INFO] [stderr]     |                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:950:19
[INFO] [stderr]     |
[INFO] [stderr] 950 |                 unsafe { mem::uninitialized() }
[INFO] [stderr]     |                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/mod.rs:81:24
[INFO] [stderr]    |
[INFO] [stderr] 81 |     let mut layout = mem::uninitialized();
[INFO] [stderr]    |                           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/asi/mod.rs:103:24
[INFO] [stderr]     |
[INFO] [stderr] 103 |     let mut mapped = mem::uninitialized();
[INFO] [stderr]     |                           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/asi/mod.rs:122:23
[INFO] [stderr]     |
[INFO] [stderr] 122 |     let mut props = mem::uninitialized();
[INFO] [stderr]     |                          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/asi/mod.rs:207:27
[INFO] [stderr]     |
[INFO] [stderr] 207 |     let mut semaphore = mem::uninitialized();
[INFO] [stderr]     |                              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/asi/mod.rs:354:26
[INFO] [stderr]     |
[INFO] [stderr] 354 |     let mut image_id = mem::uninitialized();
[INFO] [stderr]     |                             ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/asi/mod.rs:371:30
[INFO] [stderr]     |
[INFO] [stderr] 371 |     let mut surface_info = mem::uninitialized();
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/asi/mod.rs:421:30
[INFO] [stderr]     |
[INFO] [stderr] 421 |     let mut surface_info = mem::uninitialized();
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/asi/mod.rs:466:28
[INFO] [stderr]     |
[INFO] [stderr] 466 |     let mut image_view = mem::uninitialized();
[INFO] [stderr]     |                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/asi/mod.rs:690:29
[INFO] [stderr]     |
[INFO] [stderr] 690 |     let mut render_pass = mem::uninitialized();
[INFO] [stderr]     |                                ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/asi/mod.rs:861:34
[INFO] [stderr]     |
[INFO] [stderr] 861 |         let mut shader = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/memory/buffer.rs:38:34
[INFO] [stderr]    |
[INFO] [stderr] 38 |         let mut buffer = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/memory/buffer.rs:39:34
[INFO] [stderr]    |
[INFO] [stderr] 39 |         let mut memory = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/memory/buffer.rs:40:36
[INFO] [stderr]    |
[INFO] [stderr] 40 |         let mut mem_reqs = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/asi/memory/buffer.rs:123:42
[INFO] [stderr]     |
[INFO] [stderr] 123 |         let mut mapped: *mut T = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/image.rs:33:24
[INFO] [stderr]    |
[INFO] [stderr] 33 |         let mut image = mem::uninitialized();
[INFO] [stderr]    |                              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/image.rs:34:25
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let mut memory = mem::uninitialized();
[INFO] [stderr]    |                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/image.rs:35:30
[INFO] [stderr]    |
[INFO] [stderr] 35 |         let mut memory_reqs = mem::uninitialized();
[INFO] [stderr]    |                                    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/mod.rs:92:26
[INFO] [stderr]    |
[INFO] [stderr] 92 |     let mut instance = mem::uninitialized();
[INFO] [stderr]    |                             ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/surface.rs:99:34
[INFO] [stderr]    |
[INFO] [stderr] 99 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/surface.rs:130:34
[INFO] [stderr]     |
[INFO] [stderr] 130 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/surface.rs:161:34
[INFO] [stderr]     |
[INFO] [stderr] 161 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/device.rs:39:27
[INFO] [stderr]    |
[INFO] [stderr] 39 |     let mut gpus = vec![mem::uninitialized(); num_gpus as usize];
[INFO] [stderr]    |                              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/device.rs:90:27
[INFO] [stderr]    |
[INFO] [stderr] 90 |                 let mut format = mem::uninitialized();
[INFO] [stderr]    |                                       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/device.rs:96:26
[INFO] [stderr]    |
[INFO] [stderr] 96 |                 let mut props = mem::uninitialized();
[INFO] [stderr]    |                                      ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/device.rs:116:24
[INFO] [stderr]     |
[INFO] [stderr] 116 |     let mut device = mem::uninitialized();
[INFO] [stderr]     |                           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/queue.rs:24:23
[INFO] [stderr]    |
[INFO] [stderr] 24 |     let mut queue = mem::uninitialized();
[INFO] [stderr]    |                          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/command_pool.rs:49:32
[INFO] [stderr]    |
[INFO] [stderr] 49 |     let mut command_buffer = mem::uninitialized();
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/sampler.rs:24:25
[INFO] [stderr]    |
[INFO] [stderr] 24 |     let mut sampler = mem::uninitialized();
[INFO] [stderr]    |                            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/sprite.rs:44:28
[INFO] [stderr]    |
[INFO] [stderr] 44 |         let mut desc_pool = mem::uninitialized();
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/sprite.rs:45:27
[INFO] [stderr]    |
[INFO] [stderr] 45 |         let mut desc_set = mem::uninitialized();
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/asi/sprite.rs:102:16
[INFO] [stderr]     |
[INFO] [stderr] 102 |             ::std::mem::uninitialized()
[INFO] [stderr]     |                         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/asi/sprite.rs:157:24
[INFO] [stderr]     |
[INFO] [stderr] 157 |             sets: unsafe { mem::uninitialized() },
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/asi/sprite.rs:195:9
[INFO] [stderr]     |
[INFO] [stderr] 195 |             mem::uninitialized()
[INFO] [stderr]     |                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/asi/sprite.rs:198:9
[INFO] [stderr]     |
[INFO] [stderr] 198 |             mem::uninitialized()
[INFO] [stderr]     |                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/vulkan/asi/sprite.rs:201:9
[INFO] [stderr]     |
[INFO] [stderr] 201 |             mem::uninitialized()
[INFO] [stderr]     |                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/style.rs:46:26
[INFO] [stderr]    |
[INFO] [stderr] 46 |     let mut pipeline = mem::uninitialized();
[INFO] [stderr]    |                             ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/style.rs:47:33
[INFO] [stderr]    |
[INFO] [stderr] 47 |     let mut pipeline_layout = mem::uninitialized();
[INFO] [stderr]    |                                    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/style.rs:48:31
[INFO] [stderr]    |
[INFO] [stderr] 48 |     let mut descsetlayout = mem::uninitialized();
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/vulkan/asi/fence.rs:39:23
[INFO] [stderr]    |
[INFO] [stderr] 39 |     let mut fence = mem::uninitialized();
[INFO] [stderr]    |                          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/opengl/asi/loader.rs:134:36
[INFO] [stderr]     |
[INFO] [stderr] 134 |         let mut nconfigs = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/opengl/asi/loader.rs:172:37
[INFO] [stderr]     |
[INFO] [stderr] 172 |         let mut visual_id = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/opengl/asi/texture.rs:18:37
[INFO] [stderr]    |
[INFO] [stderr] 18 |             let mut a = unsafe { ::std::mem::uninitialized() };
[INFO] [stderr]    |                                              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/opengl/asi/program.rs:97:40
[INFO] [stderr]    |
[INFO] [stderr] 97 |         let mut value = unsafe { ::std::mem::uninitialized() };
[INFO] [stderr]    |                                              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/opengl/asi/program.rs:103:41
[INFO] [stderr]     |
[INFO] [stderr] 103 |             let mut value = unsafe { ::std::mem::uninitialized() };
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/render/opengl/asi/program.rs:108:31
[INFO] [stderr]     |
[INFO] [stderr] 108 |                 vec![unsafe { ::std::mem::uninitialized() };
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/render/opengl/asi/buffer.rs:18:36
[INFO] [stderr]    |
[INFO] [stderr] 18 |         let mut buffers = [unsafe { mem::uninitialized() }];
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/screen/mod.rs:30:15
[INFO] [stderr]    |
[INFO] [stderr] 30 |     display: Box<Display>,
[INFO] [stderr]    |                  ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 30 |     display: Box<dyn Display>,
[INFO] [stderr]    |                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/render/base.rs:104:26
[INFO] [stderr]     |
[INFO] [stderr] 104 |     fn draw(&self, writer: &Fn(u16, u16) -> [u8; 4]) -> ();
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 104 |     fn draw(&self, writer: &dyn Fn(u16, u16) -> [u8; 4]) -> ();
[INFO] [stderr]     |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/screen/mod.rs:212:30
[INFO] [stderr]     |
[INFO] [stderr] 212 |     pub fn draw(&self, writer: &Fn(u16, u16) -> [u8; 4]) {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 212 |     pub fn draw(&self, writer: &dyn Fn(u16, u16) -> [u8; 4]) {
[INFO] [stderr]     |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/render/vulkan/renderer/ffi.rs:30:11
[INFO] [stderr]    |
[INFO] [stderr] 30 |     writer: &Fn(u16, u16) -> [u8; 4], width: usize, height: usize,
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 30 |     writer: &dyn Fn(u16, u16) -> [u8; 4], width: usize, height: usize,
[INFO] [stderr]    |              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:205:57
[INFO] [stderr]     |
[INFO] [stderr] 205 | fn set_texture(vw: &Vw, texture: &mut Texture, writer: &Fn(u16, u16) -> [u8; 4])
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 205 | fn set_texture(vw: &Vw, texture: &mut Texture, writer: &dyn Fn(u16, u16) -> [u8; 4])
[INFO] [stderr]     |                                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/render/vulkan/mod.rs:156:26
[INFO] [stderr]     |
[INFO] [stderr] 156 |     fn draw(&self, writer: &Fn(u16, u16) -> [u8; 4]) {
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 156 |     fn draw(&self, writer: &dyn Fn(u16, u16) -> [u8; 4]) {
[INFO] [stderr]     |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/render/opengl/mod.rs:662:27
[INFO] [stderr]     |
[INFO] [stderr] 662 |     fn draw(&self, _writer: &Fn(u16, u16) -> [u8; 4]) {
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 662 |     fn draw(&self, _writer: &dyn Fn(u16, u16) -> [u8; 4]) {
[INFO] [stderr]     |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/render/mod.rs:23:36
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn new_display() -> Result<Box<Display>, String> {
[INFO] [stderr]    |                                    ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn new_display() -> Result<Box<dyn Display>, String> {
[INFO] [stderr]    |                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:316:12
[INFO] [stderr]     |
[INFO] [stderr] 316 |         writer: &Fn(u16, u16) -> [u8; 4])
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 316 |         writer: &dyn Fn(u16, u16) -> [u8; 4])
[INFO] [stderr]     |                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self::base::Display`
[INFO] [stderr]    --> src/render/opengl/mod.rs:237:7
[INFO] [stderr]     |
[INFO] [stderr] 237 |         use self::base::Display;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `wh`
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:315:28
[INFO] [stderr]     |
[INFO] [stderr] 315 |     pub(crate) fn draw(&self, wh: (u16, u16),
[INFO] [stderr]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_wh`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:467:7
[INFO] [stderr]     |
[INFO] [stderr] 467 |         let mut renderer = Renderer {
[INFO] [stderr]     |             ----^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `w`
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:414:7
[INFO] [stderr]     |
[INFO] [stderr] 414 |         let w = wh.0 as usize;
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `h`
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:415:7
[INFO] [stderr]     |
[INFO] [stderr] 415 |         let h = wh.1 as usize;
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fog`
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:713:3
[INFO] [stderr]     |
[INFO] [stderr] 713 |         fog: bool, camera: bool) -> ShapeHandle
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `camera`
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:713:14
[INFO] [stderr]     |
[INFO] [stderr] 713 |         fog: bool, camera: bool) -> ShapeHandle
[INFO] [stderr]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fog`
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:767:33
[INFO] [stderr]     |
[INFO] [stderr] 767 |         color: [f32; 4], alpha: bool, fog: bool, camera: bool)
[INFO] [stderr]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `camera`
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:767:44
[INFO] [stderr]     |
[INFO] [stderr] 767 |         color: [f32; 4], alpha: bool, fog: bool, camera: bool)
[INFO] [stderr]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fog`
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:815:31
[INFO] [stderr]     |
[INFO] [stderr] 815 |         colors: usize, alpha: bool, fog: bool, camera: bool)
[INFO] [stderr]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `camera`
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:815:42
[INFO] [stderr]     |
[INFO] [stderr] 815 |         colors: usize, alpha: bool, fog: bool, camera: bool)
[INFO] [stderr]     |                                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fog`
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:868:55
[INFO] [stderr]     |
[INFO] [stderr] 868 |         texture: usize, texcoords: usize, fade_factor: f32, fog: bool,
[INFO] [stderr]     |                                                             ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `camera`
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:869:3
[INFO] [stderr]     |
[INFO] [stderr] 869 |         camera: bool) -> ShapeHandle
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fog`
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:914:16
[INFO] [stderr]     |
[INFO] [stderr] 914 |         alpha: bool, fog: bool, camera: bool)
[INFO] [stderr]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `camera`
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:914:27
[INFO] [stderr]     |
[INFO] [stderr] 914 |         alpha: bool, fog: bool, camera: bool)
[INFO] [stderr]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fog`
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:971:3
[INFO] [stderr]     |
[INFO] [stderr] 971 |         fog: bool, camera: bool) -> ShapeHandle
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_fog`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `camera`
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:971:14
[INFO] [stderr]     |
[INFO] [stderr] 971 |         fog: bool, camera: bool) -> ShapeHandle
[INFO] [stderr]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/render/opengl/asi/mod.rs:76:9
[INFO] [stderr]    |
[INFO] [stderr] 76 |             let (mut display, visual_id) = lib.init();
[INFO] [stderr]    |                  ----^^^^^^^
[INFO] [stderr]    |                  |
[INFO] [stderr]    |                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/render/opengl/mod.rs:210:7
[INFO] [stderr]     |
[INFO] [stderr] 210 |         let mut display = self::Display {
[INFO] [stderr]     |             ----^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `camera`
[INFO] [stderr]    --> src/render/opengl/mod.rs:377:47
[INFO] [stderr]     |
[INFO] [stderr] 377 |         color: [f32; 4], blending: bool, fog: bool, camera: bool)
[INFO] [stderr]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `camera`
[INFO] [stderr]    --> src/render/opengl/mod.rs:409:48
[INFO] [stderr]     |
[INFO] [stderr] 409 |         colors: Gradient, blending: bool, fog: bool, camera: bool)
[INFO] [stderr]     |                                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `camera`
[INFO] [stderr]    --> src/render/opengl/mod.rs:452:3
[INFO] [stderr]     |
[INFO] [stderr] 452 |         camera: bool) -> Shape
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `camera`
[INFO] [stderr]    --> src/render/opengl/mod.rs:494:3
[INFO] [stderr]     |
[INFO] [stderr] 494 |         camera: bool) -> Shape
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `camera`
[INFO] [stderr]    --> src/render/opengl/mod.rs:530:14
[INFO] [stderr]     |
[INFO] [stderr] 530 |         fog: bool, camera: bool) -> Shape
[INFO] [stderr]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `camera`
[INFO] [stderr]    --> src/render/opengl/mod.rs:572:30
[INFO] [stderr]     |
[INFO] [stderr] 572 |         blending: bool, fog: bool, camera: bool) -> Shape
[INFO] [stderr]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `xyz`
[INFO] [stderr]    --> src/render/opengl/mod.rs:649:7
[INFO] [stderr]     |
[INFO] [stderr] 649 |         let xyz = self.xyz;
[INFO] [stderr]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_xyz`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rotate_xyz`
[INFO] [stderr]    --> src/render/opengl/mod.rs:650:7
[INFO] [stderr]     |
[INFO] [stderr] 650 |         let rotate_xyz = self.rotate_xyz;
[INFO] [stderr]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rotate_xyz`
[INFO] [stderr] 
[INFO] [stderr] warning: methods `len`, `is_empty`, `last`, `touch_release`, and `touch_press` are never used
[INFO] [stderr]    --> src/input/mod.rs:466:9
[INFO] [stderr]     |
[INFO] [stderr] 455 | impl InputQueue {
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 466 |     pub fn len(&self) -> usize {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 471 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 481 |     pub fn last(&self) -> Event {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 602 |     pub fn touch_release(&mut self, wh: (u16, u16), c: (i16, i16)) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 630 |     pub fn touch_press(&mut self, wh: (u16, u16), c: (i16, i16)) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `get` is never used
[INFO] [stderr]    --> src/input/keyboard/mod.rs:118:9
[INFO] [stderr]     |
[INFO] [stderr]  93 | impl Keyboard {
[INFO] [stderr]     | ------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 118 |     pub fn get(&mut self, key: u8) -> bool {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `WindowOps` is never used
[INFO] [stderr]  --> src/window_ops.rs:7:11
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub trait WindowOps {
[INFO] [stderr]   |           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `style_gui` and `rotate_xyz` are never read
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:307:2
[INFO] [stderr]     |
[INFO] [stderr] 282 | pub struct Renderer {
[INFO] [stderr]     |            -------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 307 |     style_gui: Style,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 311 |     rotate_xyz: Vector,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FogUniform` is never constructed
[INFO] [stderr]   --> src/render/vulkan/asi/mod.rs:47:40
[INFO] [stderr]    |
[INFO] [stderr] 47 | #[derive(Clone)] #[repr(C)] pub struct FogUniform {
[INFO] [stderr]    |                                        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Memory` is never constructed
[INFO] [stderr]   --> src/render/vulkan/asi/memory/mod.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct Memory<T> where T: Clone {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `update` are never used
[INFO] [stderr]   --> src/render/vulkan/asi/memory/mod.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 20 | impl<T> Memory<T> where T: Clone {
[INFO] [stderr]    | -------------------------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 23 |     pub fn new(vulkan: &Gpu, data: T) -> Memory<T> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 35 |     pub fn update(&self, vulkan: &Gpu) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `camera_uniform`, `fog`, and `range` are never read
[INFO] [stderr]   --> src/render/opengl/mod.rs:53:2
[INFO] [stderr]    |
[INFO] [stderr] 49 | struct Style {
[INFO] [stderr]    |        ----- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 53 |     camera_uniform: UniformData,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 54 |     has_fog: UniformData,
[INFO] [stderr] 55 |     fog: UniformData,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 56 |     range: UniformData,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `uniform_vec2`, `uniform_vec3`, and `tex_subimage` are never read
[INFO] [stderr]    --> src/render/opengl/asi/mod.rs:183:2
[INFO] [stderr]     |
[INFO] [stderr] 146 | struct OpenGLContext {
[INFO] [stderr]     |        ------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 183 |     uniform_vec2: unsafe extern "system" fn(GLint, GLfloat, GLfloat) -> (),
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 184 |     uniform_vec3: unsafe extern "system" fn(GLint, GLfloat, GLfloat, GLfloat)
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 195 |     tex_subimage: unsafe extern "system" fn(GLenum, GLint, GLint, GLint, GLsizei,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `update` is never used
[INFO] [stderr]   --> src/render/opengl/asi/texture.rs:40:9
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl Texture {
[INFO] [stderr]    | ------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 40 |     pub fn update(&self, w: u16, h: u16, px: &[u8]) -> () {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `set_vec2` and `set_vec3` are never used
[INFO] [stderr]   --> src/render/opengl/asi/uniform_data.rs:51:9
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl UniformData {
[INFO] [stderr]    | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 51 |     pub fn set_vec2(&self, vec: &[f32; 2]) -> () {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 59 |     pub fn set_vec3(&self, vec: &[f32; 3]) -> () {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/screen/mod.rs:39:2
[INFO] [stderr]    |
[INFO] [stderr] 39 |     pub ctx: Ctx,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> src/lib.rs:9:9
[INFO] [stderr]    |
[INFO] [stderr]  9 | #![warn(missing_docs)]
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/render/base.rs:104:2
[INFO] [stderr]     |
[INFO] [stderr] 104 |     fn draw(&self, writer: &Fn(u16, u16) -> [u8; 4]) -> ();
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a trait
[INFO] [stderr]    --> src/render/base.rs:160:1
[INFO] [stderr]     |
[INFO] [stderr] 160 | pub trait Point {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/render/base.rs:161:2
[INFO] [stderr]     |
[INFO] [stderr] 161 |     fn point(&self) -> Vector;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `vulkan::asi::types::VkFramebuffer` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:245:16
[INFO] [stderr]     |
[INFO] [stderr] 245 |             = [unsafe { mem::uninitialized() }; 2];
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         this code causes undefined behavior when executed
[INFO] [stderr]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]    --> src/render/vulkan/asi/types.rs:32:67
[INFO] [stderr]     |
[INFO] [stderr]  32 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub struct VkFramebuffer(pub(crate) u64);
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:458:14
[INFO] [stderr]     |
[INFO] [stderr] 458 |                 unsafe { mem::uninitialized() }
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          this code causes undefined behavior when executed
[INFO] [stderr]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `ami::Matrix` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:461:24
[INFO] [stderr]     |
[INFO] [stderr] 461 |             transform: unsafe { ::std::mem::uninitialized() },
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 this code causes undefined behavior when executed
[INFO] [stderr]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: floats must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:747:14
[INFO] [stderr]     |
[INFO] [stderr] 747 |                 unsafe { mem::uninitialized() }
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          this code causes undefined behavior when executed
[INFO] [stderr]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:794:14
[INFO] [stderr]     |
[INFO] [stderr] 794 |                 unsafe { mem::uninitialized() },
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          this code causes undefined behavior when executed
[INFO] [stderr]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:795:14
[INFO] [stderr]     |
[INFO] [stderr] 795 |                 unsafe { mem::uninitialized() }
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          this code causes undefined behavior when executed
[INFO] [stderr]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:848:14
[INFO] [stderr]     |
[INFO] [stderr] 848 |                 unsafe { mem::uninitialized() }
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          this code causes undefined behavior when executed
[INFO] [stderr]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:900:14
[INFO] [stderr]     |
[INFO] [stderr] 900 |                 unsafe { mem::uninitialized() }
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          this code causes undefined behavior when executed
[INFO] [stderr]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/renderer/mod.rs:950:14
[INFO] [stderr]     |
[INFO] [stderr] 950 |                 unsafe { mem::uninitialized() }
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          this code causes undefined behavior when executed
[INFO] [stderr]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `vulkan::asi::types::VkSubresourceLayout` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/vulkan/asi/mod.rs:81:19
[INFO] [stderr]    |
[INFO] [stderr] 81 |     let mut layout = mem::uninitialized();
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                      |
[INFO] [stderr]    |                      this code causes undefined behavior when executed
[INFO] [stderr]    |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]   --> src/render/vulkan/asi/types.rs:54:2
[INFO] [stderr]    |
[INFO] [stderr] 54 |     pub offset: VkDeviceSize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `*mut T` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/asi/mod.rs:103:19
[INFO] [stderr]     |
[INFO] [stderr] 103 |     let mut mapped = mem::uninitialized();
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      this code causes undefined behavior when executed
[INFO] [stderr]     |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: raw pointers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `vulkan::asi::types::VkPhysicalDeviceMemoryProperties` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/asi/mod.rs:122:18
[INFO] [stderr]     |
[INFO] [stderr] 122 |     let mut props = mem::uninitialized();
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     this code causes undefined behavior when executed
[INFO] [stderr]     |                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]    --> src/render/vulkan/asi/types.rs:498:2
[INFO] [stderr]     |
[INFO] [stderr] 498 |     pub memory_type_count: u32,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/asi/mod.rs:207:22
[INFO] [stderr]     |
[INFO] [stderr] 207 |     let mut semaphore = mem::uninitialized();
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         this code causes undefined behavior when executed
[INFO] [stderr]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u32` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/asi/mod.rs:354:21
[INFO] [stderr]     |
[INFO] [stderr] 354 |     let mut image_id = mem::uninitialized();
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        this code causes undefined behavior when executed
[INFO] [stderr]     |                        help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `vulkan::asi::types::VkSurfaceCapabilitiesKHR` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/asi/mod.rs:371:25
[INFO] [stderr]     |
[INFO] [stderr] 371 |     let mut surface_info = mem::uninitialized();
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            this code causes undefined behavior when executed
[INFO] [stderr]     |                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]    --> src/render/vulkan/asi/types.rs:625:2
[INFO] [stderr]     |
[INFO] [stderr] 625 |     pub min_image_count: u32,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `vulkan::asi::types::VkSurfaceCapabilitiesKHR` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/asi/mod.rs:421:25
[INFO] [stderr]     |
[INFO] [stderr] 421 |     let mut surface_info = mem::uninitialized();
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            this code causes undefined behavior when executed
[INFO] [stderr]     |                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]    --> src/render/vulkan/asi/types.rs:625:2
[INFO] [stderr]     |
[INFO] [stderr] 625 |     pub min_image_count: u32,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/asi/mod.rs:466:23
[INFO] [stderr]     |
[INFO] [stderr] 466 |     let mut image_view = mem::uninitialized();
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          this code causes undefined behavior when executed
[INFO] [stderr]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `vulkan::asi::types::VkRenderPass` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/asi/mod.rs:690:24
[INFO] [stderr]     |
[INFO] [stderr] 690 |     let mut render_pass = mem::uninitialized();
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           this code causes undefined behavior when executed
[INFO] [stderr]     |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]    --> src/render/vulkan/asi/types.rs:31:66
[INFO] [stderr]     |
[INFO] [stderr]  31 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub struct VkRenderPass(pub(crate) u64);
[INFO] [stderr]     |                                                                  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `vulkan::asi::types::VkShaderModule` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/asi/mod.rs:861:29
[INFO] [stderr]     |
[INFO] [stderr] 861 |         let mut shader = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   this code causes undefined behavior when executed
[INFO] [stderr]     |                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]    --> src/render/vulkan/asi/types.rs:33:75
[INFO] [stderr]     |
[INFO] [stderr]  33 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub(crate) struct VkShaderModule(pub(crate) u64);
[INFO] [stderr]     |                                                                           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/vulkan/asi/memory/buffer.rs:38:29
[INFO] [stderr]    |
[INFO] [stderr] 38 |         let mut buffer = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   this code causes undefined behavior when executed
[INFO] [stderr]    |                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/vulkan/asi/memory/buffer.rs:39:29
[INFO] [stderr]    |
[INFO] [stderr] 39 |         let mut memory = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   this code causes undefined behavior when executed
[INFO] [stderr]    |                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `vulkan::asi::types::VkMemoryRequirements` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/asi/memory/buffer.rs:40:31
[INFO] [stderr]     |
[INFO] [stderr]  40 |         let mut mem_reqs = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                     |
[INFO] [stderr]     |                                     this code causes undefined behavior when executed
[INFO] [stderr]     |                                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]    --> src/render/vulkan/asi/types.rs:456:2
[INFO] [stderr]     |
[INFO] [stderr] 456 |     pub size: VkDeviceSize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `*mut T` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/asi/memory/buffer.rs:123:37
[INFO] [stderr]     |
[INFO] [stderr] 123 |         let mut mapped: *mut T = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                           |
[INFO] [stderr]     |                                           this code causes undefined behavior when executed
[INFO] [stderr]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: raw pointers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/vulkan/asi/image.rs:33:19
[INFO] [stderr]    |
[INFO] [stderr] 33 |         let mut image = mem::uninitialized();
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         this code causes undefined behavior when executed
[INFO] [stderr]    |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/vulkan/asi/image.rs:34:20
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let mut memory = mem::uninitialized();
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          this code causes undefined behavior when executed
[INFO] [stderr]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `vulkan::asi::types::VkMemoryRequirements` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/asi/image.rs:35:25
[INFO] [stderr]     |
[INFO] [stderr]  35 |         let mut memory_reqs = mem::uninitialized();
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               this code causes undefined behavior when executed
[INFO] [stderr]     |                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]    --> src/render/vulkan/asi/types.rs:456:2
[INFO] [stderr]     |
[INFO] [stderr] 456 |     pub size: VkDeviceSize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `vulkan::asi::types::VkInstance` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/mod.rs:92:21
[INFO] [stderr]    |
[INFO] [stderr] 92 |     let mut instance = mem::uninitialized();
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        this code causes undefined behavior when executed
[INFO] [stderr]    |                        help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr] note: raw pointers must be initialized (in this struct field)
[INFO] [stderr]   --> src/render/vulkan/asi/types.rs:40:71
[INFO] [stderr]    |
[INFO] [stderr] 40 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub(crate) struct VkInstance(*mut c_void);
[INFO] [stderr]    |                                                                       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/mod.rs:407:20
[INFO] [stderr]     |
[INFO] [stderr] 407 |     pub(crate) fn get(&self) -> std::cell::Ref<GpuContext> {
[INFO] [stderr]     |                       ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 407 |     pub(crate) fn get(&self) -> std::cell::Ref<'_, GpuContext> {
[INFO] [stderr]     |                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/mod.rs:411:24
[INFO] [stderr]     |
[INFO] [stderr] 411 |     pub(crate) fn get_mut(&self) -> std::cell::RefMut<GpuContext> {
[INFO] [stderr]     |                           ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 411 |     pub(crate) fn get_mut(&self) -> std::cell::RefMut<'_, GpuContext> {
[INFO] [stderr]     |                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: variable `pAllocator` should have a snake case name
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/mod.rs:453:4
[INFO] [stderr]     |
[INFO] [stderr] 453 |             pAllocator: *mut c_void) -> ();
[INFO] [stderr]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `pAllocator` should have a snake case name
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/mod.rs:473:26
[INFO] [stderr]     |
[INFO] [stderr] 473 |             instance: VkInstance, pAllocator: *mut c_void) -> ();
[INFO] [stderr]     |                                   ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/surface.rs:99:29
[INFO] [stderr]    |
[INFO] [stderr] 99 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                |
[INFO] [stderr]    |                                this code causes undefined behavior when executed
[INFO] [stderr]    |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/surface.rs:110:3
[INFO] [stderr]     |
[INFO] [stderr] 110 |         pCreateInfo: *const SurfaceCreateInfoXcb,
[INFO] [stderr]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `pAllocator` should have a snake case name
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/surface.rs:111:3
[INFO] [stderr]     |
[INFO] [stderr] 111 |         pAllocator: *mut c_void,
[INFO] [stderr]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/surface.rs:130:29
[INFO] [stderr]     |
[INFO] [stderr] 130 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                this code causes undefined behavior when executed
[INFO] [stderr]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/surface.rs:141:3
[INFO] [stderr]     |
[INFO] [stderr] 141 |         pCreateInfo: *const SurfaceCreateInfoWindows,
[INFO] [stderr]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `pAllocator` should have a snake case name
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/surface.rs:142:3
[INFO] [stderr]     |
[INFO] [stderr] 142 |         pAllocator: *mut c_void,
[INFO] [stderr]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/surface.rs:161:29
[INFO] [stderr]     |
[INFO] [stderr] 161 |     let mut surface = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                this code causes undefined behavior when executed
[INFO] [stderr]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/surface.rs:171:3
[INFO] [stderr]     |
[INFO] [stderr] 171 |         pCreateInfo: *const SurfaceCreateInfoAndroid,
[INFO] [stderr]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `pAllocator` should have a snake case name
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/surface.rs:172:3
[INFO] [stderr]     |
[INFO] [stderr] 172 |         pAllocator: *mut c_void,
[INFO] [stderr]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stderr] 
[INFO] [stderr] warning: the type `vulkan::asi::types::VkPhysicalDevice` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/device.rs:39:22
[INFO] [stderr]    |
[INFO] [stderr] 39 |     let mut gpus = vec![mem::uninitialized(); num_gpus as usize];
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         this code causes undefined behavior when executed
[INFO] [stderr]    |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr] note: raw pointers must be initialized (in this struct field)
[INFO] [stderr]   --> src/render/vulkan/asi/types.rs:39:77
[INFO] [stderr]    |
[INFO] [stderr] 39 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub(crate) struct VkPhysicalDevice(*mut c_void);
[INFO] [stderr]    |                                                                             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `vulkan::asi::types::VkSurfaceFormatKHR` does not permit being left uninitialized
[INFO] [stderr]     --> src/render/vulkan/asi/gpu/device.rs:90:22
[INFO] [stderr]      |
[INFO] [stderr]   90 |                 let mut format = mem::uninitialized();
[INFO] [stderr]      |                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |                                  |
[INFO] [stderr]      |                                  this code causes undefined behavior when executed
[INFO] [stderr]      |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]      |
[INFO] [stderr]      = note: `render::vulkan::asi::types::VkSurfaceFormatKHR` must be initialized inside its custom valid range
[INFO] [stderr] note: in this struct field
[INFO] [stderr]     --> src/render/vulkan/asi/types.rs:638:2
[INFO] [stderr]      |
[INFO] [stderr]  638 |     pub format: VkFormat,
[INFO] [stderr]      |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stderr]     --> src/render/vulkan/asi/types.rs:1079:67
[INFO] [stderr]      |
[INFO] [stderr] 1079 | #[repr(C)] #[allow(dead_code)] #[derive(PartialEq, Clone, Debug)] pub enum VkFormat {
[INFO] [stderr]      |                                                                   ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `vulkan::asi::types::VkFormatProperties` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/device.rs:96:21
[INFO] [stderr]    |
[INFO] [stderr] 96 |                 let mut props = mem::uninitialized();
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 this code causes undefined behavior when executed
[INFO] [stderr]    |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]   --> src/render/vulkan/asi/types.rs:89:2
[INFO] [stderr]    |
[INFO] [stderr] 89 |     pub linear_tiling_features: VkFlags,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `vulkan::asi::types::VkDevice` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/device.rs:116:19
[INFO] [stderr]     |
[INFO] [stderr] 116 |     let mut device = mem::uninitialized();
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      this code causes undefined behavior when executed
[INFO] [stderr]     |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr] note: raw pointers must be initialized (in this struct field)
[INFO] [stderr]    --> src/render/vulkan/asi/types.rs:38:69
[INFO] [stderr]     |
[INFO] [stderr]  38 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub(crate) struct VkDevice(*mut c_void);
[INFO] [stderr]     |                                                                     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable `physicalDevice` should have a snake case name
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/device.rs:144:3
[INFO] [stderr]     |
[INFO] [stderr] 144 |         physicalDevice: VkPhysicalDevice,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `physical_device`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/device.rs:145:3
[INFO] [stderr]     |
[INFO] [stderr] 145 |         pCreateInfo: *const VkDeviceCreateInfo,
[INFO] [stderr]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `pAllocator` should have a snake case name
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/device.rs:146:3
[INFO] [stderr]     |
[INFO] [stderr] 146 |         pAllocator: *mut c_void,
[INFO] [stderr]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `pDevice` should have a snake case name
[INFO] [stderr]    --> src/render/vulkan/asi/gpu/device.rs:147:3
[INFO] [stderr]     |
[INFO] [stderr] 147 |         pDevice: *mut VkDevice) -> VkResult;
[INFO] [stderr]     |         ^^^^^^^ help: convert the identifier to snake case: `p_device`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `queueFamilyIndex` should have a snake case name
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/queue.rs:19:3
[INFO] [stderr]    |
[INFO] [stderr] 19 |         queueFamilyIndex: u32, queueIndex: u32, pQueue: *mut VkQueue)
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `queue_family_index`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `queueIndex` should have a snake case name
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/queue.rs:19:26
[INFO] [stderr]    |
[INFO] [stderr] 19 |         queueFamilyIndex: u32, queueIndex: u32, pQueue: *mut VkQueue)
[INFO] [stderr]    |                                ^^^^^^^^^^ help: convert the identifier to snake case: `queue_index`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `pQueue` should have a snake case name
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/queue.rs:19:43
[INFO] [stderr]    |
[INFO] [stderr] 19 |         queueFamilyIndex: u32, queueIndex: u32, pQueue: *mut VkQueue)
[INFO] [stderr]    |                                                 ^^^^^^ help: convert the identifier to snake case: `p_queue`
[INFO] [stderr] 
[INFO] [stderr] warning: the type `vulkan::asi::types::VkQueue` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/queue.rs:24:18
[INFO] [stderr]    |
[INFO] [stderr] 24 |     let mut queue = mem::uninitialized();
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     this code causes undefined behavior when executed
[INFO] [stderr]    |                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr] note: raw pointers must be initialized (in this struct field)
[INFO] [stderr]   --> src/render/vulkan/asi/types.rs:41:61
[INFO] [stderr]    |
[INFO] [stderr] 41 | #[repr(C)] #[derive(Copy, Clone, Debug)] pub struct VkQueue(*mut c_void);
[INFO] [stderr]    |                                                             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable `pCreateInfo` should have a snake case name
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/command_pool.rs:42:3
[INFO] [stderr]    |
[INFO] [stderr] 42 |         pCreateInfo: *const VkCommandPoolCreateInfo,
[INFO] [stderr]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `p_create_info`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `pAllocator` should have a snake case name
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/command_pool.rs:43:3
[INFO] [stderr]    |
[INFO] [stderr] 43 |         pAllocator: *mut c_void, pCommandPool: *mut u64) -> VkResult;
[INFO] [stderr]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `p_allocator`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `pCommandPool` should have a snake case name
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/command_pool.rs:43:28
[INFO] [stderr]    |
[INFO] [stderr] 43 |         pAllocator: *mut c_void, pCommandPool: *mut u64) -> VkResult;
[INFO] [stderr]    |                                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `p_command_pool`
[INFO] [stderr] 
[INFO] [stderr] warning: the type `*mut c_void` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/command_pool.rs:49:27
[INFO] [stderr]    |
[INFO] [stderr] 49 |     let mut command_buffer = mem::uninitialized();
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                              |
[INFO] [stderr]    |                              this code causes undefined behavior when executed
[INFO] [stderr]    |                              help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: raw pointers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/vulkan/asi/gpu/sampler.rs:24:20
[INFO] [stderr]    |
[INFO] [stderr] 24 |     let mut sampler = mem::uninitialized();
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       this code causes undefined behavior when executed
[INFO] [stderr]    |                       help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/vulkan/asi/sprite.rs:44:23
[INFO] [stderr]    |
[INFO] [stderr] 44 |         let mut desc_pool = mem::uninitialized();
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                             |
[INFO] [stderr]    |                             this code causes undefined behavior when executed
[INFO] [stderr]    |                             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/vulkan/asi/sprite.rs:45:22
[INFO] [stderr]    |
[INFO] [stderr] 45 |         let mut desc_set = mem::uninitialized();
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                            |
[INFO] [stderr]    |                            this code causes undefined behavior when executed
[INFO] [stderr]    |                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `memory::buffer::Buffer` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/asi/sprite.rs:102:4
[INFO] [stderr]     |
[INFO] [stderr] 102 |             ::std::mem::uninitialized()
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             this code causes undefined behavior when executed
[INFO] [stderr]     |             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: `render::vulkan::asi::memory::buffer::Buffer` must be non-null
[INFO] [stderr] note: because `std::rc::Rc<render::vulkan::asi::memory::buffer::BufferContext>` must be non-null (in this struct field)
[INFO] [stderr]    --> src/render/vulkan/asi/memory/buffer.rs:24:36
[INFO] [stderr]     |
[INFO] [stderr]  24 | #[derive(Clone)] pub struct Buffer(Rc<BufferContext>);
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: because `std::ptr::NonNull<std::rc::RcInner<render::vulkan::asi::memory::buffer::BufferContext>>` must be non-null
[INFO] [stderr]     = note: raw pointers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[Set; 255]` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/asi/sprite.rs:157:19
[INFO] [stderr]     |
[INFO] [stderr] 157 |             sets: unsafe { mem::uninitialized() },
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            this code causes undefined behavior when executed
[INFO] [stderr]     |                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stderr]    --> src/render/vulkan/asi/sprite.rs:259:1
[INFO] [stderr]     |
[INFO] [stderr] 259 | enum Set {
[INFO] [stderr]     | ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[vulkan::asi::types::VkDescriptorBufferInfo; 255]` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/asi/sprite.rs:195:4
[INFO] [stderr]     |
[INFO] [stderr] 195 |             mem::uninitialized()
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             this code causes undefined behavior when executed
[INFO] [stderr]     |             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]    --> src/render/vulkan/asi/types.rs:377:2
[INFO] [stderr]     |
[INFO] [stderr] 377 |     pub buffer: VkBuffer,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[vulkan::asi::types::VkDescriptorImageInfo; 255]` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/vulkan/asi/sprite.rs:198:4
[INFO] [stderr]     |
[INFO] [stderr] 198 |             mem::uninitialized()
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             this code causes undefined behavior when executed
[INFO] [stderr]     |             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]    --> src/render/vulkan/asi/types.rs:396:2
[INFO] [stderr]     |
[INFO] [stderr] 396 |     pub sampler: VkSampler,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[vulkan::asi::types::VkWriteDescriptorSet; 255]` does not permit being left uninitialized
[INFO] [stderr]     --> src/render/vulkan/asi/sprite.rs:201:4
[INFO] [stderr]      |
[INFO] [stderr]  201 |             mem::uninitialized()
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             this code causes undefined behavior when executed
[INFO] [stderr]      |             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]      |
[INFO] [stderr] note: in this struct field
[INFO] [stderr]     --> src/render/vulkan/asi/types.rs:383:2
[INFO] [stderr]      |
[INFO] [stderr]  383 |     pub s_type: VkStructureType,
[INFO] [stderr]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stderr]     --> src/render/vulkan/asi/types.rs:1267:49
[INFO] [stderr]      |
[INFO] [stderr] 1267 | #[derive(Debug)] #[repr(C)] #[allow(dead_code)] pub(crate) enum VkStructureType {
[INFO] [stderr]      |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/vulkan/asi/style.rs:46:21
[INFO] [stderr]    |
[INFO] [stderr] 46 |     let mut pipeline = mem::uninitialized();
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        this code causes undefined behavior when executed
[INFO] [stderr]    |                        help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/vulkan/asi/style.rs:47:28
[INFO] [stderr]    |
[INFO] [stderr] 47 |     let mut pipeline_layout = mem::uninitialized();
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                               |
[INFO] [stderr]    |                               this code causes undefined behavior when executed
[INFO] [stderr]    |                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/vulkan/asi/style.rs:48:26
[INFO] [stderr]    |
[INFO] [stderr] 48 |     let mut descsetlayout = mem::uninitialized();
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                             |
[INFO] [stderr]    |                             this code causes undefined behavior when executed
[INFO] [stderr]    |                             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/vulkan/asi/fence.rs:39:18
[INFO] [stderr]    |
[INFO] [stderr] 39 |     let mut fence = mem::uninitialized();
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     this code causes undefined behavior when executed
[INFO] [stderr]    |                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stderr]    --> src/render/opengl/mod.rs:157:13
[INFO] [stderr]     |
[INFO] [stderr] 157 |                 unsafe {mem::transmute(window as usize)}
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stderr]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stderr]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stderr]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stderr]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stderr]     = note: `#[warn(integer_to_ptr_transmutes)]` on by default
[INFO] [stderr] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stderr]     |
[INFO] [stderr] 157 -                 unsafe {mem::transmute(window as usize)}
[INFO] [stderr] 157 +                 unsafe {std::ptr::with_exposed_provenance_mut::<c_void>(window as usize)}
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/render/opengl/asi/mod.rs:283:9
[INFO] [stderr]     |
[INFO] [stderr] 283 |     fn get(&self) -> ::std::cell::Ref<OpenGLContext> {
[INFO] [stderr]     |            ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |            |
[INFO] [stderr]     |            the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 283 |     fn get(&self) -> ::std::cell::Ref<'_, OpenGLContext> {
[INFO] [stderr]     |                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/opengl/asi/loader.rs:134:31
[INFO] [stderr]     |
[INFO] [stderr] 134 |         let mut nconfigs = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                     |
[INFO] [stderr]     |                                     this code causes undefined behavior when executed
[INFO] [stderr]     |                                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/opengl/asi/loader.rs:172:32
[INFO] [stderr]     |
[INFO] [stderr] 172 |         let mut visual_id = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                      |
[INFO] [stderr]     |                                      this code causes undefined behavior when executed
[INFO] [stderr]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u32` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/opengl/asi/texture.rs:18:25
[INFO] [stderr]    |
[INFO] [stderr] 18 |             let mut a = unsafe { ::std::mem::uninitialized() };
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                  |
[INFO] [stderr]    |                                  this code causes undefined behavior when executed
[INFO] [stderr]    |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/opengl/asi/program.rs:97:28
[INFO] [stderr]    |
[INFO] [stderr] 97 |         let mut value = unsafe { ::std::mem::uninitialized() };
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                  |
[INFO] [stderr]    |                                  this code causes undefined behavior when executed
[INFO] [stderr]    |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/opengl/asi/program.rs:103:29
[INFO] [stderr]     |
[INFO] [stderr] 103 |             let mut value = unsafe { ::std::mem::uninitialized() };
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                      |
[INFO] [stderr]     |                                      this code causes undefined behavior when executed
[INFO] [stderr]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u8` does not permit being left uninitialized
[INFO] [stderr]    --> src/render/opengl/asi/program.rs:108:19
[INFO] [stderr]     |
[INFO] [stderr] 108 |                 vec![unsafe { ::std::mem::uninitialized() };
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               this code causes undefined behavior when executed
[INFO] [stderr]     |                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u32` does not permit being left uninitialized
[INFO] [stderr]   --> src/render/opengl/asi/buffer.rs:18:31
[INFO] [stderr]    |
[INFO] [stderr] 18 |         let mut buffers = [unsafe { mem::uninitialized() }];
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                     |
[INFO] [stderr]    |                                     this code causes undefined behavior when executed
[INFO] [stderr]    |                                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]    --> src/os/linux/mod.rs:215:33
[INFO] [stderr]     |
[INFO] [stderr] 215 |         screen.root_visual = unsafe { ::std::mem::transmute(v) };
[INFO] [stderr]     |                                       ---------------------^^^
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       help: replace this with: `i32::cast_unsigned`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `free` redeclared with a different signature
[INFO] [stderr]    --> src/os/linux/mod.rs:286:11
[INFO] [stderr]     |
[INFO] [stderr] 245 |         extern { fn free(this: *mut XcbInternAtomReply) -> (); }
[INFO] [stderr]     |                  --------------------------------------------- `free` previously declared here
[INFO] [stderr] ...
[INFO] [stderr] 286 |     extern { fn free(event: *mut XcbGenericEvent) -> (); }
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected `unsafe extern "C" fn(*mut XcbInternAtomReply)`
[INFO] [stderr]                found `unsafe extern "C" fn(*mut XcbGenericEvent)`
[INFO] [stderr]     = note: `#[warn(clashing_extern_declarations)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `awi` (lib) generated 201 warnings (run `cargo fix --lib -p awi` to apply 47 suggestions)
[INFO] [stderr] warning: `awi` (lib test) generated 201 warnings (201 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/awi-cd9416dccd7d4f19)
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests awi
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "4bf8434dda1d182980821832bf5afd9c5a68e5fffa54d5db9c3ac1d8e007ca8e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4bf8434dda1d182980821832bf5afd9c5a68e5fffa54d5db9c3ac1d8e007ca8e", kill_on_drop: false }`
[INFO] [stdout] 4bf8434dda1d182980821832bf5afd9c5a68e5fffa54d5db9c3ac1d8e007ca8e
