[INFO] fetching crate mallumo-gls 0.43.0...
[INFO] testing mallumo-gls-0.43.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-8
[INFO] extracting crate mallumo-gls 0.43.0 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate mallumo-gls 0.43.0
[INFO] finished tweaking crates.io crate mallumo-gls 0.43.0
[INFO] tweaked toml for crates.io crate mallumo-gls 0.43.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate mallumo-gls 0.43.0 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 112 packages to latest compatible versions
[INFO] [stderr]       Adding bitflags v1.3.2 (available: v2.10.0)
[INFO] [stderr]       Adding error-chain v0.11.0 (available: v0.12.4)
[INFO] [stderr]       Adding gl_generator v0.10.0 (available: v0.14.0)
[INFO] [stderr]       Adding glutin v0.11.0 (available: v0.32.3)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wayland-sys v0.12.5
[INFO] [stderr]   Downloaded dlib v0.4.2
[INFO] [stderr]   Downloaded dlib v0.3.1
[INFO] [stderr]   Downloaded wayland-scanner v0.12.5
[INFO] [stderr]   Downloaded dwmapi-sys v0.1.1
[INFO] [stderr]   Downloaded wayland-window v0.13.3
[INFO] [stderr]   Downloaded cgl v0.2.3
[INFO] [stderr]   Downloaded core-foundation v0.3.0
[INFO] [stderr]   Downloaded osmesa-sys v0.1.2
[INFO] [stderr]   Downloaded shell32-sys v0.1.2
[INFO] [stderr]   Downloaded libloading v0.3.4
[INFO] [stderr]   Downloaded android_glue v0.2.3
[INFO] [stderr]   Downloaded wayland-sys v0.9.10
[INFO] [stderr]   Downloaded target_build_utils v0.3.1
[INFO] [stderr]   Downloaded shared_library v0.1.9
[INFO] [stderr]   Downloaded wayland-scanner v0.9.10
[INFO] [stderr]   Downloaded gl_generator v0.13.1
[INFO] [stderr]   Downloaded lazy_static v0.2.11
[INFO] [stderr]   Downloaded core-foundation-sys v0.3.1
[INFO] [stderr]   Downloaded libloading v0.6.7
[INFO] [stderr]   Downloaded core-graphics v0.8.2
[INFO] [stderr]   Downloaded gdi32-sys v0.1.2
[INFO] [stderr]   Downloaded wayland-protocols v0.12.5
[INFO] [stderr]   Downloaded gl_generator v0.10.0
[INFO] [stderr]   Downloaded memmap v0.6.2
[INFO] [stderr]   Downloaded gleam v0.6.19
[INFO] [stderr]   Downloaded core-foundation-sys v0.4.6
[INFO] [stderr]   Downloaded user32-sys v0.1.3
[INFO] [stderr]   Downloaded itoa v0.3.4
[INFO] [stderr]   Downloaded wayland-client v0.12.5
[INFO] [stderr]   Downloaded glutin v0.11.0
[INFO] [stderr]   Downloaded xml-rs v0.6.1
[INFO] [stderr]   Downloaded xml-rs v0.8.28
[INFO] [stderr]   Downloaded serde v0.9.15
[INFO] [stderr]   Downloaded serde_json v0.9.10
[INFO] [stderr]   Downloaded wayland-client v0.9.10
[INFO] [stderr]   Downloaded core-foundation v0.4.6
[INFO] [stderr]   Downloaded wayland-kbd v0.13.1
[INFO] [stderr]   Downloaded winit v0.9.0
[INFO] [stderr]   Downloaded xml-rs v0.7.0
[INFO] [stderr]   Downloaded khronos_api v2.2.0
[INFO] [stderr]   Downloaded cocoa v0.11.0
[INFO] [stderr]   Downloaded core-graphics v0.10.0
[INFO] [stderr]   Downloaded token_store v0.1.2
[INFO] [stderr]   Downloaded gl_generator v0.7.0
[INFO] [stderr]   Downloaded cocoa v0.9.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 92dd84f606180d50bff9681d80bb3a52e547b83e0d058e36d8c424a5b94b6f33
[INFO] running `Command { std: "docker" "start" "-a" "92dd84f606180d50bff9681d80bb3a52e547b83e0d058e36d8c424a5b94b6f33", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "92dd84f606180d50bff9681d80bb3a52e547b83e0d058e36d8c424a5b94b6f33", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "92dd84f606180d50bff9681d80bb3a52e547b83e0d058e36d8c424a5b94b6f33", kill_on_drop: false }`
[INFO] [stdout] 92dd84f606180d50bff9681d80bb3a52e547b83e0d058e36d8c424a5b94b6f33
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a432f34b43aedccb3e91b04694a17cf02c5c39cc2e65583b231e4f27e469954e
[INFO] running `Command { std: "docker" "start" "-a" "a432f34b43aedccb3e91b04694a17cf02c5c39cc2e65583b231e4f27e469954e", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stderr]    Compiling siphasher v0.2.3
[INFO] [stderr]    Compiling serde v0.9.15
[INFO] [stderr]    Compiling dtoa v0.4.8
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling xml-rs v0.7.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling itoa v0.3.4
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling phf_shared v0.7.24
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling phf v0.7.24
[INFO] [stderr]    Compiling libloading v0.6.7
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling token_store v0.1.2
[INFO] [stderr]    Compiling bitflags v0.9.1
[INFO] [stderr]    Compiling dlib v0.4.2
[INFO] [stderr]    Compiling khronos_api v2.2.0
[INFO] [stderr]    Compiling wayland-sys v0.12.5
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling xml-rs v0.6.1
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling wayland-scanner v0.12.5
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling wayland-client v0.12.5
[INFO] [stderr]    Compiling phf_generator v0.7.24
[INFO] [stderr]    Compiling wayland-protocols v0.12.5
[INFO] [stderr]    Compiling phf_codegen v0.7.24
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling wayland-scanner v0.9.10
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]    Compiling target_build_utils v0.3.1
[INFO] [stderr]    Compiling memmap v0.6.2
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling gl_generator v0.7.0
[INFO] [stderr]    Compiling wayland-client v0.9.10
[INFO] [stderr]    Compiling gimli v0.32.3
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling xml-rs v0.8.28
[INFO] [stderr]    Compiling serde_json v0.9.10
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling gl_generator v0.10.0
[INFO] [stderr]    Compiling wayland-kbd v0.13.1
[INFO] [stderr]    Compiling glutin v0.11.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling shared_library v0.1.9
[INFO] [stderr]    Compiling addr2line v0.25.1
[INFO] [stderr]    Compiling rustc-demangle v0.1.26
[INFO] [stderr]    Compiling wayland-window v0.13.3
[INFO] [stderr]    Compiling osmesa-sys v0.1.2
[INFO] [stderr]    Compiling mallumo-gls v0.43.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling winit v0.9.0
[INFO] [stderr]    Compiling error-chain v0.11.0
[INFO] [stderr]    Compiling libloading v0.3.4
[INFO] [stderr]    Compiling dlib v0.3.1
[INFO] [stderr]    Compiling wayland-sys v0.9.10
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/raw/mod.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[cfg_attr(feature = "cargo-clippy", allow(clippy))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/framebuffer/framebuffer.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn set_state(&mut self, FramebufferState);
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: FramebufferState`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/framebuffer/framebuffer.rs:287:72
[INFO] [stdout]     |
[INFO] [stdout] 287 |                     .chain_err(|| "Could not attach stencil texture")?;;
[INFO] [stdout]     |                                                                        ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/framebuffer/framebuffer.rs:293:75
[INFO] [stdout]     |
[INFO] [stdout] 293 |                 ).chain_err(|| "Could not attach depth stencil texture")?;;
[INFO] [stdout]     |                                                                           ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/raw/shader.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/raw/shader.rs:81:39
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/raw/program.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/raw/program.rs:45:39
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/raw/shader_program.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/raw/shader_program.rs:85:39
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/raw/get.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/raw/get.rs:25:39
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/mallumo-gls-ac7d660afe6bf24b/out/bindings.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 |         fn metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |         fn metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]   |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framebuffer/mod.rs:65:27
[INFO] [stdout]    |
[INFO] [stdout] 65 |     AttachTexture(&'a mut Texture),
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 65 |     AttachTexture(&'a mut dyn Texture),
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framebuffer/mod.rs:67:26
[INFO] [stdout]    |
[INFO] [stdout] 67 |         texture: &'a mut Texture,
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 67 |         texture: &'a mut dyn Texture,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub buffer: &'a Buffer,
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub buffer: &'a dyn Buffer,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |         indirect: &'a Buffer,
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |         indirect: &'a dyn Buffer,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:38:23
[INFO] [stdout]    |
[INFO] [stdout] 38 |         indirect: &'a Buffer,
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |         indirect: &'a dyn Buffer,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |         indices: &'a Buffer,
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 43 |         indices: &'a dyn Buffer,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:44:23
[INFO] [stdout]    |
[INFO] [stdout] 44 |         indirect: &'a Buffer,
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |         indirect: &'a dyn Buffer,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:59:30
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub pipeline: Option<&'a Pipeline>,
[INFO] [stdout]    |                              ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub pipeline: Option<&'a dyn Pipeline>,
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub images: Vec<(&'a Texture, usize, usize, ImageInternalFormat)>,
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub images: Vec<(&'a dyn Texture, usize, usize, ImageInternalFormat)>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:66:31
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub images_read: Vec<(&'a Texture, usize, usize, ImageInternalFormat)>,
[INFO] [stdout]    |                               ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub images_read: Vec<(&'a dyn Texture, usize, usize, ImageInternalFormat)>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:67:32
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub images_write: Vec<(&'a Texture, usize, usize, ImageInternalFormat)>,
[INFO] [stdout]    |                                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub images_write: Vec<(&'a dyn Texture, usize, usize, ImageInternalFormat)>,
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:80:33
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub storages_read: Vec<(&'a Buffer, usize)>,
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub storages_read: Vec<(&'a dyn Buffer, usize)>,
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:82:39
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub storage_range_reads: Vec<(&'a Buffer, usize, usize, usize)>,
[INFO] [stdout]    |                                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub storage_range_reads: Vec<(&'a dyn Buffer, usize, usize, usize)>,
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:85:35
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub uniform_buffers: Vec<(&'a Buffer, usize)>,
[INFO] [stdout]    |                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub uniform_buffers: Vec<(&'a dyn Buffer, usize)>,
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:86:34
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub uniform_ranges: Vec<(&'a Buffer, usize, usize, usize)>,
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub uniform_ranges: Vec<(&'a dyn Buffer, usize, usize, usize)>,
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:94:33
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn arrays(pipeline: &'a Pipeline, first: usize, count: usize) -> DrawCommand<'a> {
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn arrays(pipeline: &'a dyn Pipeline, first: usize, count: usize) -> DrawCommand<'a> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:134:42
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn arrays_indirect(pipeline: &'a Pipeline, indirect: &'a Buffer, offset: usize) -> DrawCommand<'a> {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn arrays_indirect(pipeline: &'a dyn Pipeline, indirect: &'a Buffer, offset: usize) -> DrawCommand<'a> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:134:66
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn arrays_indirect(pipeline: &'a Pipeline, indirect: &'a Buffer, offset: usize) -> DrawCommand<'a> {
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn arrays_indirect(pipeline: &'a Pipeline, indirect: &'a dyn Buffer, offset: usize) -> DrawCommand<'a> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:175:23
[INFO] [stdout]     |
[INFO] [stdout] 175 |         pipeline: &'a Pipeline,
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 175 |         pipeline: &'a dyn Pipeline,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:224:23
[INFO] [stdout]     |
[INFO] [stdout] 224 |         pipeline: &'a Pipeline,
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 224 |         pipeline: &'a dyn Pipeline,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:273:23
[INFO] [stdout]     |
[INFO] [stdout] 273 |         pipeline: &'a Pipeline,
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 273 |         pipeline: &'a dyn Pipeline,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:274:23
[INFO] [stdout]     |
[INFO] [stdout] 274 |         indirect: &'a Buffer,
[INFO] [stdout]     |                       ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 274 |         indirect: &'a dyn Buffer,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:322:23
[INFO] [stdout]     |
[INFO] [stdout] 322 |         pipeline: &'a Pipeline,
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 322 |         pipeline: &'a dyn Pipeline,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:323:22
[INFO] [stdout]     |
[INFO] [stdout] 323 |         indices: &'a Buffer,
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 323 |         indices: &'a dyn Buffer,
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:324:23
[INFO] [stdout]     |
[INFO] [stdout] 324 |         indirect: &'a Buffer,
[INFO] [stdout]     |                       ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 324 |         indirect: &'a dyn Buffer,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:527:48
[INFO] [stdout]     |
[INFO] [stdout] 527 |     pub fn storage_read(mut self, storage: &'a Buffer, location: usize) -> Self {
[INFO] [stdout]     |                                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 527 |     pub fn storage_read(mut self, storage: &'a dyn Buffer, location: usize) -> Self {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:542:57
[INFO] [stdout]     |
[INFO] [stdout] 542 |     pub fn storage_range_read<T>(mut self, storage: &'a Buffer, location: usize, offset: usize, size: usize) -> Self {
[INFO] [stdout]     |                                                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 542 |     pub fn storage_range_read<T>(mut self, storage: &'a dyn Buffer, location: usize, offset: usize, size: usize) -> Self {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:711:43
[INFO] [stdout]     |
[INFO] [stdout] 711 |     pub fn uniform(mut self, storage: &'a Buffer, location: usize) -> Self {
[INFO] [stdout]     |                                           ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 711 |     pub fn uniform(mut self, storage: &'a dyn Buffer, location: usize) -> Self {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:716:52
[INFO] [stdout]     |
[INFO] [stdout] 716 |     pub fn uniform_range<T>(mut self, storage: &'a Buffer, location: usize, offset: usize, size: usize) -> Self {
[INFO] [stdout]     |                                                    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 716 |     pub fn uniform_range<T>(mut self, storage: &'a dyn Buffer, location: usize, offset: usize, size: usize) -> Self {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `internal_format` is never read
[INFO] [stdout]   --> src/texture/texture_1d.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct Texture1D {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     internal_format: TextureInternalFormat,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Texture1D` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/raw/shader.rs:81:39
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       this code causes undefined behavior when executed
[INFO] [stdout]    |                                       help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/raw/program.rs:45:39
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       this code causes undefined behavior when executed
[INFO] [stdout]    |                                       help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/raw/shader_program.rs:85:39
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       this code causes undefined behavior when executed
[INFO] [stdout]    |                                       help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `VertexAttribArray` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 |         const VertexAttribArray = gl::VERTEX_ATTRIB_ARRAY_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `VERTEX_ATTRIB_ARRAY`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ElementArray` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 |         const ElementArray = gl::ELEMENT_ARRAY_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^ help: convert the identifier to upper case: `ELEMENT_ARRAY`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `UniformBarrier` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 |         const UniformBarrier = gl::UNIFORM_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `UNIFORM_BARRIER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `TextureFetch` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:47:15
[INFO] [stdout]    |
[INFO] [stdout] 47 |         const TextureFetch = gl::TEXTURE_FETCH_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^ help: convert the identifier to upper case: `TEXTURE_FETCH`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ShaderImageAccess` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:49:15
[INFO] [stdout]    |
[INFO] [stdout] 49 |         const ShaderImageAccess = gl::SHADER_IMAGE_ACCESS_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `SHADER_IMAGE_ACCESS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `Command` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:51:15
[INFO] [stdout]    |
[INFO] [stdout] 51 |         const Command = gl::COMMAND_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^ help: convert the identifier to upper case: `COMMAND`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `PixelBuffer` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:53:15
[INFO] [stdout]    |
[INFO] [stdout] 53 |         const PixelBuffer = gl::PIXEL_BUFFER_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^ help: convert the identifier to upper case: `PIXEL_BUFFER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `TextureUpdate` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:55:15
[INFO] [stdout]    |
[INFO] [stdout] 55 |         const TextureUpdate = gl::TEXTURE_UPDATE_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^ help: convert the identifier to upper case: `TEXTURE_UPDATE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `BufferUpdate` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:57:15
[INFO] [stdout]    |
[INFO] [stdout] 57 |         const BufferUpdate = gl::BUFFER_UPDATE_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^ help: convert the identifier to upper case: `BUFFER_UPDATE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `Framebuffer` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:59:15
[INFO] [stdout]    |
[INFO] [stdout] 59 |         const Framebuffer = gl::FRAMEBUFFER_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^ help: convert the identifier to upper case: `FRAMEBUFFER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `TransformFeedback` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:61:15
[INFO] [stdout]    |
[INFO] [stdout] 61 |         const TransformFeedback = gl::TRANSFORM_FEEDBACK_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TRANSFORM_FEEDBACK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `AtomicCounter` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:63:15
[INFO] [stdout]    |
[INFO] [stdout] 63 |         const AtomicCounter = gl::ATOMIC_COUNTER_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^ help: convert the identifier to upper case: `ATOMIC_COUNTER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ShaderStorage` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 |         const ShaderStorage = gl::SHADER_STORAGE_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^ help: convert the identifier to upper case: `SHADER_STORAGE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `QueryBuffer` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:67:15
[INFO] [stdout]    |
[INFO] [stdout] 67 |         const QueryBuffer = gl::QUERY_BUFFER_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^ help: convert the identifier to upper case: `QUERY_BUFFER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `All` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 |         const All = gl::ALL_BARRIER_BITS;
[INFO] [stdout]    |               ^^^ help: convert the identifier to upper case: `ALL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:252:13
[INFO] [stdout]     |
[INFO] [stdout] 252 |             transmute::<f64, u64>(self.near) == transmute::<f64, u64>(other.near)
[INFO] [stdout]     |             ---------------------^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: replace this with: `f64::to_bits`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:252:49
[INFO] [stdout]     |
[INFO] [stdout] 252 |             transmute::<f64, u64>(self.near) == transmute::<f64, u64>(other.near)
[INFO] [stdout]     |                                                 ---------------------^^^^^^^^^^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 help: replace this with: `f64::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:253:20
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 && transmute::<f64, u64>(self.far) == transmute::<f64, u64>(other.far)
[INFO] [stdout]     |                    ---------------------^^^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: replace this with: `f64::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:253:55
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 && transmute::<f64, u64>(self.far) == transmute::<f64, u64>(other.far)
[INFO] [stdout]     |                                                       ---------------------^^^^^^^^^^^
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       help: replace this with: `f64::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:545:13
[INFO] [stdout]     |
[INFO] [stdout] 545 |             transmute::<f32, u32>(self.r) == transmute::<f32, u32>(other.r)
[INFO] [stdout]     |             ---------------------^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:545:46
[INFO] [stdout]     |
[INFO] [stdout] 545 |             transmute::<f32, u32>(self.r) == transmute::<f32, u32>(other.r)
[INFO] [stdout]     |                                              ---------------------^^^^^^^^^
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:546:20
[INFO] [stdout]     |
[INFO] [stdout] 546 |                 && transmute::<f32, u32>(self.g) == transmute::<f32, u32>(other.g)
[INFO] [stdout]     |                    ---------------------^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:546:53
[INFO] [stdout]     |
[INFO] [stdout] 546 |                 && transmute::<f32, u32>(self.g) == transmute::<f32, u32>(other.g)
[INFO] [stdout]     |                                                     ---------------------^^^^^^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:547:20
[INFO] [stdout]     |
[INFO] [stdout] 547 |                 && transmute::<f32, u32>(self.b) == transmute::<f32, u32>(other.b)
[INFO] [stdout]     |                    ---------------------^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:547:53
[INFO] [stdout]     |
[INFO] [stdout] 547 |                 && transmute::<f32, u32>(self.b) == transmute::<f32, u32>(other.b)
[INFO] [stdout]     |                                                     ---------------------^^^^^^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:548:20
[INFO] [stdout]     |
[INFO] [stdout] 548 |                 && transmute::<f32, u32>(self.a) == transmute::<f32, u32>(other.a)
[INFO] [stdout]     |                    ---------------------^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:548:53
[INFO] [stdout]     |
[INFO] [stdout] 548 |                 && transmute::<f32, u32>(self.a) == transmute::<f32, u32>(other.a)
[INFO] [stdout]     |                                                     ---------------------^^^^^^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/raw/get.rs:25:39
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       this code causes undefined behavior when executed
[INFO] [stdout]    |                                       help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/pipeline/pipeline.rs:163:59
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn vertex_shader(mut self, shader: &'a Shader) -> PipelineBuilder {
[INFO] [stdout]     |                                             --            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn vertex_shader(mut self, shader: &'a Shader) -> PipelineBuilder<'a> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/pipeline/pipeline.rs:172:73
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub fn tessellation_control_shader(mut self, shader: &'a Shader) -> PipelineBuilder {
[INFO] [stdout]     |                                                           --            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub fn tessellation_control_shader(mut self, shader: &'a Shader) -> PipelineBuilder<'a> {
[INFO] [stdout]     |                                                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/pipeline/pipeline.rs:181:76
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn tessellation_evaluation_shader(mut self, shader: &'a Shader) -> PipelineBuilder {
[INFO] [stdout]     |                                                              --            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn tessellation_evaluation_shader(mut self, shader: &'a Shader) -> PipelineBuilder<'a> {
[INFO] [stdout]     |                                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/pipeline/pipeline.rs:190:61
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub fn geometry_shader(mut self, shader: &'a Shader) -> PipelineBuilder {
[INFO] [stdout]     |                                               --            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub fn geometry_shader(mut self, shader: &'a Shader) -> PipelineBuilder<'a> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/pipeline/pipeline.rs:199:61
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn fragment_shader(mut self, shader: &'a Shader) -> PipelineBuilder {
[INFO] [stdout]     |                                               --            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn fragment_shader(mut self, shader: &'a Shader) -> PipelineBuilder<'a> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/renderer.rs:375:21
[INFO] [stdout]     |
[INFO] [stdout] 375 |                     bind_buffer(BindBufferTarget::ElementArrayBuffer, indices.get_id());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 375 |                     let _ = bind_buffer(BindBufferTarget::ElementArrayBuffer, indices.get_id());
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 53.89s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: glutin v0.11.0, winit v0.9.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "a432f34b43aedccb3e91b04694a17cf02c5c39cc2e65583b231e4f27e469954e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a432f34b43aedccb3e91b04694a17cf02c5c39cc2e65583b231e4f27e469954e", kill_on_drop: false }`
[INFO] [stdout] a432f34b43aedccb3e91b04694a17cf02c5c39cc2e65583b231e4f27e469954e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f2e2e051f9d7628b3b27e49463b5993f51b54215dd299aaad81c9299d1acc7c6
[INFO] running `Command { std: "docker" "start" "-a" "f2e2e051f9d7628b3b27e49463b5993f51b54215dd299aaad81c9299d1acc7c6", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/raw/mod.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[cfg_attr(feature = "cargo-clippy", allow(clippy))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/framebuffer/framebuffer.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn set_state(&mut self, FramebufferState);
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: FramebufferState`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/framebuffer/framebuffer.rs:287:72
[INFO] [stdout]     |
[INFO] [stdout] 287 |                     .chain_err(|| "Could not attach stencil texture")?;;
[INFO] [stdout]     |                                                                        ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/framebuffer/framebuffer.rs:293:75
[INFO] [stdout]     |
[INFO] [stdout] 293 |                 ).chain_err(|| "Could not attach depth stencil texture")?;;
[INFO] [stdout]     |                                                                           ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/raw/shader.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/raw/shader.rs:81:39
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/raw/program.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/raw/program.rs:45:39
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/raw/shader_program.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/raw/shader_program.rs:85:39
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/raw/get.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/raw/get.rs:25:39
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/mallumo-gls-ac7d660afe6bf24b/out/bindings.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 |         fn metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |         fn metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]   |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framebuffer/mod.rs:65:27
[INFO] [stdout]    |
[INFO] [stdout] 65 |     AttachTexture(&'a mut Texture),
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 65 |     AttachTexture(&'a mut dyn Texture),
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framebuffer/mod.rs:67:26
[INFO] [stdout]    |
[INFO] [stdout] 67 |         texture: &'a mut Texture,
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 67 |         texture: &'a mut dyn Texture,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub buffer: &'a Buffer,
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub buffer: &'a dyn Buffer,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |         indirect: &'a Buffer,
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |         indirect: &'a dyn Buffer,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:38:23
[INFO] [stdout]    |
[INFO] [stdout] 38 |         indirect: &'a Buffer,
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |         indirect: &'a dyn Buffer,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |         indices: &'a Buffer,
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 43 |         indices: &'a dyn Buffer,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:44:23
[INFO] [stdout]    |
[INFO] [stdout] 44 |         indirect: &'a Buffer,
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |         indirect: &'a dyn Buffer,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:59:30
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub pipeline: Option<&'a Pipeline>,
[INFO] [stdout]    |                              ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub pipeline: Option<&'a dyn Pipeline>,
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub images: Vec<(&'a Texture, usize, usize, ImageInternalFormat)>,
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub images: Vec<(&'a dyn Texture, usize, usize, ImageInternalFormat)>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:66:31
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub images_read: Vec<(&'a Texture, usize, usize, ImageInternalFormat)>,
[INFO] [stdout]    |                               ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub images_read: Vec<(&'a dyn Texture, usize, usize, ImageInternalFormat)>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:67:32
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub images_write: Vec<(&'a Texture, usize, usize, ImageInternalFormat)>,
[INFO] [stdout]    |                                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub images_write: Vec<(&'a dyn Texture, usize, usize, ImageInternalFormat)>,
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:80:33
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub storages_read: Vec<(&'a Buffer, usize)>,
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub storages_read: Vec<(&'a dyn Buffer, usize)>,
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:82:39
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub storage_range_reads: Vec<(&'a Buffer, usize, usize, usize)>,
[INFO] [stdout]    |                                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub storage_range_reads: Vec<(&'a dyn Buffer, usize, usize, usize)>,
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:85:35
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub uniform_buffers: Vec<(&'a Buffer, usize)>,
[INFO] [stdout]    |                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub uniform_buffers: Vec<(&'a dyn Buffer, usize)>,
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:86:34
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub uniform_ranges: Vec<(&'a Buffer, usize, usize, usize)>,
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub uniform_ranges: Vec<(&'a dyn Buffer, usize, usize, usize)>,
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:94:33
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn arrays(pipeline: &'a Pipeline, first: usize, count: usize) -> DrawCommand<'a> {
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn arrays(pipeline: &'a dyn Pipeline, first: usize, count: usize) -> DrawCommand<'a> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:134:42
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn arrays_indirect(pipeline: &'a Pipeline, indirect: &'a Buffer, offset: usize) -> DrawCommand<'a> {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn arrays_indirect(pipeline: &'a dyn Pipeline, indirect: &'a Buffer, offset: usize) -> DrawCommand<'a> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:134:66
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn arrays_indirect(pipeline: &'a Pipeline, indirect: &'a Buffer, offset: usize) -> DrawCommand<'a> {
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn arrays_indirect(pipeline: &'a Pipeline, indirect: &'a dyn Buffer, offset: usize) -> DrawCommand<'a> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:175:23
[INFO] [stdout]     |
[INFO] [stdout] 175 |         pipeline: &'a Pipeline,
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 175 |         pipeline: &'a dyn Pipeline,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:224:23
[INFO] [stdout]     |
[INFO] [stdout] 224 |         pipeline: &'a Pipeline,
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 224 |         pipeline: &'a dyn Pipeline,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:273:23
[INFO] [stdout]     |
[INFO] [stdout] 273 |         pipeline: &'a Pipeline,
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 273 |         pipeline: &'a dyn Pipeline,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:274:23
[INFO] [stdout]     |
[INFO] [stdout] 274 |         indirect: &'a Buffer,
[INFO] [stdout]     |                       ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 274 |         indirect: &'a dyn Buffer,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:322:23
[INFO] [stdout]     |
[INFO] [stdout] 322 |         pipeline: &'a Pipeline,
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 322 |         pipeline: &'a dyn Pipeline,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:323:22
[INFO] [stdout]     |
[INFO] [stdout] 323 |         indices: &'a Buffer,
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 323 |         indices: &'a dyn Buffer,
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:324:23
[INFO] [stdout]     |
[INFO] [stdout] 324 |         indirect: &'a Buffer,
[INFO] [stdout]     |                       ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 324 |         indirect: &'a dyn Buffer,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:527:48
[INFO] [stdout]     |
[INFO] [stdout] 527 |     pub fn storage_read(mut self, storage: &'a Buffer, location: usize) -> Self {
[INFO] [stdout]     |                                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 527 |     pub fn storage_read(mut self, storage: &'a dyn Buffer, location: usize) -> Self {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:542:57
[INFO] [stdout]     |
[INFO] [stdout] 542 |     pub fn storage_range_read<T>(mut self, storage: &'a Buffer, location: usize, offset: usize, size: usize) -> Self {
[INFO] [stdout]     |                                                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 542 |     pub fn storage_range_read<T>(mut self, storage: &'a dyn Buffer, location: usize, offset: usize, size: usize) -> Self {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:711:43
[INFO] [stdout]     |
[INFO] [stdout] 711 |     pub fn uniform(mut self, storage: &'a Buffer, location: usize) -> Self {
[INFO] [stdout]     |                                           ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 711 |     pub fn uniform(mut self, storage: &'a dyn Buffer, location: usize) -> Self {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:716:52
[INFO] [stdout]     |
[INFO] [stdout] 716 |     pub fn uniform_range<T>(mut self, storage: &'a Buffer, location: usize, offset: usize, size: usize) -> Self {
[INFO] [stdout]     |                                                    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 716 |     pub fn uniform_range<T>(mut self, storage: &'a dyn Buffer, location: usize, offset: usize, size: usize) -> Self {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `internal_format` is never read
[INFO] [stdout]   --> src/texture/texture_1d.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct Texture1D {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     internal_format: TextureInternalFormat,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Texture1D` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/raw/shader.rs:81:39
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       this code causes undefined behavior when executed
[INFO] [stdout]    |                                       help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/raw/program.rs:45:39
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       this code causes undefined behavior when executed
[INFO] [stdout]    |                                       help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/raw/shader_program.rs:85:39
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       this code causes undefined behavior when executed
[INFO] [stdout]    |                                       help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `VertexAttribArray` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 |         const VertexAttribArray = gl::VERTEX_ATTRIB_ARRAY_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `VERTEX_ATTRIB_ARRAY`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ElementArray` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 |         const ElementArray = gl::ELEMENT_ARRAY_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^ help: convert the identifier to upper case: `ELEMENT_ARRAY`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `UniformBarrier` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 |         const UniformBarrier = gl::UNIFORM_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `UNIFORM_BARRIER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `TextureFetch` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:47:15
[INFO] [stdout]    |
[INFO] [stdout] 47 |         const TextureFetch = gl::TEXTURE_FETCH_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^ help: convert the identifier to upper case: `TEXTURE_FETCH`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ShaderImageAccess` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:49:15
[INFO] [stdout]    |
[INFO] [stdout] 49 |         const ShaderImageAccess = gl::SHADER_IMAGE_ACCESS_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `SHADER_IMAGE_ACCESS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `Command` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:51:15
[INFO] [stdout]    |
[INFO] [stdout] 51 |         const Command = gl::COMMAND_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^ help: convert the identifier to upper case: `COMMAND`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `PixelBuffer` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:53:15
[INFO] [stdout]    |
[INFO] [stdout] 53 |         const PixelBuffer = gl::PIXEL_BUFFER_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^ help: convert the identifier to upper case: `PIXEL_BUFFER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `TextureUpdate` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:55:15
[INFO] [stdout]    |
[INFO] [stdout] 55 |         const TextureUpdate = gl::TEXTURE_UPDATE_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^ help: convert the identifier to upper case: `TEXTURE_UPDATE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `BufferUpdate` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:57:15
[INFO] [stdout]    |
[INFO] [stdout] 57 |         const BufferUpdate = gl::BUFFER_UPDATE_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^ help: convert the identifier to upper case: `BUFFER_UPDATE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `Framebuffer` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:59:15
[INFO] [stdout]    |
[INFO] [stdout] 59 |         const Framebuffer = gl::FRAMEBUFFER_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^ help: convert the identifier to upper case: `FRAMEBUFFER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `TransformFeedback` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:61:15
[INFO] [stdout]    |
[INFO] [stdout] 61 |         const TransformFeedback = gl::TRANSFORM_FEEDBACK_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TRANSFORM_FEEDBACK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `AtomicCounter` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:63:15
[INFO] [stdout]    |
[INFO] [stdout] 63 |         const AtomicCounter = gl::ATOMIC_COUNTER_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^ help: convert the identifier to upper case: `ATOMIC_COUNTER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ShaderStorage` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 |         const ShaderStorage = gl::SHADER_STORAGE_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^ help: convert the identifier to upper case: `SHADER_STORAGE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `QueryBuffer` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:67:15
[INFO] [stdout]    |
[INFO] [stdout] 67 |         const QueryBuffer = gl::QUERY_BUFFER_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^ help: convert the identifier to upper case: `QUERY_BUFFER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `All` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 |         const All = gl::ALL_BARRIER_BITS;
[INFO] [stdout]    |               ^^^ help: convert the identifier to upper case: `ALL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:252:13
[INFO] [stdout]     |
[INFO] [stdout] 252 |             transmute::<f64, u64>(self.near) == transmute::<f64, u64>(other.near)
[INFO] [stdout]     |             ---------------------^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: replace this with: `f64::to_bits`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:252:49
[INFO] [stdout]     |
[INFO] [stdout] 252 |             transmute::<f64, u64>(self.near) == transmute::<f64, u64>(other.near)
[INFO] [stdout]     |                                                 ---------------------^^^^^^^^^^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 help: replace this with: `f64::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:253:20
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 && transmute::<f64, u64>(self.far) == transmute::<f64, u64>(other.far)
[INFO] [stdout]     |                    ---------------------^^^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: replace this with: `f64::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:253:55
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 && transmute::<f64, u64>(self.far) == transmute::<f64, u64>(other.far)
[INFO] [stdout]     |                                                       ---------------------^^^^^^^^^^^
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       help: replace this with: `f64::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:545:13
[INFO] [stdout]     |
[INFO] [stdout] 545 |             transmute::<f32, u32>(self.r) == transmute::<f32, u32>(other.r)
[INFO] [stdout]     |             ---------------------^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:545:46
[INFO] [stdout]     |
[INFO] [stdout] 545 |             transmute::<f32, u32>(self.r) == transmute::<f32, u32>(other.r)
[INFO] [stdout]     |                                              ---------------------^^^^^^^^^
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:546:20
[INFO] [stdout]     |
[INFO] [stdout] 546 |                 && transmute::<f32, u32>(self.g) == transmute::<f32, u32>(other.g)
[INFO] [stdout]     |                    ---------------------^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:546:53
[INFO] [stdout]     |
[INFO] [stdout] 546 |                 && transmute::<f32, u32>(self.g) == transmute::<f32, u32>(other.g)
[INFO] [stdout]     |                                                     ---------------------^^^^^^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:547:20
[INFO] [stdout]     |
[INFO] [stdout] 547 |                 && transmute::<f32, u32>(self.b) == transmute::<f32, u32>(other.b)
[INFO] [stdout]     |                    ---------------------^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:547:53
[INFO] [stdout]     |
[INFO] [stdout] 547 |                 && transmute::<f32, u32>(self.b) == transmute::<f32, u32>(other.b)
[INFO] [stdout]     |                                                     ---------------------^^^^^^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:548:20
[INFO] [stdout]     |
[INFO] [stdout] 548 |                 && transmute::<f32, u32>(self.a) == transmute::<f32, u32>(other.a)
[INFO] [stdout]     |                    ---------------------^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:548:53
[INFO] [stdout]     |
[INFO] [stdout] 548 |                 && transmute::<f32, u32>(self.a) == transmute::<f32, u32>(other.a)
[INFO] [stdout]     |                                                     ---------------------^^^^^^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/raw/get.rs:25:39
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       this code causes undefined behavior when executed
[INFO] [stdout]    |                                       help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/pipeline/pipeline.rs:163:59
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn vertex_shader(mut self, shader: &'a Shader) -> PipelineBuilder {
[INFO] [stdout]     |                                             --            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn vertex_shader(mut self, shader: &'a Shader) -> PipelineBuilder<'a> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/pipeline/pipeline.rs:172:73
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub fn tessellation_control_shader(mut self, shader: &'a Shader) -> PipelineBuilder {
[INFO] [stdout]     |                                                           --            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub fn tessellation_control_shader(mut self, shader: &'a Shader) -> PipelineBuilder<'a> {
[INFO] [stdout]     |                                                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/pipeline/pipeline.rs:181:76
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn tessellation_evaluation_shader(mut self, shader: &'a Shader) -> PipelineBuilder {
[INFO] [stdout]     |                                                              --            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn tessellation_evaluation_shader(mut self, shader: &'a Shader) -> PipelineBuilder<'a> {
[INFO] [stdout]     |                                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling mallumo-gls v0.43.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/pipeline/pipeline.rs:190:61
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub fn geometry_shader(mut self, shader: &'a Shader) -> PipelineBuilder {
[INFO] [stdout]     |                                               --            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub fn geometry_shader(mut self, shader: &'a Shader) -> PipelineBuilder<'a> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/pipeline/pipeline.rs:199:61
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn fragment_shader(mut self, shader: &'a Shader) -> PipelineBuilder {
[INFO] [stdout]     |                                               --            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn fragment_shader(mut self, shader: &'a Shader) -> PipelineBuilder<'a> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/renderer.rs:375:21
[INFO] [stdout]     |
[INFO] [stdout] 375 |                     bind_buffer(BindBufferTarget::ElementArrayBuffer, indices.get_id());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 375 |                     let _ = bind_buffer(BindBufferTarget::ElementArrayBuffer, indices.get_id());
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> examples/window.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32`
[INFO] [stdout]   --> examples/window.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::f32;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> examples/window.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufReader`
[INFO] [stdout]   --> examples/window.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::io::BufReader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32`
[INFO] [stdout]   --> examples/triangle.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::f32;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> examples/triangle.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufReader`
[INFO] [stdout]   --> examples/triangle.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::io::BufReader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/window.rs:41:38
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let mut renderer = Renderer::new(&gl_window).chain_err(|| "Unable to create window")?;
[INFO] [stdout]    |                        ------------- ^^^^^^^^^^ expected `&Context`, found `&GlWindow`
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&glutin::Context`
[INFO] [stdout]               found reference `&GlWindow`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/renderer.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn new(context: &glutin::Context) -> Result<Renderer> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `make_current` found for struct `mallumo_gls::Renderer` in the current scope
[INFO] [stdout]   --> examples/window.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | /     renderer
[INFO] [stdout] 43 | |         .make_current()
[INFO] [stdout]    | |         -^^^^^^^^^^^^ method not found in `mallumo_gls::Renderer`
[INFO] [stdout]    | |_________|
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mut_default_framebuffer` found for struct `mallumo_gls::Renderer` in the current scope
[INFO] [stdout]   --> examples/window.rs:46:14
[INFO] [stdout]    |
[INFO] [stdout] 46 |     renderer.mut_default_framebuffer().set_viewport(Viewport {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `get_mut_default_framebuffer` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 46 |     renderer.get_mut_default_framebuffer().set_viewport(Viewport {
[INFO] [stdout]    |              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/window.rs:49:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |         width: width,
[INFO] [stdout]    |                ^^^^^ expected `usize`, found `u32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/window.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |         height: height,
[INFO] [stdout]    |                 ^^^^^^ expected `usize`, found `u32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mut_default_framebuffer` found for struct `mallumo_gls::Renderer` in the current scope
[INFO] [stdout]   --> examples/window.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 52 | /     renderer
[INFO] [stdout] 53 | |         .mut_default_framebuffer()
[INFO] [stdout]    | |_________-^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `get_mut_default_framebuffer` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 53 |         .get_mut_default_framebuffer()
[INFO] [stdout]    |          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `swap_buffers` found for struct `mallumo_gls::Renderer` in the current scope
[INFO] [stdout]   --> examples/window.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 |         renderer.swap_buffers();
[INFO] [stdout]    |                  ^^^^^^^^^^^^ method not found in `mallumo_gls::Renderer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/triangle.rs:41:38
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let mut renderer = Renderer::new(&gl_window).chain_err(|| "Unable to create window")?;
[INFO] [stdout]    |                        ------------- ^^^^^^^^^^ expected `&Context`, found `&GlWindow`
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&glutin::Context`
[INFO] [stdout]               found reference `&GlWindow`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/renderer.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn new(context: &glutin::Context) -> Result<Renderer> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mallumo-gls` (example "window") due to 7 previous errors; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0599]: no method named `make_current` found for struct `mallumo_gls::Renderer` in the current scope
[INFO] [stdout]   --> examples/triangle.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | /     renderer
[INFO] [stdout] 43 | |         .make_current()
[INFO] [stdout]    | |         -^^^^^^^^^^^^ method not found in `mallumo_gls::Renderer`
[INFO] [stdout]    | |_________|
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mut_default_framebuffer` found for struct `mallumo_gls::Renderer` in the current scope
[INFO] [stdout]   --> examples/triangle.rs:57:14
[INFO] [stdout]    |
[INFO] [stdout] 57 |     renderer.mut_default_framebuffer().set_viewport(Viewport {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `get_mut_default_framebuffer` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 57 |     renderer.get_mut_default_framebuffer().set_viewport(Viewport {
[INFO] [stdout]    |              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/triangle.rs:60:16
[INFO] [stdout]    |
[INFO] [stdout] 60 |         width: width,
[INFO] [stdout]    |                ^^^^^ expected `usize`, found `u32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/triangle.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |         height: height,
[INFO] [stdout]    |                 ^^^^^^ expected `usize`, found `u32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `draw_arrays` found for struct `mallumo_gls::Renderer` in the current scope
[INFO] [stdout]   --> examples/triangle.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 |         renderer.draw_arrays(
[INFO] [stdout]    |         ---------^^^^^^^^^^^ method not found in `mallumo_gls::Renderer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `swap_buffers` found for struct `mallumo_gls::Renderer` in the current scope
[INFO] [stdout]   --> examples/triangle.rs:82:18
[INFO] [stdout]    |
[INFO] [stdout] 82 |         renderer.swap_buffers();
[INFO] [stdout]    |                  ^^^^^^^^^^^^ method not found in `mallumo_gls::Renderer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mallumo-gls` (example "triangle") due to 7 previous errors; 3 warnings emitted
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/raw/mod.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[cfg_attr(feature = "cargo-clippy", allow(clippy))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/framebuffer/framebuffer.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn set_state(&mut self, FramebufferState);
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: FramebufferState`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/framebuffer/framebuffer.rs:287:72
[INFO] [stdout]     |
[INFO] [stdout] 287 |                     .chain_err(|| "Could not attach stencil texture")?;;
[INFO] [stdout]     |                                                                        ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/framebuffer/framebuffer.rs:293:75
[INFO] [stdout]     |
[INFO] [stdout] 293 |                 ).chain_err(|| "Could not attach depth stencil texture")?;;
[INFO] [stdout]     |                                                                           ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/raw/shader.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/raw/shader.rs:81:39
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/raw/program.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/raw/program.rs:45:39
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/raw/shader_program.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/raw/shader_program.rs:85:39
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/raw/get.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/raw/get.rs:25:39
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/mallumo-gls-ac7d660afe6bf24b/out/bindings.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 |         fn metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |         fn metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]   |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framebuffer/mod.rs:65:27
[INFO] [stdout]    |
[INFO] [stdout] 65 |     AttachTexture(&'a mut Texture),
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 65 |     AttachTexture(&'a mut dyn Texture),
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framebuffer/mod.rs:67:26
[INFO] [stdout]    |
[INFO] [stdout] 67 |         texture: &'a mut Texture,
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 67 |         texture: &'a mut dyn Texture,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub buffer: &'a Buffer,
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub buffer: &'a dyn Buffer,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |         indirect: &'a Buffer,
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |         indirect: &'a dyn Buffer,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:38:23
[INFO] [stdout]    |
[INFO] [stdout] 38 |         indirect: &'a Buffer,
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |         indirect: &'a dyn Buffer,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |         indices: &'a Buffer,
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 43 |         indices: &'a dyn Buffer,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:44:23
[INFO] [stdout]    |
[INFO] [stdout] 44 |         indirect: &'a Buffer,
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |         indirect: &'a dyn Buffer,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:59:30
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub pipeline: Option<&'a Pipeline>,
[INFO] [stdout]    |                              ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub pipeline: Option<&'a dyn Pipeline>,
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub images: Vec<(&'a Texture, usize, usize, ImageInternalFormat)>,
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub images: Vec<(&'a dyn Texture, usize, usize, ImageInternalFormat)>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:66:31
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub images_read: Vec<(&'a Texture, usize, usize, ImageInternalFormat)>,
[INFO] [stdout]    |                               ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub images_read: Vec<(&'a dyn Texture, usize, usize, ImageInternalFormat)>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:67:32
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub images_write: Vec<(&'a Texture, usize, usize, ImageInternalFormat)>,
[INFO] [stdout]    |                                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub images_write: Vec<(&'a dyn Texture, usize, usize, ImageInternalFormat)>,
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:80:33
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub storages_read: Vec<(&'a Buffer, usize)>,
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub storages_read: Vec<(&'a dyn Buffer, usize)>,
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:82:39
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub storage_range_reads: Vec<(&'a Buffer, usize, usize, usize)>,
[INFO] [stdout]    |                                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub storage_range_reads: Vec<(&'a dyn Buffer, usize, usize, usize)>,
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:85:35
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub uniform_buffers: Vec<(&'a Buffer, usize)>,
[INFO] [stdout]    |                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub uniform_buffers: Vec<(&'a dyn Buffer, usize)>,
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:86:34
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub uniform_ranges: Vec<(&'a Buffer, usize, usize, usize)>,
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub uniform_ranges: Vec<(&'a dyn Buffer, usize, usize, usize)>,
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/draw.rs:94:33
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn arrays(pipeline: &'a Pipeline, first: usize, count: usize) -> DrawCommand<'a> {
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn arrays(pipeline: &'a dyn Pipeline, first: usize, count: usize) -> DrawCommand<'a> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:134:42
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn arrays_indirect(pipeline: &'a Pipeline, indirect: &'a Buffer, offset: usize) -> DrawCommand<'a> {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn arrays_indirect(pipeline: &'a dyn Pipeline, indirect: &'a Buffer, offset: usize) -> DrawCommand<'a> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:134:66
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn arrays_indirect(pipeline: &'a Pipeline, indirect: &'a Buffer, offset: usize) -> DrawCommand<'a> {
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn arrays_indirect(pipeline: &'a Pipeline, indirect: &'a dyn Buffer, offset: usize) -> DrawCommand<'a> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:175:23
[INFO] [stdout]     |
[INFO] [stdout] 175 |         pipeline: &'a Pipeline,
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 175 |         pipeline: &'a dyn Pipeline,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:224:23
[INFO] [stdout]     |
[INFO] [stdout] 224 |         pipeline: &'a Pipeline,
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 224 |         pipeline: &'a dyn Pipeline,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:273:23
[INFO] [stdout]     |
[INFO] [stdout] 273 |         pipeline: &'a Pipeline,
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 273 |         pipeline: &'a dyn Pipeline,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:274:23
[INFO] [stdout]     |
[INFO] [stdout] 274 |         indirect: &'a Buffer,
[INFO] [stdout]     |                       ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 274 |         indirect: &'a dyn Buffer,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:322:23
[INFO] [stdout]     |
[INFO] [stdout] 322 |         pipeline: &'a Pipeline,
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 322 |         pipeline: &'a dyn Pipeline,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:323:22
[INFO] [stdout]     |
[INFO] [stdout] 323 |         indices: &'a Buffer,
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 323 |         indices: &'a dyn Buffer,
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:324:23
[INFO] [stdout]     |
[INFO] [stdout] 324 |         indirect: &'a Buffer,
[INFO] [stdout]     |                       ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 324 |         indirect: &'a dyn Buffer,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:527:48
[INFO] [stdout]     |
[INFO] [stdout] 527 |     pub fn storage_read(mut self, storage: &'a Buffer, location: usize) -> Self {
[INFO] [stdout]     |                                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 527 |     pub fn storage_read(mut self, storage: &'a dyn Buffer, location: usize) -> Self {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:542:57
[INFO] [stdout]     |
[INFO] [stdout] 542 |     pub fn storage_range_read<T>(mut self, storage: &'a Buffer, location: usize, offset: usize, size: usize) -> Self {
[INFO] [stdout]     |                                                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 542 |     pub fn storage_range_read<T>(mut self, storage: &'a dyn Buffer, location: usize, offset: usize, size: usize) -> Self {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:711:43
[INFO] [stdout]     |
[INFO] [stdout] 711 |     pub fn uniform(mut self, storage: &'a Buffer, location: usize) -> Self {
[INFO] [stdout]     |                                           ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 711 |     pub fn uniform(mut self, storage: &'a dyn Buffer, location: usize) -> Self {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/draw.rs:716:52
[INFO] [stdout]     |
[INFO] [stdout] 716 |     pub fn uniform_range<T>(mut self, storage: &'a Buffer, location: usize, offset: usize, size: usize) -> Self {
[INFO] [stdout]     |                                                    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 716 |     pub fn uniform_range<T>(mut self, storage: &'a dyn Buffer, location: usize, offset: usize, size: usize) -> Self {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `internal_format` is never read
[INFO] [stdout]   --> src/texture/texture_1d.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct Texture1D {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     internal_format: TextureInternalFormat,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Texture1D` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/raw/shader.rs:81:39
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       this code causes undefined behavior when executed
[INFO] [stdout]    |                                       help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/raw/program.rs:45:39
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       this code causes undefined behavior when executed
[INFO] [stdout]    |                                       help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/raw/shader_program.rs:85:39
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       this code causes undefined behavior when executed
[INFO] [stdout]    |                                       help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `VertexAttribArray` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 |         const VertexAttribArray = gl::VERTEX_ATTRIB_ARRAY_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `VERTEX_ATTRIB_ARRAY`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ElementArray` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 |         const ElementArray = gl::ELEMENT_ARRAY_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^ help: convert the identifier to upper case: `ELEMENT_ARRAY`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `UniformBarrier` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 |         const UniformBarrier = gl::UNIFORM_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `UNIFORM_BARRIER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `TextureFetch` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:47:15
[INFO] [stdout]    |
[INFO] [stdout] 47 |         const TextureFetch = gl::TEXTURE_FETCH_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^ help: convert the identifier to upper case: `TEXTURE_FETCH`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ShaderImageAccess` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:49:15
[INFO] [stdout]    |
[INFO] [stdout] 49 |         const ShaderImageAccess = gl::SHADER_IMAGE_ACCESS_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `SHADER_IMAGE_ACCESS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `Command` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:51:15
[INFO] [stdout]    |
[INFO] [stdout] 51 |         const Command = gl::COMMAND_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^ help: convert the identifier to upper case: `COMMAND`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `PixelBuffer` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:53:15
[INFO] [stdout]    |
[INFO] [stdout] 53 |         const PixelBuffer = gl::PIXEL_BUFFER_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^ help: convert the identifier to upper case: `PIXEL_BUFFER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `TextureUpdate` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:55:15
[INFO] [stdout]    |
[INFO] [stdout] 55 |         const TextureUpdate = gl::TEXTURE_UPDATE_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^ help: convert the identifier to upper case: `TEXTURE_UPDATE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `BufferUpdate` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:57:15
[INFO] [stdout]    |
[INFO] [stdout] 57 |         const BufferUpdate = gl::BUFFER_UPDATE_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^ help: convert the identifier to upper case: `BUFFER_UPDATE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `Framebuffer` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:59:15
[INFO] [stdout]    |
[INFO] [stdout] 59 |         const Framebuffer = gl::FRAMEBUFFER_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^ help: convert the identifier to upper case: `FRAMEBUFFER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `TransformFeedback` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:61:15
[INFO] [stdout]    |
[INFO] [stdout] 61 |         const TransformFeedback = gl::TRANSFORM_FEEDBACK_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TRANSFORM_FEEDBACK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `AtomicCounter` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:63:15
[INFO] [stdout]    |
[INFO] [stdout] 63 |         const AtomicCounter = gl::ATOMIC_COUNTER_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^ help: convert the identifier to upper case: `ATOMIC_COUNTER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ShaderStorage` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 |         const ShaderStorage = gl::SHADER_STORAGE_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^^^ help: convert the identifier to upper case: `SHADER_STORAGE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `QueryBuffer` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:67:15
[INFO] [stdout]    |
[INFO] [stdout] 67 |         const QueryBuffer = gl::QUERY_BUFFER_BARRIER_BIT;
[INFO] [stdout]    |               ^^^^^^^^^^^ help: convert the identifier to upper case: `QUERY_BUFFER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `All` should have an upper case name
[INFO] [stdout]   --> src/raw/sync.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 |         const All = gl::ALL_BARRIER_BITS;
[INFO] [stdout]    |               ^^^ help: convert the identifier to upper case: `ALL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:252:13
[INFO] [stdout]     |
[INFO] [stdout] 252 |             transmute::<f64, u64>(self.near) == transmute::<f64, u64>(other.near)
[INFO] [stdout]     |             ---------------------^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: replace this with: `f64::to_bits`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:252:49
[INFO] [stdout]     |
[INFO] [stdout] 252 |             transmute::<f64, u64>(self.near) == transmute::<f64, u64>(other.near)
[INFO] [stdout]     |                                                 ---------------------^^^^^^^^^^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 help: replace this with: `f64::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:253:20
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 && transmute::<f64, u64>(self.far) == transmute::<f64, u64>(other.far)
[INFO] [stdout]     |                    ---------------------^^^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: replace this with: `f64::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:253:55
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 && transmute::<f64, u64>(self.far) == transmute::<f64, u64>(other.far)
[INFO] [stdout]     |                                                       ---------------------^^^^^^^^^^^
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       help: replace this with: `f64::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:545:13
[INFO] [stdout]     |
[INFO] [stdout] 545 |             transmute::<f32, u32>(self.r) == transmute::<f32, u32>(other.r)
[INFO] [stdout]     |             ---------------------^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:545:46
[INFO] [stdout]     |
[INFO] [stdout] 545 |             transmute::<f32, u32>(self.r) == transmute::<f32, u32>(other.r)
[INFO] [stdout]     |                                              ---------------------^^^^^^^^^
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:546:20
[INFO] [stdout]     |
[INFO] [stdout] 546 |                 && transmute::<f32, u32>(self.g) == transmute::<f32, u32>(other.g)
[INFO] [stdout]     |                    ---------------------^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:546:53
[INFO] [stdout]     |
[INFO] [stdout] 546 |                 && transmute::<f32, u32>(self.g) == transmute::<f32, u32>(other.g)
[INFO] [stdout]     |                                                     ---------------------^^^^^^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:547:20
[INFO] [stdout]     |
[INFO] [stdout] 547 |                 && transmute::<f32, u32>(self.b) == transmute::<f32, u32>(other.b)
[INFO] [stdout]     |                    ---------------------^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:547:53
[INFO] [stdout]     |
[INFO] [stdout] 547 |                 && transmute::<f32, u32>(self.b) == transmute::<f32, u32>(other.b)
[INFO] [stdout]     |                                                     ---------------------^^^^^^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:548:20
[INFO] [stdout]     |
[INFO] [stdout] 548 |                 && transmute::<f32, u32>(self.a) == transmute::<f32, u32>(other.a)
[INFO] [stdout]     |                    ---------------------^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/raw/state.rs:548:53
[INFO] [stdout]     |
[INFO] [stdout] 548 |                 && transmute::<f32, u32>(self.a) == transmute::<f32, u32>(other.a)
[INFO] [stdout]     |                                                     ---------------------^^^^^^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     help: replace this with: `f32::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/raw/get.rs:25:39
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut value: gl::types::GLint = uninitialized();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       this code causes undefined behavior when executed
[INFO] [stdout]    |                                       help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/pipeline/pipeline.rs:163:59
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn vertex_shader(mut self, shader: &'a Shader) -> PipelineBuilder {
[INFO] [stdout]     |                                             --            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn vertex_shader(mut self, shader: &'a Shader) -> PipelineBuilder<'a> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/pipeline/pipeline.rs:172:73
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub fn tessellation_control_shader(mut self, shader: &'a Shader) -> PipelineBuilder {
[INFO] [stdout]     |                                                           --            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub fn tessellation_control_shader(mut self, shader: &'a Shader) -> PipelineBuilder<'a> {
[INFO] [stdout]     |                                                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/pipeline/pipeline.rs:181:76
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn tessellation_evaluation_shader(mut self, shader: &'a Shader) -> PipelineBuilder {
[INFO] [stdout]     |                                                              --            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn tessellation_evaluation_shader(mut self, shader: &'a Shader) -> PipelineBuilder<'a> {
[INFO] [stdout]     |                                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/pipeline/pipeline.rs:190:61
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub fn geometry_shader(mut self, shader: &'a Shader) -> PipelineBuilder {
[INFO] [stdout]     |                                               --            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub fn geometry_shader(mut self, shader: &'a Shader) -> PipelineBuilder<'a> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/pipeline/pipeline.rs:199:61
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn fragment_shader(mut self, shader: &'a Shader) -> PipelineBuilder {
[INFO] [stdout]     |                                               --            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn fragment_shader(mut self, shader: &'a Shader) -> PipelineBuilder<'a> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/renderer.rs:375:21
[INFO] [stdout]     |
[INFO] [stdout] 375 |                     bind_buffer(BindBufferTarget::ElementArrayBuffer, indices.get_id());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 375 |                     let _ = bind_buffer(BindBufferTarget::ElementArrayBuffer, indices.get_id());
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f2e2e051f9d7628b3b27e49463b5993f51b54215dd299aaad81c9299d1acc7c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f2e2e051f9d7628b3b27e49463b5993f51b54215dd299aaad81c9299d1acc7c6", kill_on_drop: false }`
[INFO] [stdout] f2e2e051f9d7628b3b27e49463b5993f51b54215dd299aaad81c9299d1acc7c6
