[INFO] cloning repository https://github.com/filkry/rusgam
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/filkry/rusgam" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffilkry%2Frusgam", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffilkry%2Frusgam'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dfb69b0094d5018e1b4efe05027f8c82af0a85ab
[INFO] testing filkry/rusgam against 1.69.0 for beta-1.70-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffilkry%2Frusgam" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/filkry/rusgam on toolchain 1.69.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/filkry/rusgam
[INFO] finished tweaking git repo https://github.com/filkry/rusgam
[INFO] tweaked toml for git repo https://github.com/filkry/rusgam written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/filkry/rusgam already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded windows_macros v0.19.0
[INFO] [stderr]   Downloaded imgui v0.3.0
[INFO] [stderr]   Downloaded windows_quote v0.19.0
[INFO] [stderr]   Downloaded tobj v0.1.11
[INFO] [stderr]   Downloaded nalgebra-glm v0.5.0
[INFO] [stderr]   Downloaded windows_gen v0.19.0
[INFO] [stderr]   Downloaded nom v5.0.1
[INFO] [stderr]   Downloaded image v0.23.5
[INFO] [stderr]   Downloaded windows v0.19.0
[INFO] [stderr]   Downloaded imgui-sys v0.3.0
[INFO] [stderr]   Downloaded windows_reader v0.19.0
[INFO] [stderr]   Downloaded tinytga v0.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 701da7c0bd5745ac098f22ec8c93de3813c923178b9a1af0a548d8b448e409b6
[INFO] running `Command { std: "docker" "start" "-a" "701da7c0bd5745ac098f22ec8c93de3813c923178b9a1af0a548d8b448e409b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "701da7c0bd5745ac098f22ec8c93de3813c923178b9a1af0a548d8b448e409b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "701da7c0bd5745ac098f22ec8c93de3813c923178b9a1af0a548d8b448e409b6", kill_on_drop: false }`
[INFO] [stdout] 701da7c0bd5745ac098f22ec8c93de3813c923178b9a1af0a548d8b448e409b6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 49897c556e7c4743733c8268b7330578f348ed400d62f74ae976faf786524f09
[INFO] running `Command { std: "docker" "start" "-a" "49897c556e7c4743733c8268b7330578f348ed400d62f74ae976faf786524f09", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.6
[INFO] [stderr]    Compiling libc v0.2.66
[INFO] [stderr]    Compiling proc-macro2 v1.0.6
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.11
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling getrandom v0.1.13
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling windows_quote v0.19.0
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling num-rational v0.2.2
[INFO] [stderr]    Compiling windows_reader v0.19.0
[INFO] [stderr]    Compiling num-complex v0.2.3
[INFO] [stderr]    Compiling c2-chacha v0.2.3
[INFO] [stderr]    Compiling serde v1.0.104
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling windows_gen v0.19.0
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling crc32fast v1.2.1
[INFO] [stderr]    Compiling libm v0.1.4
[INFO] [stderr]    Compiling typenum v1.11.2
[INFO] [stderr]    Compiling ryu v1.0.2
[INFO] [stderr]    Compiling rand_chacha v0.2.1
[INFO] [stderr]    Compiling num-iter v0.1.39
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling const-sha1 v0.2.0
[INFO] [stderr]    Compiling cc v1.0.52
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]    Compiling nom v5.0.1
[INFO] [stderr]    Compiling rand v0.7.2
[INFO] [stderr]    Compiling approx v0.3.2
[INFO] [stderr]    Compiling imgui-sys v0.3.0
[INFO] [stderr]    Compiling deflate v0.8.6
[INFO] [stderr]    Compiling miniz_oxide v0.3.7
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling inflections v1.1.1
[INFO] [stderr]    Compiling smallvec v1.4.0
[INFO] [stderr]    Compiling itoa v0.4.4
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling rawpointer v0.1.0
[INFO] [stderr]    Compiling lock_api v0.3.4
[INFO] [stderr]    Compiling matrixmultiply v0.2.2
[INFO] [stderr]    Compiling png v0.16.7
[INFO] [stderr]    Compiling parking_lot_core v0.7.2
[INFO] [stderr]    Compiling rand_distr v0.2.2
[INFO] [stderr]    Compiling alga v0.9.1
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling generic-array v0.13.2
[INFO] [stderr]    Compiling jpeg-decoder v0.1.20
[INFO] [stderr]    Compiling bytemuck v1.4.1
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling nalgebra v0.19.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling parking_lot v0.10.2
[INFO] [stderr]    Compiling image v0.23.5
[INFO] [stderr]    Compiling base64 v0.11.0
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling tobj v0.1.11
[INFO] [stderr]    Compiling arrayvec v0.5.1
[INFO] [stderr]    Compiling tinytga v0.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.104
[INFO] [stderr]    Compiling windows_macros v0.19.0
[INFO] [stderr]    Compiling gltf-derive v0.15.2
[INFO] [stderr]    Compiling windows v0.19.0
[INFO] [stderr]    Compiling winbindings v0.1.0 (/opt/rustwide/workdir/winbindings)
[INFO] [stderr]    Compiling imgui v0.3.0
[INFO] [stderr]    Compiling nalgebra-glm v0.5.0
[INFO] [stderr]    Compiling serde_json v1.0.44
[INFO] [stderr]    Compiling gltf-json v0.15.2
[INFO] [stderr]    Compiling gltf v0.15.2
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/winbindings-05425d1001b5069c/out/windows.rs:1:753613
[INFO] [stdout]   |
[INFO] [stdout] 1 | ... { if ! value . 0 . is_null ( ) { unsafe { :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: Into...
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout]   = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/winbindings-05425d1001b5069c/out/windows.rs:1:755185
[INFO] [stdout]   |
[INFO] [stdout] 1 | ... { if ! value . 0 . is_null ( ) { unsafe { :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: Into...
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rusgam v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected `;`, found keyword `Self`
[INFO] [stdout]    --> src/niced3d12/rootsignature.rs:99:10
[INFO] [stdout]     |
[INFO] [stdout] 99  |         }
[INFO] [stdout]     |          ^ help: add `;` here
[INFO] [stdout] 100 |         Self {
[INFO] [stdout]     |         ---- unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `texture_metadata_root_parameter` in this scope
[INFO] [stdout]    --> src/render/shaderbindings/pixel_hlsl_bind.rs:105:45
[INFO] [stdout]     |
[INFO] [stdout] 105 |         root_signature_desc.parameters.push(texture_metadata_root_parameter);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `texture_root_parameter` in this scope
[INFO] [stdout]    --> src/render/shaderbindings/pixel_hlsl_bind.rs:107:45
[INFO] [stdout]     |
[INFO] [stdout] 107 |         root_signature_desc.parameters.push(texture_root_parameter);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `STextureMetadata` in this scope
[INFO] [stdout]    --> src/render/shaderbindings/pixel_hlsl_bind.rs:126:27
[INFO] [stdout]     |
[INFO] [stdout] 126 |         texture_metadata: STextureMetadata,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 1   | use crate::render::shaderbindings::STextureMetadata;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 400 |             EKey::A => change!(a_down, a_edge, Some('a'), Some(EKey::A as usize)),
[INFO] [stdout]     |                        ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 401 |             EKey::B => change!(b_down, b_edge, Some('b'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 402 |             EKey::C => change!(c_down, c_edge, Some('c'), Some(EKey::C as usize)),
[INFO] [stdout]     |                        ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 403 |             EKey::D => change!(d_down, d_edge, Some('d'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 404 |             EKey::E => change!(e_down, e_edge, Some('e'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 405 |             EKey::F => change!(f_down, f_edge, Some('f'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 406 |             EKey::G => change!(g_down, g_edge, Some('g'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 407 |             EKey::H => change!(h_down, h_edge, Some('h'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 408 |             EKey::I => change!(i_down, i_edge, Some('i'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 409 |             EKey::J => change!(j_down, j_edge, Some('j'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 410 |             EKey::K => change!(k_down, k_edge, Some('k'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 411 |             EKey::L => change!(l_down, l_edge, Some('l'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 412 |             EKey::M => change!(m_down, m_edge, Some('m'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 413 |             EKey::N => change!(n_down, n_edge, Some('n'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 414 |             EKey::O => change!(o_down, o_edge, Some('o'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 415 |             EKey::P => change!(p_down, p_edge, Some('p'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 416 |             EKey::Q => change!(q_down, q_edge, Some('q'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 417 |             EKey::R => change!(r_down, r_edge, Some('r'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 418 |             EKey::S => change!(s_down, s_edge, Some('s'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 419 |             EKey::T => change!(t_down, t_edge, Some('t'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 420 |             EKey::U => change!(u_down, u_edge, Some('u'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 421 |             EKey::V => change!(v_down, v_edge, Some('v'), Some(EKey::V as usize)),
[INFO] [stdout]     |                        ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 422 |             EKey::W => change!(w_down, w_edge, Some('w'), None),
[INFO] [stdout]     |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 423 |             EKey::X => change!(x_down, x_edge, Some('x'), Some(EKey::X as usize)),
[INFO] [stdout]     |                        ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 424 |             EKey::Y => change!(y_down, y_edge, Some('y'), Some(EKey::Y as usize)),
[INFO] [stdout]     |                        ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 425 |             EKey::Z => change!(z_down, z_edge, Some('z'), Some(EKey::Z as usize)),
[INFO] [stdout]     |                        ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:395:18
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 427 |             EKey::Number0 => change_number!(0, Some('0')),
[INFO] [stdout]     |                              ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change_number` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:395:18
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 428 |             EKey::Number1 => change_number!(1, Some('1')),
[INFO] [stdout]     |                              ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change_number` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:395:18
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 429 |             EKey::Number2 => change_number!(2, Some('2')),
[INFO] [stdout]     |                              ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change_number` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:395:18
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 430 |             EKey::Number3 => change_number!(3, Some('3')),
[INFO] [stdout]     |                              ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change_number` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:395:18
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 431 |             EKey::Number4 => change_number!(4, Some('4')),
[INFO] [stdout]     |                              ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change_number` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:395:18
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 432 |             EKey::Number5 => change_number!(5, Some('5')),
[INFO] [stdout]     |                              ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change_number` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:395:18
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 433 |             EKey::Number6 => change_number!(6, Some('6')),
[INFO] [stdout]     |                              ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change_number` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:395:18
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 434 |             EKey::Number7 => change_number!(7, Some('7')),
[INFO] [stdout]     |                              ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change_number` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:395:18
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 435 |             EKey::Number8 => change_number!(8, Some('8')),
[INFO] [stdout]     |                              ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change_number` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:395:18
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 436 |             EKey::Number9 => change_number!(9, Some('9')),
[INFO] [stdout]     |                              ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change_number` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 438 |             EKey::Tab => change!(tab_down, tab_edge, None, Some(EKey::Tab as usize)),
[INFO] [stdout]     |                          ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 439 |             EKey::LeftArrow => change!(left_arrow_down, left_arrow_edge, None, Some(EKey::LeftArrow as usize)),
[INFO] [stdout]     |                                ------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 440 |             EKey::RightArrow => change!(right_arrow_down, right_arrow_edge, None, Some(EKey::RightArrow as usize)),
[INFO] [stdout]     |                                 ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 441 |             EKey::UpArrow => change!(up_arrow_down, up_arrow_edge, None, Some(EKey::UpArrow as usize)),
[INFO] [stdout]     |                              ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 442 |             EKey::DownArrow => change!(down_arrow_down, down_arrow_edge, None, Some(EKey::DownArrow as usize)),
[INFO] [stdout]     |                                ------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 443 |             EKey::PageUp => change!(page_up_down, page_up_edge, None, Some(EKey::PageUp as usize)),
[INFO] [stdout]     |                             ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 444 |             EKey::PageDown => change!(page_down_down, page_down_edge, None, Some(EKey::PageDown as usize)),
[INFO] [stdout]     |                               ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 445 |             EKey::Home => change!(home_down, home_edge, None, Some(EKey::Home as usize)),
[INFO] [stdout]     |                           -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 446 |             EKey::End => change!(end_down, end_edge, None, Some(EKey::End as usize)),
[INFO] [stdout]     |                          ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 447 |             EKey::Insert => change!(insert_down, insert_edge, None, Some(EKey::Insert as usize)),
[INFO] [stdout]     |                             -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 448 |             EKey::Delete => change!(delete_down, delete_edge, None, Some(EKey::Delete as usize)),
[INFO] [stdout]     |                             -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 449 |             EKey::Backspace => change!(backspace_down, backspace_edge, None, Some(EKey::Backspace as usize)),
[INFO] [stdout]     |                                ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 450 |             EKey::Space => change!(space_down, space_edge, None, Some(EKey::Space as usize)),
[INFO] [stdout]     |                            ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 451 |             EKey::Enter => change!(enter_down, enter_edge, None, Some(EKey::Enter as usize)),
[INFO] [stdout]     |                            ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 452 |             EKey::Escape => change!(escape_down, escape_edge, None, Some(EKey::Escape as usize)),
[INFO] [stdout]     |                             -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 453 |             EKey::KeyPadEnter => change!(key_pad_enter_down, key_pad_enter_edge, None, Some(EKey::KeyPadEnter as usize)),
[INFO] [stdout]     |                                  --------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 454 |             EKey::Minus => change!(minus_down, minus_edge, Some('-'), None),
[INFO] [stdout]     |                            ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/input.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 );
[INFO] [stdout]     |                  ^
[INFO] [stdout] ...
[INFO] [stdout] 455 |             EKey::Tilde => change!(tilde_down, tilde_edge, Some('~'), None),
[INFO] [stdout]     |                            ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `change` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `size_of`
[INFO] [stdout]  --> src/render/shaderbindings/pixel_hlsl_bind.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::mem::{size_of};
[INFO] [stdout]   |                ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec4`
[INFO] [stdout]  --> src/render/shaderbindings/pixel_hlsl_bind.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::math::{Vec4};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `usize` by `fn() -> usize {std::mem::size_of::<T>}`
[INFO] [stdout]    --> src/niced3d12/commandlist.rs:256:29
[INFO] [stdout]     |
[INFO] [stdout] 256 |             dst_start_index * std::mem::size_of::<T>,
[INFO] [stdout]     |                             ^ no implementation for `usize * fn() -> usize {std::mem::size_of::<T>}`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<fn() -> usize {std::mem::size_of::<T>}>` is not implemented for `usize`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <&'a usize as Mul<num_complex::Complex<usize>>>
[INFO] [stdout]               <&'a usize as Mul<usize>>
[INFO] [stdout]               <&'b usize as Mul<&'a num_complex::Complex<usize>>>
[INFO] [stdout]               <&usize as Mul<&usize>>
[INFO] [stdout]               <usize as Mul<&'a num_complex::Complex<usize>>>
[INFO] [stdout]               <usize as Mul<&'b nalgebra::base::matrix::Matrix<usize, R, C, S>>>
[INFO] [stdout]               <usize as Mul<&'b nalgebra::geometry::point::Point<usize, D>>>
[INFO] [stdout]               <usize as Mul<&usize>>
[INFO] [stdout]             and 4 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `usize` by `fn() -> usize {std::mem::size_of::<T>}`
[INFO] [stdout]    --> src/niced3d12/commandlist.rs:258:29
[INFO] [stdout]     |
[INFO] [stdout] 258 |             src_start_index * std::mem::size_of::<T>,
[INFO] [stdout]     |                             ^ no implementation for `usize * fn() -> usize {std::mem::size_of::<T>}`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<fn() -> usize {std::mem::size_of::<T>}>` is not implemented for `usize`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <&'a usize as Mul<num_complex::Complex<usize>>>
[INFO] [stdout]               <&'a usize as Mul<usize>>
[INFO] [stdout]               <&'b usize as Mul<&'a num_complex::Complex<usize>>>
[INFO] [stdout]               <&usize as Mul<&usize>>
[INFO] [stdout]               <usize as Mul<&'a num_complex::Complex<usize>>>
[INFO] [stdout]               <usize as Mul<&'b nalgebra::base::matrix::Matrix<usize, R, C, S>>>
[INFO] [stdout]               <usize as Mul<&'b nalgebra::geometry::point::Point<usize, D>>>
[INFO] [stdout]               <usize as Mul<&usize>>
[INFO] [stdout]             and 4 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `usize` by `fn() -> usize {std::mem::size_of::<T>}`
[INFO] [stdout]    --> src/niced3d12/commandlist.rs:259:23
[INFO] [stdout]     |
[INFO] [stdout] 259 |             num_items * std::mem::size_of::<T>,
[INFO] [stdout]     |                       ^ no implementation for `usize * fn() -> usize {std::mem::size_of::<T>}`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<fn() -> usize {std::mem::size_of::<T>}>` is not implemented for `usize`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <&'a usize as Mul<num_complex::Complex<usize>>>
[INFO] [stdout]               <&'a usize as Mul<usize>>
[INFO] [stdout]               <&'b usize as Mul<&'a num_complex::Complex<usize>>>
[INFO] [stdout]               <&usize as Mul<&usize>>
[INFO] [stdout]               <usize as Mul<&'a num_complex::Complex<usize>>>
[INFO] [stdout]               <usize as Mul<&'b nalgebra::base::matrix::Matrix<usize, R, C, S>>>
[INFO] [stdout]               <usize as Mul<&'b nalgebra::geometry::point::Point<usize, D>>>
[INFO] [stdout]               <usize as Mul<&usize>>
[INFO] [stdout]             and 4 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this method are incorrect
[INFO] [stdout]    --> src/niced3d12/commandlist.rs:254:18
[INFO] [stdout]     |
[INFO] [stdout] 254 |         self.raw.copy_buffer_region(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 255 |             dst_buffer.raw,
[INFO] [stdout]     |             -------------- expected `&SResource`, found `SResource`
[INFO] [stdout] 256 |             dst_start_index * std::mem::size_of::<T>,
[INFO] [stdout] 257 |             src_buffer.raw,
[INFO] [stdout]     |             -------------- expected `&SResource`, found `SResource`
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/typeyd3d12/commandlist.rs:76:12
[INFO] [stdout]     |
[INFO] [stdout] 76  |     pub fn copy_buffer_region(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 77  |         &mut self,
[INFO] [stdout] 78  |         dst_buffer: &SResource,
[INFO] [stdout]     |         ----------------------
[INFO] [stdout] 79  |         dst_offset: usize,
[INFO] [stdout]     |         -----------------
[INFO] [stdout] 80  |         src_buffer: &SResource,
[INFO] [stdout]     |         ----------------------
[INFO] [stdout] 81  |         src_offset: usize,
[INFO] [stdout]     |         -----------------
[INFO] [stdout] 82  |         num_bytes: usize,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `phantom` in initializer of `niced3d12::resource::SBindlessBufferResourceSlice<_>`
[INFO] [stdout]    --> src/niced3d12/resource.rs:202:12
[INFO] [stdout]     |
[INFO] [stdout] 202 |         Ok(SBindlessBufferResourceSlice{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `phantom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `copy_buffer_region_typed` found for mutable reference `&mut typeyd3d12::commandlist::SCommandList` in the current scope
[INFO] [stdout]    --> src/niced3d12/resource.rs:256:28
[INFO] [stdout]     |
[INFO] [stdout] 256 |             list.raw_mut().copy_buffer_region_typed(
[INFO] [stdout]     |             ---------------^^^^^^^^^^^^^^^^^^^^^^^^ help: there is a method with a similar name: `copy_buffer_region`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `copy_buffer_region_typed` found for mutable reference `&mut typeyd3d12::commandlist::SCommandList` in the current scope
[INFO] [stdout]    --> src/niced3d12/resource.rs:288:24
[INFO] [stdout]     |
[INFO] [stdout] 288 |         list.raw_mut().copy_buffer_region_typed(
[INFO] [stdout]     |         ---------------^^^^^^^^^^^^^^^^^^^^^^^^ help: there is a method with a similar name: `copy_buffer_region`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/niced3d12/rootsignature.rs:88:53
[INFO] [stdout]    |
[INFO] [stdout] 88 |             offset_in_descriptors_from_table_start: 0,
[INFO] [stdout]    |                                                     ^ expected `EDescriptorRangeOffset`, found integer
[INFO] [stdout]    |
[INFO] [stdout] help: try wrapping the expression in `typeyd3d12::descriptor::EDescriptorRangeOffset::ENumDecriptors`
[INFO] [stdout]    |
[INFO] [stdout] 88 |             offset_in_descriptors_from_table_start: typeyd3d12::descriptor::EDescriptorRangeOffset::ENumDecriptors { num: 0 },
[INFO] [stdout]    |                                                     +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::array::IntoIter::<T, N>::new`: use `IntoIterator::into_iter` instead
[INFO] [stdout]   --> src/typeyd3d12/commandlist.rs:69:46
[INFO] [stdout]    |
[INFO] [stdout] 69 |         for barrier in std::array::IntoIter::new(barriers) {
[INFO] [stdout]    |                                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this method are incorrect
[INFO] [stdout]    --> src/model.rs:292:14
[INFO] [stdout]     |
[INFO] [stdout] 292 |         self.sync_upload_bindless_buffer_resource(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: expected `&[Vec3]`, found `SVec<Vec3>`
[INFO] [stdout]    --> src/model.rs:293:13
[INFO] [stdout]     |
[INFO] [stdout] 293 |             local_verts,
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout]     = note: expected reference `&[math::Vec3]`
[INFO] [stdout]                   found struct `SVec<math::Vec3>`
[INFO] [stdout] note: expected `&mut SBindlessBufferResource<Vec3>`, found `SBindlessBufferResource<Vec3>`
[INFO] [stdout]    --> src/model.rs:294:13
[INFO] [stdout]     |
[INFO] [stdout] 294 |             self.local_verts_resource,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected mutable reference `&mut niced3d12::resource::SBindlessBufferResource<math::Vec3>`
[INFO] [stdout]                           found struct `niced3d12::resource::SBindlessBufferResource<math::Vec3>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/model.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn sync_upload_bindless_buffer_resource<T>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 189 |         &mut self,
[INFO] [stdout] 190 |         data: &[T],
[INFO] [stdout]     |         ----------
[INFO] [stdout] 191 |         buffer: &mut n12::SBindlessBufferResource<T>,
[INFO] [stdout]     |         --------------------------------------------
[INFO] [stdout] 192 |         slice: &n12::SBindlessBufferResourceSlice<T>,
[INFO] [stdout]     |         --------------------------------------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 293 |             &local_verts,
[INFO] [stdout]     |             ~~~~~~~~~~~~
[INFO] [stdout] help: consider mutably borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 294 |             &mut self.local_verts_resource,
[INFO] [stdout]     |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this method are incorrect
[INFO] [stdout]    --> src/model.rs:297:14
[INFO] [stdout]     |
[INFO] [stdout] 297 |         self.sync_upload_bindless_buffer_resource(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: expected `&[Vec3]`, found `SVec<Vec3>`
[INFO] [stdout]    --> src/model.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |             local_normals,
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected reference `&[math::Vec3]`
[INFO] [stdout]                   found struct `SVec<math::Vec3>`
[INFO] [stdout] note: expected `&mut SBindlessBufferResource<Vec3>`, found `SBindlessBufferResource<Vec3>`
[INFO] [stdout]    --> src/model.rs:299:13
[INFO] [stdout]     |
[INFO] [stdout] 299 |             self.local_normals_resource,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected mutable reference `&mut niced3d12::resource::SBindlessBufferResource<math::Vec3>`
[INFO] [stdout]                           found struct `niced3d12::resource::SBindlessBufferResource<math::Vec3>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/model.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn sync_upload_bindless_buffer_resource<T>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 189 |         &mut self,
[INFO] [stdout] 190 |         data: &[T],
[INFO] [stdout]     |         ----------
[INFO] [stdout] 191 |         buffer: &mut n12::SBindlessBufferResource<T>,
[INFO] [stdout]     |         --------------------------------------------
[INFO] [stdout] 192 |         slice: &n12::SBindlessBufferResourceSlice<T>,
[INFO] [stdout]     |         --------------------------------------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 298 |             &local_normals,
[INFO] [stdout]     |             ~~~~~~~~~~~~~~
[INFO] [stdout] help: consider mutably borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 299 |             &mut self.local_normals_resource,
[INFO] [stdout]     |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this method are incorrect
[INFO] [stdout]    --> src/model.rs:302:14
[INFO] [stdout]     |
[INFO] [stdout] 302 |         self.sync_upload_bindless_buffer_resource(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: expected `&[Vec2]`, found `SVec<Vec2>`
[INFO] [stdout]    --> src/model.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |             uvs,
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     = note: expected reference `&[math::Vec2]`
[INFO] [stdout]                   found struct `SVec<math::Vec2>`
[INFO] [stdout] note: expected `&mut SBindlessBufferResource<Vec2>`, found `SBindlessBufferResource<Vec2>`
[INFO] [stdout]    --> src/model.rs:304:13
[INFO] [stdout]     |
[INFO] [stdout] 304 |             self.uvs_resource,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected mutable reference `&mut niced3d12::resource::SBindlessBufferResource<math::Vec2>`
[INFO] [stdout]                           found struct `niced3d12::resource::SBindlessBufferResource<math::Vec2>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/model.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn sync_upload_bindless_buffer_resource<T>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 189 |         &mut self,
[INFO] [stdout] 190 |         data: &[T],
[INFO] [stdout]     |         ----------
[INFO] [stdout] 191 |         buffer: &mut n12::SBindlessBufferResource<T>,
[INFO] [stdout]     |         --------------------------------------------
[INFO] [stdout] 192 |         slice: &n12::SBindlessBufferResourceSlice<T>,
[INFO] [stdout]     |         --------------------------------------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 303 |             &uvs,
[INFO] [stdout]     |             ~~~~
[INFO] [stdout] help: consider mutably borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 304 |             &mut self.uvs_resource,
[INFO] [stdout]     |             ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this method are incorrect
[INFO] [stdout]    --> src/model.rs:307:14
[INFO] [stdout]     |
[INFO] [stdout] 307 |         self.sync_upload_bindless_buffer_resource(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: expected `&[u16]`, found `SVec<u16>`
[INFO] [stdout]    --> src/model.rs:308:13
[INFO] [stdout]     |
[INFO] [stdout] 308 |             indices,
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     = note: expected reference `&[u16]`
[INFO] [stdout]                   found struct `SVec<u16>`
[INFO] [stdout] note: expected `&mut SBindlessBufferResource<u16>`, found `SBindlessBufferResource<u16>`
[INFO] [stdout]    --> src/model.rs:309:13
[INFO] [stdout]     |
[INFO] [stdout] 309 |             self.indices_resource,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected mutable reference `&mut niced3d12::resource::SBindlessBufferResource<u16>`
[INFO] [stdout]                           found struct `niced3d12::resource::SBindlessBufferResource<u16>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/model.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn sync_upload_bindless_buffer_resource<T>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 189 |         &mut self,
[INFO] [stdout] 190 |         data: &[T],
[INFO] [stdout]     |         ----------
[INFO] [stdout] 191 |         buffer: &mut n12::SBindlessBufferResource<T>,
[INFO] [stdout]     |         --------------------------------------------
[INFO] [stdout] 192 |         slice: &n12::SBindlessBufferResourceSlice<T>,
[INFO] [stdout]     |         --------------------------------------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 308 |             &indices,
[INFO] [stdout]     |             ~~~~~~~~
[INFO] [stdout] help: consider mutably borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 309 |             &mut self.indices_resource,
[INFO] [stdout]     |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `sync_create_and_upload_buffer_resource` found for mutable reference `&mut SMeshLoader` in the current scope
[INFO] [stdout]    --> src/model.rs:343:56
[INFO] [stdout]     |
[INFO] [stdout] 343 |             let vertex_skinning_buffer_resource = self.sync_create_and_upload_buffer_resource(
[INFO] [stdout]     |                                                   -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `&mut SMeshLoader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing fields `indices_buf`, `normals_buf`, `uvs_buf` and 1 other field in initializer of `SMesh`
[INFO] [stdout]    --> src/model.rs:432:20
[INFO] [stdout]     |
[INFO] [stdout] 432 |         let mesh = SMesh{
[INFO] [stdout]     |                    ^^^^^ missing `indices_buf`, `normals_buf`, `uvs_buf` and 1 other field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `sync_create_and_upload_buffer_resource` found for mutable reference `&mut SMeshLoader` in the current scope
[INFO] [stdout]    --> src/model.rs:483:41
[INFO] [stdout]     |
[INFO] [stdout] 483 |         let local_verts_resource = self.sync_create_and_upload_buffer_resource(
[INFO] [stdout]     |                                    -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `&mut SMeshLoader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `sync_create_and_upload_buffer_resource` found for mutable reference `&mut SMeshLoader` in the current scope
[INFO] [stdout]    --> src/model.rs:490:43
[INFO] [stdout]     |
[INFO] [stdout] 490 |         let local_normals_resource = self.sync_create_and_upload_buffer_resource(
[INFO] [stdout]     |                                      -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `&mut SMeshLoader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `sync_create_and_upload_buffer_resource` found for mutable reference `&mut SMeshLoader` in the current scope
[INFO] [stdout]    --> src/model.rs:497:33
[INFO] [stdout]     |
[INFO] [stdout] 497 |         let uvs_resource = self.sync_create_and_upload_buffer_resource(
[INFO] [stdout]     |                            -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `&mut SMeshLoader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `sync_create_and_upload_buffer_resource` found for mutable reference `&mut SMeshLoader` in the current scope
[INFO] [stdout]    --> src/model.rs:504:37
[INFO] [stdout]     |
[INFO] [stdout] 504 |         let indices_resource = self.sync_create_and_upload_buffer_resource(
[INFO] [stdout]     |                                -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `&mut SMeshLoader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `SMesh` has no field named `local_verts_resource`
[INFO] [stdout]    --> src/model.rs:523:13
[INFO] [stdout]     |
[INFO] [stdout] 523 |             local_verts_resource,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ `SMesh` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `uid`, `local_verts`, `local_normals`, `uvs`, `indices` ... and 6 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `SMesh` has no field named `local_normals_resource`
[INFO] [stdout]    --> src/model.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 |             local_normals_resource,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ `SMesh` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `uid`, `local_verts`, `local_normals`, `uvs`, `indices` ... and 6 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `SMesh` has no field named `uvs_resource`
[INFO] [stdout]    --> src/model.rs:525:13
[INFO] [stdout]     |
[INFO] [stdout] 525 |             uvs_resource,
[INFO] [stdout]     |             ^^^^^^^^^^^^ `SMesh` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `uid`, `local_verts`, `local_normals`, `uvs`, `indices` ... and 6 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `SMesh` has no field named `indices_resource`
[INFO] [stdout]    --> src/model.rs:526:13
[INFO] [stdout]     |
[INFO] [stdout] 526 |             indices_resource,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ `SMesh` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `uid`, `local_verts`, `local_normals`, `uvs`, `indices` ... and 6 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `SMesh` has no field named `local_verts_vbv`
[INFO] [stdout]    --> src/model.rs:528:13
[INFO] [stdout]     |
[INFO] [stdout] 528 |             local_verts_vbv,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ `SMesh` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `uid`, `local_verts`, `local_normals`, `uvs`, `indices` ... and 6 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `SMesh` has no field named `local_normals_vbv`
[INFO] [stdout]    --> src/model.rs:529:13
[INFO] [stdout]     |
[INFO] [stdout] 529 |             local_normals_vbv,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ `SMesh` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `uid`, `local_verts`, `local_normals`, `uvs`, `indices` ... and 6 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `SMesh` has no field named `uvs_vbv`
[INFO] [stdout]    --> src/model.rs:530:13
[INFO] [stdout]     |
[INFO] [stdout] 530 |             uvs_vbv,
[INFO] [stdout]     |             ^^^^^^^ `SMesh` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `uid`, `local_verts`, `local_normals`, `uvs`, `indices` ... and 6 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `SMesh` has no field named `indices_ibv`
[INFO] [stdout]    --> src/model.rs:531:13
[INFO] [stdout]     |
[INFO] [stdout] 531 |             indices_ibv,
[INFO] [stdout]     |             ^^^^^^^^^^^ help: a field with a similar name exists: `indices_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `local_verts_resource` on type `&SMesh`
[INFO] [stdout]    --> src/model.rs:631:15
[INFO] [stdout]     |
[INFO] [stdout] 631 |         &mesh.local_verts_resource
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `uid`, `local_verts`, `local_normals`, `uvs`, `indices` ... and 6 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `local_normals_resource` on type `&SMesh`
[INFO] [stdout]    --> src/model.rs:636:15
[INFO] [stdout]     |
[INFO] [stdout] 636 |         &mesh.local_normals_resource
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `uid`, `local_verts`, `local_normals`, `uvs`, `indices` ... and 6 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `local_verts_vbv` on type `&SMesh`
[INFO] [stdout]    --> src/model.rs:641:15
[INFO] [stdout]     |
[INFO] [stdout] 641 |         &mesh.local_verts_vbv
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^ help: a field with a similar name exists: `local_verts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `local_normals_vbv` on type `&SMesh`
[INFO] [stdout]    --> src/model.rs:646:15
[INFO] [stdout]     |
[INFO] [stdout] 646 |         &mesh.local_normals_vbv
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ help: a field with a similar name exists: `local_normals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `uvs_vbv` on type `&SMesh`
[INFO] [stdout]    --> src/model.rs:651:15
[INFO] [stdout]     |
[INFO] [stdout] 651 |         &mesh.uvs_vbv
[INFO] [stdout]     |               ^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `uid`, `local_verts`, `local_normals`, `uvs`, `indices` ... and 6 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `indices_ibv` on type `&SMesh`
[INFO] [stdout]    --> src/model.rs:656:15
[INFO] [stdout]     |
[INFO] [stdout] 656 |         &mesh.indices_ibv
[INFO] [stdout]     |               ^^^^^^^^^^^ help: a field with a similar name exists: `indices_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `index_count` on type `&SMesh`
[INFO] [stdout]    --> src/model.rs:686:18
[INFO] [stdout]     |
[INFO] [stdout] 686 |             mesh.index_count,
[INFO] [stdout]     |                  ^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `uid`, `local_verts`, `local_normals`, `uvs`, `indices` ... and 6 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `start_index_location` on type `&SMesh`
[INFO] [stdout]    --> src/model.rs:688:18
[INFO] [stdout]     |
[INFO] [stdout] 688 |             mesh.start_index_location,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `uid`, `local_verts`, `local_normals`, `uvs`, `indices` ... and 6 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `base_vertex_location` on type `&SMesh`
[INFO] [stdout]    --> src/model.rs:689:18
[INFO] [stdout]     |
[INFO] [stdout] 689 |             mesh.base_vertex_location,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `uid`, `local_verts`, `local_normals`, `uvs`, `indices` ... and 6 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `joints_bind_to_cur_resource` on type `&mut SMeshInstanceSkinning`
[INFO] [stdout]    --> src/model.rs:916:22
[INFO] [stdout]     |
[INFO] [stdout] 916 |                 self.joints_bind_to_cur_resource.copy_to_map(frame_joints_bind_to_cur.as_ref());
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `mesh`, `cur_joints_to_parents`, `skinned_verts`, `skinned_normals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `texture_data_buffer` on type `&mut SMeshInstanceLoader`
[INFO] [stdout]    --> src/model.rs:959:32
[INFO] [stdout]     |
[INFO] [stdout] 959 |             texture_data: self.texture_data_buffer.alloc(1)?,
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^ help: a field with a similar name exists: `texture_metadata_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `texture_data_buffer` on type `&mut SMeshInstanceLoader`
[INFO] [stdout]    --> src/model.rs:993:32
[INFO] [stdout]     |
[INFO] [stdout] 993 |             texture_data: self.texture_data_buffer.alloc(1)?,
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^ help: a field with a similar name exists: `texture_metadata_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `raw` on type `niced3d12::resource::SBindlessBufferResource<types::SInstanceData>`
[INFO] [stdout]     --> src/model.rs:1006:35
[INFO] [stdout]      |
[INFO] [stdout] 1006 |         self.instance_data_buffer.raw.raw
[INFO] [stdout]      |                                   ^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `raw` on type `niced3d12::resource::SBindlessBufferResource<types::SInstanceData>`
[INFO] [stdout]     --> src/model.rs:1010:35
[INFO] [stdout]      |
[INFO] [stdout] 1010 |         self.instance_data_buffer.raw.raw
[INFO] [stdout]      |                                   ^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_mesh_bind_joints` found for mutable reference `&mut SMeshInstanceLoader` in the current scope
[INFO] [stdout]     --> src/model.rs:1017:32
[INFO] [stdout]      |
[INFO] [stdout] 1017 |         let bind_joints = self.get_mesh_bind_joints(mesh).unwrap();
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^^^ method not found in `&mut SMeshInstanceLoader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `device` on type `&mut SMeshInstanceLoader`
[INFO] [stdout]     --> src/model.rs:1019:52
[INFO] [stdout]      |
[INFO] [stdout] 1019 | ...   let mut joints_bind_to_cur_resource = self.device.upgrade().expect("device dropped").create_committed_buffer_resource_for_type::<Ma...
[INFO] [stdout]      |                                                  ^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout]      = note: available fields are: `instance_pool`, `instance_data_buffer`, `texture_metadata_buffer`, `joints_bind_to_cur_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_mesh_local_vertices` found for mutable reference `&mut SMeshInstanceLoader` in the current scope
[INFO] [stdout]     --> src/model.rs:1039:75
[INFO] [stdout]      |
[INFO] [stdout] 1039 |         let initial_verts = SVec::<Vec3>::new_copy_slice(&allocator, self.get_mesh_local_vertices(mesh))?;
[INFO] [stdout]      |                                                                           ^^^^^^^^^^^^^^^^^^^^^^^ method not found in `&mut SMeshInstanceLoader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_mesh_local_normals` found for mutable reference `&mut SMeshInstanceLoader` in the current scope
[INFO] [stdout]     --> src/model.rs:1040:77
[INFO] [stdout]      |
[INFO] [stdout] 1040 |         let initial_normals = SVec::<Vec3>::new_copy_slice(&allocator, self.get_mesh_local_normals(mesh))?;
[INFO] [stdout]      |                                                                             ^^^^^^^^^^^^^^^^^^^^^^ method not found in `&mut SMeshInstanceLoader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `device` on type `&mut SMeshInstanceLoader`
[INFO] [stdout]     --> src/model.rs:1042:43
[INFO] [stdout]      |
[INFO] [stdout] 1042 |         let skinned_verts_resource = self.device.upgrade().expect("device dropped").create_committed_buffer_resource_for_data(
[INFO] [stdout]      |                                           ^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout]      = note: available fields are: `instance_pool`, `instance_data_buffer`, `texture_metadata_buffer`, `joints_bind_to_cur_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `device` on type `&mut SMeshInstanceLoader`
[INFO] [stdout]     --> src/model.rs:1050:45
[INFO] [stdout]      |
[INFO] [stdout] 1050 |         let skinned_normals_resource = self.device.upgrade().expect("device dropped").create_committed_buffer_resource_for_data(
[INFO] [stdout]      |                                             ^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout]      = note: available fields are: `instance_pool`, `instance_data_buffer`, `texture_metadata_buffer`, `joints_bind_to_cur_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `SMeshInstanceSkinning` has no field named `joints_bind_to_cur_resource`
[INFO] [stdout]     --> src/model.rs:1061:13
[INFO] [stdout]      |
[INFO] [stdout] 1061 |             joints_bind_to_cur_resource,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SMeshInstanceSkinning` does not have this field
[INFO] [stdout]      |
[INFO] [stdout]      = note: available fields are: `mesh`, `cur_joints_to_parents`, `skinned_verts`, `skinned_normals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `SMeshInstanceSkinning` has no field named `skinned_verts_resource`
[INFO] [stdout]     --> src/model.rs:1063:13
[INFO] [stdout]      |
[INFO] [stdout] 1063 |             skinned_verts_resource,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^ `SMeshInstanceSkinning` does not have this field
[INFO] [stdout]      |
[INFO] [stdout]      = note: available fields are: `mesh`, `cur_joints_to_parents`, `skinned_verts`, `skinned_normals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `SMeshInstanceSkinning` has no field named `skinned_verts_vbv`
[INFO] [stdout]     --> src/model.rs:1064:13
[INFO] [stdout]      |
[INFO] [stdout] 1064 |             skinned_verts_vbv,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^ help: a field with a similar name exists: `skinned_verts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `SMeshInstanceSkinning` has no field named `skinned_normals_resource`
[INFO] [stdout]     --> src/model.rs:1065:13
[INFO] [stdout]      |
[INFO] [stdout] 1065 |             skinned_normals_resource,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^ `SMeshInstanceSkinning` does not have this field
[INFO] [stdout]      |
[INFO] [stdout]      = note: available fields are: `mesh`, `cur_joints_to_parents`, `skinned_verts`, `skinned_normals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `SMeshInstanceSkinning` has no field named `skinned_normals_vbv`
[INFO] [stdout]     --> src/model.rs:1066:13
[INFO] [stdout]      |
[INFO] [stdout] 1066 |             skinned_normals_vbv,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^ help: a field with a similar name exists: `skinned_normals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/model.rs:1073:48
[INFO] [stdout]      |
[INFO] [stdout] 1073 |                 mesh_instance.diffuse_colour = colour;
[INFO] [stdout]      |                 ----------------------------   ^^^^^^ expected `Vec4`, found `&Vec4`
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 expected due to the type of this binding
[INFO] [stdout]      |
[INFO] [stdout] help: consider dereferencing the borrow
[INFO] [stdout]      |
[INFO] [stdout] 1073 |                 mesh_instance.diffuse_colour = *colour;
[INFO] [stdout]      |                                                +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `instance_data_dirty` on type `&mut SMeshInstanceLoader`
[INFO] [stdout]     --> src/model.rs:1074:22
[INFO] [stdout]      |
[INFO] [stdout] 1074 |                 self.instance_data_dirty = true;
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^ help: a field with a similar name exists: `instance_data_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `mesh` on type `SPoolHandle<u16, u16>`
[INFO] [stdout]   --> src/render/compute_skinning_pipeline.rs:73:78
[INFO] [stdout]    |
[INFO] [stdout] 73 |             let local_verts_address = mesh_loader.local_verts_resource(model.mesh).raw.raw().get_gpu_virtual_address();
[INFO] [stdout]    |                                                                              ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `mesh` on type `SPoolHandle<u16, u16>`
[INFO] [stdout]   --> src/render/compute_skinning_pipeline.rs:74:82
[INFO] [stdout]    |
[INFO] [stdout] 74 |             let local_normals_address = mesh_loader.local_normals_resource(model.mesh).raw.raw().get_gpu_virtual_address();
[INFO] [stdout]    |                                                                                  ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `mesh` on type `SPoolHandle<u16, u16>`
[INFO] [stdout]   --> src/render/compute_skinning_pipeline.rs:76:69
[INFO] [stdout]    |
[INFO] [stdout] 76 |             let mesh_skinning = mesh_loader.get_mesh_skinning(model.mesh).expect("model skinning without mesh skinning");
[INFO] [stdout]    |                                                                     ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `joints_bind_to_cur_resource` on type `SMeshInstanceSkinning`
[INFO] [stdout]   --> src/render/compute_skinning_pipeline.rs:81:42
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 e_anim_instance.skinning.joints_bind_to_cur_resource.raw.raw().get_gpu_virtual_address(),
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `mesh`, `cur_joints_to_parents`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `skinned_verts_resource` on type `SMeshInstanceSkinning`
[INFO] [stdout]   --> src/render/compute_skinning_pipeline.rs:85:42
[INFO] [stdout]    |
[INFO] [stdout] 85 |                 e_anim_instance.skinning.skinned_verts_resource.raw.raw().get_gpu_virtual_address(),
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `mesh`, `cur_joints_to_parents`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `skinned_normals_resource` on type `SMeshInstanceSkinning`
[INFO] [stdout]   --> src/render/compute_skinning_pipeline.rs:86:42
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 e_anim_instance.skinning.skinned_normals_resource.raw.raw().get_gpu_virtual_address(),
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `mesh`, `cur_joints_to_parents`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `mesh` on type `SPoolHandle<u16, u16>`
[INFO] [stdout]   --> src/render/compute_skinning_pipeline.rs:89:60
[INFO] [stdout]    |
[INFO] [stdout] 89 |             let num_verts = mesh_loader.vertex_count(model.mesh);
[INFO] [stdout]    |                                                            ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `skinned_verts_resource` on type `SMeshInstanceSkinning`
[INFO] [stdout]   --> src/render/compute_skinning_pipeline.rs:94:43
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 &e_anim_instance.skinning.skinned_verts_resource.raw,
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `mesh`, `cur_joints_to_parents`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `skinned_normals_resource` on type `SMeshInstanceSkinning`
[INFO] [stdout]   --> src/render/compute_skinning_pipeline.rs:99:43
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 &e_anim_instance.skinning.skinned_normals_resource.raw,
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `mesh`, `cur_joints_to_parents`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `mesh` on type `SPoolHandle<u16, u16>`
[INFO] [stdout]    --> src/render/shadowmapping.rs:216:93
[INFO] [stdout]     |
[INFO] [stdout] 216 |                 self.vertex_shader.set_vertex_buffers(cl, mesh_loader.local_verts_vbv(model.mesh));
[INFO] [stdout]     |                                                                                             ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_index_buffer_and_draw` found for reference `&SMeshLoader` in the current scope
[INFO] [stdout]    --> src/render/shadowmapping.rs:217:29
[INFO] [stdout]     |
[INFO] [stdout] 217 |                 mesh_loader.set_index_buffer_and_draw(model.mesh, cl)?;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `&SMeshLoader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `mesh` on type `SPoolHandle<u16, u16>`
[INFO] [stdout]    --> src/render/shadowmapping.rs:217:61
[INFO] [stdout]     |
[INFO] [stdout] 217 |                 mesh_loader.set_index_buffer_and_draw(model.mesh, cl)?;
[INFO] [stdout]     |                                                             ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `input_layout_desc` found for struct `vertex_hlsl_bind::SVertexHLSL` in the current scope
[INFO] [stdout]    --> src/render/temp.rs:439:67
[INFO] [stdout]     |
[INFO] [stdout] 439 |         let mesh_input_layout_desc = shaderbindings::SVertexHLSL::input_layout_desc();
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^ function or associated item not found in `SVertexHLSL`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/shaderbindings/vertex_hlsl_bind.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | pub struct SVertexHLSL {
[INFO] [stdout]     | ---------------------- function or associated item `input_layout_desc` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `SRenderTemp` has no field named `instance_mesh_pipeline_state`
[INFO] [stdout]    --> src/render/temp.rs:485:13
[INFO] [stdout]     |
[INFO] [stdout] 485 |             instance_mesh_pipeline_state,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SRenderTemp` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `point_pipeline_state`, `point_root_signature`, `point_vp_root_param_idx`, `_point_vert_byte_code`, `_point_pixel_byte_code` ... and 21 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `SRenderTemp` has no field named `instance_mesh_root_signature`
[INFO] [stdout]    --> src/render/temp.rs:486:13
[INFO] [stdout]     |
[INFO] [stdout] 486 |             instance_mesh_root_signature,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SRenderTemp` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `point_pipeline_state`, `point_root_signature`, `point_vp_root_param_idx`, `_point_vert_byte_code`, `_point_pixel_byte_code` ... and 21 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `SRenderTemp` has no field named `instance_mesh_vp_root_param_idx`
[INFO] [stdout]    --> src/render/temp.rs:487:13
[INFO] [stdout]     |
[INFO] [stdout] 487 |             instance_mesh_vp_root_param_idx,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SRenderTemp` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `point_pipeline_state`, `point_root_signature`, `point_vp_root_param_idx`, `_point_vert_byte_code`, `_point_pixel_byte_code` ... and 21 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `SRenderTemp` has no field named `_instance_mesh_vert_byte_code`
[INFO] [stdout]    --> src/render/temp.rs:488:13
[INFO] [stdout]     |
[INFO] [stdout] 488 |             _instance_mesh_vert_byte_code: instance_mesh_vert_byte_code,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SRenderTemp` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `point_pipeline_state`, `point_root_signature`, `point_vp_root_param_idx`, `_point_vert_byte_code`, `_point_pixel_byte_code` ... and 21 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `SRenderTemp` has no field named `_instance_mesh_pixel_byte_code`
[INFO] [stdout]    --> src/render/temp.rs:489:13
[INFO] [stdout]     |
[INFO] [stdout] 489 |             _instance_mesh_pixel_byte_code: instance_mesh_pixel_byte_code,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SRenderTemp` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `point_pipeline_state`, `point_root_signature`, `point_vp_root_param_idx`, `_point_vert_byte_code`, `_point_pixel_byte_code` ... and 21 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `diffuse_texture` on type `&SPoolHandle<u16, u16>`
[INFO] [stdout]    --> src/render/temp.rs:540:23
[INFO] [stdout]     |
[INFO] [stdout] 540 |         assert!(model.diffuse_texture.is_none());
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `diffuse_colour` on type `SPoolHandle<u16, u16>`
[INFO] [stdout]     --> src/render/temp.rs:1105:66
[INFO] [stdout]      |
[INFO] [stdout] 1105 | ...                   &model.model.diffuse_colour, 0);
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `mesh` on type `SPoolHandle<u16, u16>`
[INFO] [stdout]     --> src/render/temp.rs:1107:80
[INFO] [stdout]      |
[INFO] [stdout] 1107 |             let local_verts_vbv = self.mesh_loader.local_verts_vbv(model.model.mesh);
[INFO] [stdout]      |                                                                                ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `mesh` on type `SPoolHandle<u16, u16>`
[INFO] [stdout]     --> src/render/temp.rs:1108:84
[INFO] [stdout]      |
[INFO] [stdout] 1108 |             let local_normals_vbv = self.mesh_loader.local_normals_vbv(model.model.mesh);
[INFO] [stdout]      |                                                                                    ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `mesh` on type `SPoolHandle<u16, u16>`
[INFO] [stdout]     --> src/render/temp.rs:1109:64
[INFO] [stdout]      |
[INFO] [stdout] 1109 |             let uvs_vbv = self.mesh_loader.uvs_vbv(model.model.mesh);
[INFO] [stdout]      |                                                                ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_index_buffer_and_draw` found for struct `SMeshLoader` in the current scope
[INFO] [stdout]     --> src/render/temp.rs:1113:30
[INFO] [stdout]      |
[INFO] [stdout] 1113 |             self.mesh_loader.set_index_buffer_and_draw(model.model.mesh, &mut list)?;
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `SMeshLoader`
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/model.rs:67:1
[INFO] [stdout]      |
[INFO] [stdout] 67   | pub struct SMeshLoader {
[INFO] [stdout]      | ---------------------- method `set_index_buffer_and_draw` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `mesh` on type `SPoolHandle<u16, u16>`
[INFO] [stdout]     --> src/render/temp.rs:1113:68
[INFO] [stdout]      |
[INFO] [stdout] 1113 |             self.mesh_loader.set_index_buffer_and_draw(model.model.mesh, &mut list)?;
[INFO] [stdout]      |                                                                    ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `types::STextureMetadata` has no field named `has_diffuse_texture`
[INFO] [stdout]    --> src/render/shaderbindings/types.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |             has_diffuse_texture: if has_diffuse_texture { 1.0 } else { 0.0 },
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ `types::STextureMetadata` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `diffuse_colour`, `diffuse_texture_index`, `diffuse_weight`, `is_lit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/render/shaderbindings/types.rs:109:33
[INFO] [stdout]     |
[INFO] [stdout] 109 |             is_lit: if is_lit { 1.0 } else { 0.0 },
[INFO] [stdout]     |                                 ^^^ expected `u32`, found floating-point number
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/render/shaderbindings/types.rs:109:46
[INFO] [stdout]     |
[INFO] [stdout] 109 |             is_lit: if is_lit { 1.0 } else { 0.0 },
[INFO] [stdout]     |                                              ^^^ expected `u32`, found floating-point number
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `vertex_buffer_rp` on type `&vertex_hlsl_bind::SVertexHLSLBind`
[INFO] [stdout]   --> src/render/shaderbindings/vertex_hlsl_bind.rs:68:58
[INFO] [stdout]    |
[INFO] [stdout] 68 |         list.set_graphics_root_shader_resource_view(bind.vertex_buffer_rp, local_verts_descriptor);
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `view_projection_rp_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/render/shaderbindings/vertex_hlsl_bind.rs:68:76
[INFO] [stdout]     |
[INFO] [stdout] 68  |         list.set_graphics_root_shader_resource_view(bind.vertex_buffer_rp, local_verts_descriptor);
[INFO] [stdout]     |              --------------------------------------                        ^^^^^^^^^^^^^^^^^^^^^^ expected `SGPUDescriptorHandle`, found `SGPUVirtualAddress`
[INFO] [stdout]     |              |
[INFO] [stdout]     |              arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/niced3d12/commandlist.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn set_graphics_root_shader_resource_view(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |         buffer_location: t12::SGPUDescriptorHandle,
[INFO] [stdout]     |         ------------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normals_buffer_rp` on type `&vertex_hlsl_bind::SVertexHLSLBind`
[INFO] [stdout]   --> src/render/shaderbindings/vertex_hlsl_bind.rs:69:58
[INFO] [stdout]    |
[INFO] [stdout] 69 |         list.set_graphics_root_shader_resource_view(bind.normals_buffer_rp, local_normals_descriptor);
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `view_projection_rp_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/render/shaderbindings/vertex_hlsl_bind.rs:69:77
[INFO] [stdout]     |
[INFO] [stdout] 69  |         list.set_graphics_root_shader_resource_view(bind.normals_buffer_rp, local_normals_descriptor);
[INFO] [stdout]     |              --------------------------------------                         ^^^^^^^^^^^^^^^^^^^^^^^^ expected `SGPUDescriptorHandle`, found `SGPUVirtualAddress`
[INFO] [stdout]     |              |
[INFO] [stdout]     |              arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/niced3d12/commandlist.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn set_graphics_root_shader_resource_view(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |         buffer_location: t12::SGPUDescriptorHandle,
[INFO] [stdout]     |         ------------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `uvs_descriptor` on type `&vertex_hlsl_bind::SVertexHLSLBind`
[INFO] [stdout]   --> src/render/shaderbindings/vertex_hlsl_bind.rs:70:58
[INFO] [stdout]    |
[INFO] [stdout] 70 |         list.set_graphics_root_shader_resource_view(bind.uvs_descriptor, uvs_descriptor);
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `view_projection_rp_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/render/shaderbindings/vertex_hlsl_bind.rs:70:74
[INFO] [stdout]     |
[INFO] [stdout] 70  |         list.set_graphics_root_shader_resource_view(bind.uvs_descriptor, uvs_descriptor);
[INFO] [stdout]     |              --------------------------------------                      ^^^^^^^^^^^^^^ expected `SGPUDescriptorHandle`, found `SGPUVirtualAddress`
[INFO] [stdout]     |              |
[INFO] [stdout]     |              arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/niced3d12/commandlist.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn set_graphics_root_shader_resource_view(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |         buffer_location: t12::SGPUDescriptorHandle,
[INFO] [stdout]     |         ------------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `TEXTUREMETADATAREGISTER` found for struct `pixel_hlsl_bind::SPixelHLSL` in the current scope
[INFO] [stdout]   --> src/render/shaderbindings/pixel_hlsl_bind.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub struct SPixelHLSL {
[INFO] [stdout]    | --------------------- associated item `TEXTUREMETADATAREGISTER` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |             Self::TEXTUREMETADATAREGISTER,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^ associated item not found in `SPixelHLSL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `TEXTURESPACE` found for struct `pixel_hlsl_bind::SPixelHLSL` in the current scope
[INFO] [stdout]   --> src/render/shaderbindings/pixel_hlsl_bind.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub struct SPixelHLSL {
[INFO] [stdout]    | --------------------- associated item `TEXTURESPACE` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 48 |             Self::TEXTURESPACE,
[INFO] [stdout]    |                   ^^^^^^^^^^^^ associated item not found in `SPixelHLSL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `SHADOWSPACE` found for struct `pixel_hlsl_bind::SPixelHLSL` in the current scope
[INFO] [stdout]   --> src/render/shaderbindings/pixel_hlsl_bind.rs:58:39
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub struct SPixelHLSL {
[INFO] [stdout]    | --------------------- associated item `SHADOWSPACE` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |                 register_space: Self::SHADOWSPACE,
[INFO] [stdout]    |                                       ^^^^^^^^^^^ associated item not found in `SPixelHLSL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `SHADOWSPACE` found for struct `pixel_hlsl_bind::SPixelHLSL` in the current scope
[INFO] [stdout]    --> src/render/shaderbindings/pixel_hlsl_bind.rs:101:35
[INFO] [stdout]     |
[INFO] [stdout] 8   | pub struct SPixelHLSL {
[INFO] [stdout]     | --------------------- associated item `SHADOWSPACE` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 101 |             register_space: Self::SHADOWSPACE,
[INFO] [stdout]     |                                   ^^^^^^^^^^^ associated item not found in `SPixelHLSL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `input_layout_desc` found for struct `vertex_hlsl_bind::SVertexHLSL` in the current scope
[INFO] [stdout]    --> src/render/mod.rs:257:62
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let input_layout_desc = shaderbindings::SVertexHLSL::input_layout_desc();
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^ function or associated item not found in `SVertexHLSL`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/shaderbindings/vertex_hlsl_bind.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | pub struct SVertexHLSL {
[INFO] [stdout]     | ---------------------- function or associated item `input_layout_desc` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/render/mod.rs:269:42
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let pixel_hlsl_bind = pixel_hlsl.bind(&mut root_signature_desc);
[INFO] [stdout]     |                                          ^^^^-------------------------- an argument of type `u32` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/render/shaderbindings/pixel_hlsl_bind.rs:35:12
[INFO] [stdout]     |
[INFO] [stdout] 35  |     pub fn bind(&self, root_signature_desc: &mut t12::SRootSignatureDesc, texture_array_size: u32) -> SPixelHLSLBind {
[INFO] [stdout]     |            ^^^^        -------------------------------------------------  -----------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let pixel_hlsl_bind = pixel_hlsl.bind(&mut root_signature_desc, /* u32 */);
[INFO] [stdout]     |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `mesh_instance_loader` in initializer of `SRender`
[INFO] [stdout]    --> src/render/mod.rs:308:12
[INFO] [stdout]     |
[INFO] [stdout] 308 |         Ok(Self {
[INFO] [stdout]     |            ^^^^ missing `mesh_instance_loader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `new_from_gtlf` on type `SMeshInstanceLoader`
[INFO] [stdout]    --> src/render/mod.rs:411:35
[INFO] [stdout]     |
[INFO] [stdout] 411 | ...   self.mesh_instance_loader.new_from_gtlf.new_from_gltf(gltf_file_path, &mut self.mesh_loader, &mut self.texture_loader, diffuse_weig...
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `pickable` on type `&SPoolHandle<u16, u16>`
[INFO] [stdout]    --> src/render/mod.rs:434:18
[INFO] [stdout]     |
[INFO] [stdout] 434 |         if model.pickable == false {
[INFO] [stdout]     |                  ^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ray_intersects` found for struct `SMeshInstanceLoader` in the current scope
[INFO] [stdout]    --> src/render/mod.rs:438:35
[INFO] [stdout]     |
[INFO] [stdout] 438 |         self.mesh_instance_loader.ray_intersects(model, ray_origin, ray_dir, model_to_ray_space)
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ method not found in `SMeshInstanceLoader`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/model.rs:119:1
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct SMeshInstanceLoader {
[INFO] [stdout]     | ------------------------------ method `ray_intersects` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_roots` found for struct `vertex_hlsl_bind::SVertexHLSL` in the current scope
[INFO] [stdout]    --> src/render/mod.rs:639:34
[INFO] [stdout]     |
[INFO] [stdout] 639 |                 self.vertex_hlsl.set_roots(
[INFO] [stdout]     |                 -----------------^^^^^^^^^ help: there is a method with a similar name: `set_graphics_roots`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/shaderbindings/vertex_hlsl_bind.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | pub struct SVertexHLSL {
[INFO] [stdout]     | ---------------------- method `set_roots` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `vertex_buffer` found for struct `SMeshLoader` in the current scope
[INFO] [stdout]    --> src/render/mod.rs:644:38
[INFO] [stdout]     |
[INFO] [stdout] 644 |                     self.mesh_loader.vertex_buffer(),
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^ method not found in `SMeshLoader`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/model.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout] 67  | pub struct SMeshLoader {
[INFO] [stdout]     | ---------------------- method `vertex_buffer` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `normal_buffer` found for struct `SMeshLoader` in the current scope
[INFO] [stdout]    --> src/render/mod.rs:645:38
[INFO] [stdout]     |
[INFO] [stdout] 645 |                     self.mesh_loader.normal_buffer(),
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^ method not found in `SMeshLoader`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/model.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout] 67  | pub struct SMeshLoader {
[INFO] [stdout]     | ---------------------- method `normal_buffer` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `uv_buffer` found for struct `SMeshLoader` in the current scope
[INFO] [stdout]    --> src/render/mod.rs:646:38
[INFO] [stdout]     |
[INFO] [stdout] 646 |                     self.mesh_loader.uv_buffer(),
[INFO] [stdout]     |                                      ^^^^^^^^^ method not found in `SMeshLoader`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/model.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout] 67  | pub struct SMeshLoader {
[INFO] [stdout]     | ---------------------- method `uv_buffer` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_roots` found for struct `pixel_hlsl_bind::SPixelHLSL` in the current scope
[INFO] [stdout]    --> src/render/mod.rs:650:33
[INFO] [stdout]     |
[INFO] [stdout] 650 |                 self.pixel_hlsl.set_roots(
[INFO] [stdout]     |                 ----------------^^^^^^^^^ help: there is a method with a similar name: `set_graphics_roots`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/shaderbindings/pixel_hlsl_bind.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | pub struct SPixelHLSL {
[INFO] [stdout]     | --------------------- method `set_roots` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `texture_metadata_buffer` found for struct `SMeshInstanceLoader` in the current scope
[INFO] [stdout]    --> src/render/mod.rs:654:47
[INFO] [stdout]     |
[INFO] [stdout] 654 |                     self.mesh_instance_loader.texture_metadata_buffer(),
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ private field, not a method
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/model.rs:119:1
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct SMeshInstanceLoader {
[INFO] [stdout]     | ------------------------------ method `texture_metadata_buffer` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `textures_table` found for struct `STextureLoader` in the current scope
[INFO] [stdout]    --> src/render/mod.rs:655:41
[INFO] [stdout]     |
[INFO] [stdout] 655 |                     self.texture_loader.textures_table(),
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^ method not found in `STextureLoader`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/model.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | pub struct STextureLoader {
[INFO] [stdout]     | ------------------------- method `textures_table` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `index_buffer` found for struct `SMeshLoader` in the current scope
[INFO] [stdout]    --> src/render/mod.rs:660:59
[INFO] [stdout]     |
[INFO] [stdout] 660 |                 list.ia_set_index_buffer(self.mesh_loader.index_buffer());
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^ method not found in `SMeshLoader`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/model.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout] 67  | pub struct SMeshLoader {
[INFO] [stdout]     | ---------------------- method `index_buffer` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `mesh` on type `SPoolHandle<u16, u16>`
[INFO] [stdout]    --> src/render/mod.rs:698:53
[INFO] [stdout]     |
[INFO] [stdout] 698 |                     self.mesh_loader.draw_one(model.mesh, &mut list, model.instance_location)?;
[INFO] [stdout]     |                                                     ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `instance_location` on type `SPoolHandle<u16, u16>`
[INFO] [stdout]    --> src/render/mod.rs:698:76
[INFO] [stdout]     |
[INFO] [stdout] 698 |                     self.mesh_loader.draw_one(model.mesh, &mut list, model.instance_location)?;
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/render/mod.rs:756:44
[INFO] [stdout]     |
[INFO] [stdout] 756 |             result = render.ray_intersects(em.get_model(model_handle), &ray.origin, &ray.dir, &entity_to_world);
[INFO] [stdout]     |                             -------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |              |
[INFO] [stdout]     |                             |              expected `&SPoolHandle<u16, u16>`, found `SPoolHandle<u16, u16>`
[INFO] [stdout]     |                             |              help: consider borrowing here: `&em.get_model(model_handle)`
[INFO] [stdout]     |                             arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&SPoolHandle<u16, u16>`
[INFO] [stdout]                   found struct `SPoolHandle<u16, u16>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/render/mod.rs:427:12
[INFO] [stdout]     |
[INFO] [stdout] 427 |     pub fn ray_intersects(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 428 |         &self,
[INFO] [stdout] 429 |         model: &SMeshInstanceHandle,
[INFO] [stdout]     |         ---------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `new_model_from_gltf` found for mutable reference `&mut SRender` in the current scope
[INFO] [stdout]   --> src/entitytypes/flatshadedcubeentity.rs:35:36
[INFO] [stdout]    |
[INFO] [stdout] 35 |             let mut model = render.new_model_from_gltf("assets/test_untextured_flat_colour_cube.gltf", 1.0, true)?;
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^ method not found in `&mut SRender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `diffuse_colour` on type `SPoolHandle<u16, u16>`
[INFO] [stdout]   --> src/entitytypes/flatshadedcubeentity.rs:63:66
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 let diffuse_colour = Some(em.get_model(m_handle).diffuse_colour);
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `new_model_from_obj` found for mutable reference `&mut SRender` in the current scope
[INFO] [stdout]   --> src/entitytypes/testtexturedcubeentity.rs:32:32
[INFO] [stdout]    |
[INFO] [stdout] 32 |             let model = render.new_model_from_obj("assets/first_test_asset.obj", 1.0, true)?;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^ method not found in `&mut SRender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `new_model_from_obj` found for mutable reference `&mut SRender` in the current scope
[INFO] [stdout]   --> src/entitytypes/testopenroomentity.rs:32:32
[INFO] [stdout]    |
[INFO] [stdout] 32 |             let model = render.new_model_from_obj("assets/test_open_room.obj", 1.0, true)?;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^ method not found in `&mut SRender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `new_model_from_gltf` found for mutable reference `&mut SRender` in the current scope
[INFO] [stdout]   --> src/entitytypes/tstskinnedentity.rs:39:36
[INFO] [stdout]    |
[INFO] [stdout] 39 |             let mut model = render.new_model_from_gltf("assets/test_armature.gltf", 1.0, true)?;
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^ method not found in `&mut SRender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/entitytypes/tstskinnedentity.rs:49:87
[INFO] [stdout]    |
[INFO] [stdout] 49 |             let anim_handle = e_animation.add_instance(ent, (&e_model, model_handle), render.mesh_loader())?;
[INFO] [stdout]    |                                           ------------                                ^^^^^^^^^^^^^^^^^^^^ types differ in mutability
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected mutable reference `&mut SMeshInstanceLoader`
[INFO] [stdout]                       found reference `&SMeshLoader`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> src/entity_animation.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn add_instance(
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |         mesh_loader: &mut SMeshInstanceLoader,
[INFO] [stdout]    |         -------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `diffuse_colour` on type `SPoolHandle<u16, u16>`
[INFO] [stdout]   --> src/entitytypes/tstskinnedentity.rs:74:66
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let diffuse_colour = Some(em.get_model(m_handle).diffuse_colour);
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 119 previous errors; 57 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0063, E0277, E0308, E0412, E0425, E0560, E0599, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rusgam` due to 120 previous errors; 111 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "49897c556e7c4743733c8268b7330578f348ed400d62f74ae976faf786524f09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "49897c556e7c4743733c8268b7330578f348ed400d62f74ae976faf786524f09", kill_on_drop: false }`
[INFO] [stdout] 49897c556e7c4743733c8268b7330578f348ed400d62f74ae976faf786524f09
