[INFO] fetching crate oxid 0.1.0...
[INFO] testing oxid-0.1.0 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate oxid 0.1.0 into /workspace/builds/worker-4-tc2/source
[INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config
[INFO] started tweaking crates.io crate oxid 0.1.0
[INFO] finished tweaking crates.io crate oxid 0.1.0
[INFO] tweaked toml for crates.io crate oxid 0.1.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate oxid 0.1.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate oxid 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:33:12
[INFO] [stderr]    |
[INFO] [stderr] 33 | homepage = "https://github.com/rellfy/oxid"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 | repository = "https://github.com/rellfy/oxid"
[INFO] [stderr]    |              --------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `oxid` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1717af484a5a0d78b56c21e55d82fabd6065d28131c8f6a4761042b188eadedd
[INFO] running `Command { std: "docker" "start" "1717af484a5a0d78b56c21e55d82fabd6065d28131c8f6a4761042b188eadedd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1717af484a5a0d78b56c21e55d82fabd6065d28131c8f6a4761042b188eadedd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1717af484a5a0d78b56c21e55d82fabd6065d28131c8f6a4761042b188eadedd" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1717af484a5a0d78b56c21e55d82fabd6065d28131c8f6a4761042b188eadedd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1717af484a5a0d78b56c21e55d82fabd6065d28131c8f6a4761042b188eadedd" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:33:12
[INFO] [stderr]    |
[INFO] [stderr] 33 | homepage = "https://github.com/rellfy/oxid"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 | repository = "https://github.com/rellfy/oxid"
[INFO] [stderr]    |              --------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `oxid` (manifest) generated 1 warning
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling libc v0.2.132
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling hashbrown v0.8.2
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling gimli v0.26.2
[INFO] [stderr]    Compiling glam v0.10.2
[INFO] [stderr]    Compiling miniz_oxide v0.5.4
[INFO] [stderr]    Compiling object v0.29.0
[INFO] [stderr]    Compiling deflate v0.7.20
[INFO] [stderr]    Compiling inflate v0.4.5
[INFO] [stderr]    Compiling backtrace v0.3.66
[INFO] [stderr]    Compiling rustc-demangle v0.1.21
[INFO] [stderr]    Compiling png v0.15.3
[INFO] [stderr]    Compiling rwasm_macro v0.1.0
[INFO] [stderr]    Compiling once_cell v1.14.0
[INFO] [stderr]    Compiling ttf-parser v0.8.3
[INFO] [stderr]    Compiling quad-rand v0.1.1
[INFO] [stderr]    Compiling image v0.22.5
[INFO] [stderr]    Compiling addr2line v0.17.0
[INFO] [stderr]    Compiling fontdue v0.4.0
[INFO] [stderr]    Compiling rwasm v0.0.1
[INFO] [stderr]    Compiling oxid v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Color`, `DrawMode`, `FilterMode`, `Image`, `Texture2D`, and `colors::*`
[INFO] [stdout]  --> src/framework/drawing.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use crate::framework::quad_gl::{colors::*, Color, DrawMode, FilterMode, Image, Texture2D};
[INFO] [stdout]   |                                     ^^^^^^^^^  ^^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f32::EPSILON`: replaced by the `EPSILON` associated constant on `f32`
[INFO] [stdout]    --> src/framework/shapes.rs:141:25
[INFO] [stdout]     |
[INFO] [stdout] 141 |     if tlen < std::f32::EPSILON {
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f32::MAX`: replaced by the `MAX` associated constant on `f32`
[INFO] [stdout]    --> src/framework/text.rs:316:31
[INFO] [stdout]     |
[INFO] [stdout] 316 |     let mut min_y = std::f32::MAX;
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f32::MAX`: replaced by the `MAX` associated constant on `f32`
[INFO] [stdout]    --> src/framework/text.rs:317:32
[INFO] [stdout]     |
[INFO] [stdout] 317 |     let mut max_y = -std::f32::MAX;
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `no_mangle` attribute cannot be used on foreign modules
[INFO] [stdout]    --> src/wasm/mod.rs:311:3
[INFO] [stdout]     |
[INFO] [stdout] 311 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `no_mangle` attribute can be applied to functions and statics
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/core/graphics/mod.rs:1456:17
[INFO] [stdout]      |
[INFO] [stdout] 1456 |             let mut cache = buffer_cache
[INFO] [stdout]      |                 ----^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/core/graphics/mod.rs:1487:17
[INFO] [stdout]      |
[INFO] [stdout] 1487 |             let mut buffer_data = &mut buffer_cache
[INFO] [stdout]      |                 ----^^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/core/graphics/mod.rs:1548:13
[INFO] [stdout]      |
[INFO] [stdout] 1548 |         let mut pipeline = &mut ctx.pipelines[self.0];
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/framework/telemetry.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let mut query = self.queries.get_mut(&name).unwrap();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `offset` and `size` are never read
[INFO] [stdout]    --> src/core/graphics/mod.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub struct ShaderUniform {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 314 |     gl_loc: UniformLocation,
[INFO] [stdout] 315 |     offset: usize,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 316 |     size: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ShaderUniform` 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: struct `Uniforms` is never constructed
[INFO] [stdout]    --> src/framework/quad_gl.rs:282:16
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub struct Uniforms {}
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/mod.rs:246:86
[INFO] [stdout]     |
[INFO] [stdout] 246 |     let title = CString::new(conf.window_title.as_bytes()).unwrap_or_else(|e| panic!(e));
[INFO] [stdout]     |                                                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 246 |     let title = CString::new(conf.window_title.as_bytes()).unwrap_or_else(|e| panic!("{}", e));
[INFO] [stdout]     |                                                                                      +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 246 -     let title = CString::new(conf.window_title.as_bytes()).unwrap_or_else(|e| panic!(e));
[INFO] [stdout] 246 +     let title = CString::new(conf.window_title.as_bytes()).unwrap_or_else(|e| std::panic::panic_any(e));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]  --> src/core/graphics/mod.rs:8:62
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let cname = CString::new(name).unwrap_or_else(|e| panic!(e));
[INFO] [stdout]   |                                                              ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let cname = CString::new(name).unwrap_or_else(|e| panic!("{}", e));
[INFO] [stdout]   |                                                              +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]   |
[INFO] [stdout] 8 -     let cname = CString::new(name).unwrap_or_else(|e| panic!(e));
[INFO] [stdout] 8 +     let cname = CString::new(name).unwrap_or_else(|e| std::panic::panic_any(e));
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/core/graphics/mod.rs:1492:71
[INFO] [stdout]      |
[INFO] [stdout] 1492 |             let cname = CString::new(*name).unwrap_or_else(|e| panic!(e));
[INFO] [stdout]      |                                                                       ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1492 |             let cname = CString::new(*name).unwrap_or_else(|e| panic!("{}", e));
[INFO] [stdout]      |                                                                       +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1492 -             let cname = CString::new(*name).unwrap_or_else(|e| panic!(e));
[INFO] [stdout] 1492 +             let cname = CString::new(*name).unwrap_or_else(|e| std::panic::panic_any(e));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/core/graphics/mod.rs:1525:25
[INFO] [stdout]      |
[INFO] [stdout] 1525 | /                         format!(
[INFO] [stdout] 1526 | |                             "attribute: {} outside of allocated attributes array len: {}",
[INFO] [stdout] 1527 | |                             name,
[INFO] [stdout] 1528 | |                             vertex_layout.len()
[INFO] [stdout] 1529 | |                         )
[INFO] [stdout]      | |_________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]      = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]      |
[INFO] [stdout] 1525 ~                         
[INFO] [stdout] 1526 |                             "attribute: {} outside of allocated attributes array len: {}",
[INFO] [stdout] 1527 |                             name,
[INFO] [stdout] 1528 |                             vertex_layout.len()
[INFO] [stdout] 1529 ~                         
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/wasm/mod.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | /         OXID_CONTEXT
[INFO] [stdout] 23 | |             .as_mut()
[INFO] [stdout]    | |_____________________^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/wasm/mod.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     OXID_CONTEXT.as_mut().unwrap()
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/framework/mod.rs:170:14
[INFO] [stdout]     |
[INFO] [stdout] 170 |     unsafe { CONTEXT.as_mut().unwrap_or_else(|| panic!()) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/framework/mod.rs:239:44
[INFO] [stdout]     |
[INFO] [stdout] 239 |             if let Some(future) = unsafe { MAIN_FUTURE.as_mut() } {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |         if STORAGE.is_none() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | /         STORAGE
[INFO] [stdout] 37 | |             .as_mut()
[INFO] [stdout]    | |_____________________^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 |         if STORAGE.is_none() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         STORAGE.as_mut().unwrap().get(&TypeId::of::<T>()).as_ref()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |         if STORAGE.is_none() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         STORAGE.as_mut().unwrap().get(&TypeId::of::<T>()).as_ref()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/framework/telemetry.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         PROFILER.get_or_insert_with(|| Profiler {
[INFO] [stdout]  9 | |             frame: Frame::new(),
[INFO] [stdout] 10 | |             queries: HashMap::new(),
[INFO] [stdout] 11 | |             active_query: None,
[INFO] [stdout] ...  |
[INFO] [stdout] 14 | |             enable_request: None,
[INFO] [stdout] 15 | |         })
[INFO] [stdout]    | |__________^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `rwasm`
[INFO] [stderr]   --> Cargo.toml:16:15
[INFO] [stderr]    |
[INFO] [stderr] 16 | [dependencies.rwasm]
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `rwasm`
[INFO] [stderr] warning: `oxid` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 29.44s
[INFO] running `Command { std: "docker" "inspect" "1717af484a5a0d78b56c21e55d82fabd6065d28131c8f6a4761042b188eadedd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1717af484a5a0d78b56c21e55d82fabd6065d28131c8f6a4761042b188eadedd" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:33:12
[INFO] [stderr]    |
[INFO] [stderr] 33 | homepage = "https://github.com/rellfy/oxid"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 | repository = "https://github.com/rellfy/oxid"
[INFO] [stderr]    |              --------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `oxid` (manifest) generated 1 warning
[INFO] [stderr]    Compiling glam v0.8.7
[INFO] [stdout] warning: unused imports: `Color`, `DrawMode`, `FilterMode`, `Image`, `Texture2D`, and `colors::*`
[INFO] [stdout]  --> src/framework/drawing.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use crate::framework::quad_gl::{colors::*, Color, DrawMode, FilterMode, Image, Texture2D};
[INFO] [stdout]   |                                     ^^^^^^^^^  ^^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f32::EPSILON`: replaced by the `EPSILON` associated constant on `f32`
[INFO] [stdout]    --> src/framework/shapes.rs:141:25
[INFO] [stdout]     |
[INFO] [stdout] 141 |     if tlen < std::f32::EPSILON {
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f32::MAX`: replaced by the `MAX` associated constant on `f32`
[INFO] [stdout]    --> src/framework/text.rs:316:31
[INFO] [stdout]     |
[INFO] [stdout] 316 |     let mut min_y = std::f32::MAX;
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f32::MAX`: replaced by the `MAX` associated constant on `f32`
[INFO] [stdout]    --> src/framework/text.rs:317:32
[INFO] [stdout]     |
[INFO] [stdout] 317 |     let mut max_y = -std::f32::MAX;
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `no_mangle` attribute cannot be used on foreign modules
[INFO] [stdout]    --> src/wasm/mod.rs:311:3
[INFO] [stdout]     |
[INFO] [stdout] 311 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `no_mangle` attribute can be applied to functions and statics
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/core/graphics/mod.rs:1456:17
[INFO] [stdout]      |
[INFO] [stdout] 1456 |             let mut cache = buffer_cache
[INFO] [stdout]      |                 ----^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/core/graphics/mod.rs:1487:17
[INFO] [stdout]      |
[INFO] [stdout] 1487 |             let mut buffer_data = &mut buffer_cache
[INFO] [stdout]      |                 ----^^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/core/graphics/mod.rs:1548:13
[INFO] [stdout]      |
[INFO] [stdout] 1548 |         let mut pipeline = &mut ctx.pipelines[self.0];
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/framework/telemetry.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let mut query = self.queries.get_mut(&name).unwrap();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `offset` and `size` are never read
[INFO] [stdout]    --> src/core/graphics/mod.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub struct ShaderUniform {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 314 |     gl_loc: UniformLocation,
[INFO] [stdout] 315 |     offset: usize,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 316 |     size: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ShaderUniform` 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: struct `Uniforms` is never constructed
[INFO] [stdout]    --> src/framework/quad_gl.rs:282:16
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub struct Uniforms {}
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/mod.rs:246:86
[INFO] [stdout]     |
[INFO] [stdout] 246 |     let title = CString::new(conf.window_title.as_bytes()).unwrap_or_else(|e| panic!(e));
[INFO] [stdout]     |                                                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 246 |     let title = CString::new(conf.window_title.as_bytes()).unwrap_or_else(|e| panic!("{}", e));
[INFO] [stdout]     |                                                                                      +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 246 -     let title = CString::new(conf.window_title.as_bytes()).unwrap_or_else(|e| panic!(e));
[INFO] [stdout] 246 +     let title = CString::new(conf.window_title.as_bytes()).unwrap_or_else(|e| std::panic::panic_any(e));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]  --> src/core/graphics/mod.rs:8:62
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let cname = CString::new(name).unwrap_or_else(|e| panic!(e));
[INFO] [stdout]   |                                                              ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let cname = CString::new(name).unwrap_or_else(|e| panic!("{}", e));
[INFO] [stdout]   |                                                              +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]   |
[INFO] [stdout] 8 -     let cname = CString::new(name).unwrap_or_else(|e| panic!(e));
[INFO] [stdout] 8 +     let cname = CString::new(name).unwrap_or_else(|e| std::panic::panic_any(e));
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/core/graphics/mod.rs:1492:71
[INFO] [stdout]      |
[INFO] [stdout] 1492 |             let cname = CString::new(*name).unwrap_or_else(|e| panic!(e));
[INFO] [stdout]      |                                                                       ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1492 |             let cname = CString::new(*name).unwrap_or_else(|e| panic!("{}", e));
[INFO] [stdout]      |                                                                       +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1492 -             let cname = CString::new(*name).unwrap_or_else(|e| panic!(e));
[INFO] [stdout] 1492 +             let cname = CString::new(*name).unwrap_or_else(|e| std::panic::panic_any(e));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/core/graphics/mod.rs:1525:25
[INFO] [stdout]      |
[INFO] [stdout] 1525 | /                         format!(
[INFO] [stdout] 1526 | |                             "attribute: {} outside of allocated attributes array len: {}",
[INFO] [stdout] 1527 | |                             name,
[INFO] [stdout] 1528 | |                             vertex_layout.len()
[INFO] [stdout] 1529 | |                         )
[INFO] [stdout]      | |_________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]      = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]      |
[INFO] [stdout] 1525 ~                         
[INFO] [stdout] 1526 |                             "attribute: {} outside of allocated attributes array len: {}",
[INFO] [stdout] 1527 |                             name,
[INFO] [stdout] 1528 |                             vertex_layout.len()
[INFO] [stdout] 1529 ~                         
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/wasm/mod.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | /         OXID_CONTEXT
[INFO] [stdout] 23 | |             .as_mut()
[INFO] [stdout]    | |_____________________^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/wasm/mod.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     OXID_CONTEXT.as_mut().unwrap()
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/framework/mod.rs:170:14
[INFO] [stdout]     |
[INFO] [stdout] 170 |     unsafe { CONTEXT.as_mut().unwrap_or_else(|| panic!()) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/framework/mod.rs:239:44
[INFO] [stdout]     |
[INFO] [stdout] 239 |             if let Some(future) = unsafe { MAIN_FUTURE.as_mut() } {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |         if STORAGE.is_none() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | /         STORAGE
[INFO] [stdout] 37 | |             .as_mut()
[INFO] [stdout]    | |_____________________^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 |         if STORAGE.is_none() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         STORAGE.as_mut().unwrap().get(&TypeId::of::<T>()).as_ref()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |         if STORAGE.is_none() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         STORAGE.as_mut().unwrap().get(&TypeId::of::<T>()).as_ref()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/framework/telemetry.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         PROFILER.get_or_insert_with(|| Profiler {
[INFO] [stdout]  9 | |             frame: Frame::new(),
[INFO] [stdout] 10 | |             queries: HashMap::new(),
[INFO] [stdout] 11 | |             active_query: None,
[INFO] [stdout] ...  |
[INFO] [stdout] 14 | |             enable_request: None,
[INFO] [stdout] 15 | |         })
[INFO] [stdout]    | |__________^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling oxid v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0464]: multiple candidates for `rlib` dependency `glam` found
[INFO] [stdout]  --> src/framework/shapes.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use glam::{vec2, Vec2};
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: candidate #1: /opt/rustwide/target/release/build/glam/dae74f25e2d98286/out/libglam-dae74f25e2d98286.rlib
[INFO] [stdout]   = note: candidate #2: /opt/rustwide/target/release/build/glam/ee81dba3843f9b32/out/libglam-ee81dba3843f9b32.rlib
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0464`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `oxid` (lib test) due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/opt/rustwide/target/release/build/oxid/80dcd09597d83b63/out/rustcecvhI6/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib" "/opt/rustwide/target/release/build/fontdue/6aabcc1c2443ee3c/out/libfontdue-6aabcc1c2443ee3c.rlib" "/opt/rustwide/target/release/build/ttf-parser/f7bfd29fc83bce6e/out/libttf_parser-f7bfd29fc83bce6e.rlib" "/opt/rustwide/target/release/build/hashbrown/aa128703ba54dae3/out/libhashbrown-aa128703ba54dae3.rlib" "/opt/rustwide/target/release/build/ahash/bd91df7715dd727b/out/libahash-bd91df7715dd727b.rlib" "/opt/rustwide/target/release/build/image/65a4a79a96341d72/out/libimage-65a4a79a96341d72.rlib" "/opt/rustwide/target/release/build/png/778f772de536340e/out/libpng-778f772de536340e.rlib" "/opt/rustwide/target/release/build/deflate/5494c0c635ce4eda/out/libdeflate-5494c0c635ce4eda.rlib" "/opt/rustwide/target/release/build/inflate/7c06df7458dac35b/out/libinflate-7c06df7458dac35b.rlib" "/opt/rustwide/target/release/build/adler32/048832263efdfe96/out/libadler32-048832263efdfe96.rlib" "/opt/rustwide/target/release/build/crc32fast/6b35511fffef0fb5/out/libcrc32fast-6b35511fffef0fb5.rlib" "/opt/rustwide/target/release/build/bitflags/68973b8086863992/out/libbitflags-68973b8086863992.rlib" "/opt/rustwide/target/release/build/num-rational/2d97830cea9665a4/out/libnum_rational-2d97830cea9665a4.rlib" "/opt/rustwide/target/release/build/num-iter/cdb98ba22e2c2730/out/libnum_iter-cdb98ba22e2c2730.rlib" "/opt/rustwide/target/release/build/num-integer/84615275f8148fc0/out/libnum_integer-84615275f8148fc0.rlib" "/opt/rustwide/target/release/build/num-traits/9246695ed81f28ab/out/libnum_traits-9246695ed81f28ab.rlib" "/opt/rustwide/target/release/build/byteorder/52d7e7679852098b/out/libbyteorder-52d7e7679852098b.rlib" "/opt/rustwide/target/release/build/quad-rand/e0549c754cb867b4/out/libquad_rand-e0549c754cb867b4.rlib" "/opt/rustwide/target/release/build/glam/dae74f25e2d98286/out/libglam-dae74f25e2d98286.rlib" "/opt/rustwide/target/release/build/rwasm/b95ac2edb099fe99/out/librwasm-b95ac2edb099fe99.rlib" "/opt/rustwide/target/release/build/backtrace/470feb083012a142/out/libbacktrace-470feb083012a142.rlib" "/opt/rustwide/target/release/build/miniz_oxide/291b98febf11efa6/out/libminiz_oxide-291b98febf11efa6.rlib" "/opt/rustwide/target/release/build/adler/f334a75a447e9ef2/out/libadler-f334a75a447e9ef2.rlib" "/opt/rustwide/target/release/build/object/9daa121da015a297/out/libobject-9daa121da015a297.rlib" "/opt/rustwide/target/release/build/memchr/dfea4dd2e7a96b4d/out/libmemchr-dfea4dd2e7a96b4d.rlib" "/opt/rustwide/target/release/build/libc/fe5c628a20d4a157/out/liblibc-fe5c628a20d4a157.rlib" "/opt/rustwide/target/release/build/addr2line/1c1923f1ecedab80/out/libaddr2line-1c1923f1ecedab80.rlib" "/opt/rustwide/target/release/build/gimli/58c540743bb06edd/out/libgimli-58c540743bb06edd.rlib" "/opt/rustwide/target/release/build/cfg-if/193575a6b29a3ab9/out/libcfg_if-193575a6b29a3ab9.rlib" "/opt/rustwide/target/release/build/rustc-demangle/8af3701e06bac89e/out/librustc_demangle-8af3701e06bac89e.rlib" "/opt/rustwide/target/release/build/once_cell/46a300624a0f8c72/out/libonce_cell-46a300624a0f8c72.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lc" "-lm" "-lrt" "-lpthread" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/opt/rustwide/target/release/build/oxid/80dcd09597d83b63/out/rustcecvhI6/raw-dylibs" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/release/build/oxid/80dcd09597d83b63/out/basic_shapes" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-debug" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: rust-lld: error: undefined symbol: glGenFramebuffers
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::RenderPass>::new::<core::option::Option<oxid::core::graphics::texture::Texture>>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glBindFramebuffer
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::RenderPass>::new::<core::option::Option<oxid::core::graphics::texture::Texture>>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::RenderPass>::new::<core::option::Option<oxid::core::graphics::texture::Texture>>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::begin_pass::<oxid::core::graphics::RenderPass>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           >>> referenced 4 more times
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glGetUniformLocation
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.05
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.05.rcgu.o:(<core::iter::adapters::map::Map<core::slice::iter::Iter<alloc::string::String>, oxid::core::graphics::load_shader_internal::{closure#0}> as core::iter::traits::iterator::Iterator>::fold::<(), core::iter::traits::iterator::Iterator::for_each::call<oxid::core::graphics::ShaderImage, <alloc::vec::Vec<oxid::core::graphics::ShaderImage>>::extend_trusted<core::iter::adapters::map::Map<core::slice::iter::Iter<alloc::string::String>, oxid::core::graphics::load_shader_internal::{closure#0}>>::{closure#0}>::{closure#0}>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.04
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.04.rcgu.o:(<alloc::vec::Vec<oxid::core::graphics::ShaderUniform> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<oxid::core::graphics::ShaderUniform, core::iter::adapters::scan::Scan<core::slice::iter::Iter<oxid::core::graphics::UniformDesc>, usize, oxid::core::graphics::load_shader_internal::{closure#1}>>>::from_iter) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.04
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.04.rcgu.o:(<alloc::vec::Vec<oxid::core::graphics::ShaderUniform> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<oxid::core::graphics::ShaderUniform, core::iter::adapters::scan::Scan<core::slice::iter::Iter<oxid::core::graphics::UniformDesc>, usize, oxid::core::graphics::load_shader_internal::{closure#1}>>>::from_iter) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glFramebufferTexture2D
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::RenderPass>::new::<core::option::Option<oxid::core::graphics::texture::Texture>>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::RenderPass>::new::<core::option::Option<oxid::core::graphics::texture::Texture>>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glViewport
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::begin_pass::<oxid::core::graphics::RenderPass>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::begin_default_pass) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glGetIntegerv
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.05
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.05.rcgu.o:(oxid::core::init) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glScissor
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::begin_pass::<oxid::core::graphics::RenderPass>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.01
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.01.rcgu.o:(<oxid::framework::quad_gl::QuadGl>::draw) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::begin_default_pass) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glClearColor
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::begin_pass::<oxid::core::graphics::RenderPass>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.14
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.14.rcgu.o:(<oxid::framework::Stage as oxid::core::event::EventHandlerFree>::draw) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::begin_default_pass) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glClearDepthf
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::begin_pass::<oxid::core::graphics::RenderPass>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::begin_default_pass) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glClearStencil
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::begin_pass::<oxid::core::graphics::RenderPass>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::begin_default_pass) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glClear
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::begin_pass::<oxid::core::graphics::RenderPass>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.14
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.14.rcgu.o:(<oxid::framework::Stage as oxid::core::event::EventHandlerFree>::draw) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::begin_default_pass) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glUniform1fv
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::apply_uniforms::<oxid::framework::quad_gl::shader::Uniforms>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glUniform1iv
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::apply_uniforms::<oxid::framework::quad_gl::shader::Uniforms>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glUniform3fv
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::apply_uniforms::<oxid::framework::quad_gl::shader::Uniforms>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glUniform4fv
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::apply_uniforms::<oxid::framework::quad_gl::shader::Uniforms>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glUniform4iv
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::apply_uniforms::<oxid::framework::quad_gl::shader::Uniforms>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glUniform2fv
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::apply_uniforms::<oxid::framework::quad_gl::shader::Uniforms>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glUniform2iv
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::apply_uniforms::<oxid::framework::quad_gl::shader::Uniforms>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glUniform3iv
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::apply_uniforms::<oxid::framework::quad_gl::shader::Uniforms>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glUniformMatrix4fv
[INFO] [stdout]           >>> referenced by oxid.429e9b46eec16069-cgu.03
[INFO] [stdout]           >>>               oxid-66b7feb0a4d7f3db.oxid.429e9b46eec16069-cgu.03.rcgu.o:(<oxid::core::graphics::Context>::apply_uniforms::<oxid::framework::quad_gl::shader::Uniforms>) in archive /opt/rustwide/target/release/build/oxid/66b7feb0a4d7f3db/out/liboxid-66b7feb0a4d7f3db.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `oxid` (example "basic_shapes") due to 1 previous error
[INFO] [stderr] warning: unused dependency `rwasm`
[INFO] [stderr]   --> Cargo.toml:16:15
[INFO] [stderr]    |
[INFO] [stderr] 16 | [dependencies.rwasm]
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `rwasm`
[INFO] [stderr] help: to still use for development builds, move to `dev-dependencies`
[INFO] [stderr] warning: `oxid` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "inspect" "1717af484a5a0d78b56c21e55d82fabd6065d28131c8f6a4761042b188eadedd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1717af484a5a0d78b56c21e55d82fabd6065d28131c8f6a4761042b188eadedd", kill_on_drop: false }`
[INFO] [stdout] 1717af484a5a0d78b56c21e55d82fabd6065d28131c8f6a4761042b188eadedd
