[INFO] fetching crate oxid 0.1.0...
[INFO] testing oxid-0.1.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-8
[INFO] extracting crate oxid 0.1.0 into /workspace/builds/worker-3-tc1/source
[INFO] removed /workspace/builds/worker-3-tc1/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-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate oxid 0.1.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] 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded quad-rand v0.1.1
[INFO] [stderr]   Downloaded rwasm_macro v0.1.0
[INFO] [stderr]   Downloaded rwasm v0.0.1
[INFO] [stderr]   Downloaded inflate v0.4.5
[INFO] [stderr]   Downloaded png v0.15.3
[INFO] [stderr]   Downloaded miniz_oxide v0.5.4
[INFO] [stderr]   Downloaded once_cell v1.14.0
[INFO] [stderr]   Downloaded glam v0.8.7
[INFO] [stderr]   Downloaded backtrace v0.3.66
[INFO] [stderr]   Downloaded hashbrown v0.8.2
[INFO] [stderr]   Downloaded glam v0.10.2
[INFO] [stderr]   Downloaded ttf-parser v0.8.3
[INFO] [stderr]   Downloaded fontdue v0.4.0
[INFO] [stderr]   Downloaded deflate v0.7.20
[INFO] [stderr]   Downloaded object v0.29.0
[INFO] [stderr]   Downloaded image v0.22.5
[INFO] [stderr]   Downloaded libc v0.2.132
[INFO] [stderr]   Downloaded gimli v0.26.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 7dbe2409ceaeeab454ad1b963caeaf8aa65d3ae9e1c71d10e0887960ee988514
[INFO] running `Command { std: "docker" "start" "-a" "7dbe2409ceaeeab454ad1b963caeaf8aa65d3ae9e1c71d10e0887960ee988514", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7dbe2409ceaeeab454ad1b963caeaf8aa65d3ae9e1c71d10e0887960ee988514", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7dbe2409ceaeeab454ad1b963caeaf8aa65d3ae9e1c71d10e0887960ee988514", kill_on_drop: false }`
[INFO] [stdout] 7dbe2409ceaeeab454ad1b963caeaf8aa65d3ae9e1c71d10e0887960ee988514
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 3d88c84da42b656645bb55eb0fd1f2942ccbb5beffdb7fe2b0dda8b04b71afcb
[INFO] running `Command { std: "docker" "start" "-a" "3d88c84da42b656645bb55eb0fd1f2942ccbb5beffdb7fe2b0dda8b04b71afcb", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling libc v0.2.132
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling hashbrown v0.8.2
[INFO] [stderr]    Compiling num-iter v0.1.43
[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 deflate v0.7.20
[INFO] [stderr]    Compiling inflate v0.4.5
[INFO] [stderr]    Compiling object v0.29.0
[INFO] [stderr]    Compiling ahash v0.3.8
[INFO] [stderr]    Compiling rustc-demangle v0.1.21
[INFO] [stderr]    Compiling backtrace v0.3.66
[INFO] [stderr]    Compiling png v0.15.3
[INFO] [stderr]    Compiling ttf-parser v0.8.3
[INFO] [stderr]    Compiling once_cell v1.14.0
[INFO] [stderr]    Compiling rwasm_macro v0.1.0
[INFO] [stderr]    Compiling quad-rand v0.1.1
[INFO] [stderr]    Compiling image v0.22.5
[INFO] [stderr]    Compiling fontdue v0.4.0
[INFO] [stderr]    Compiling addr2line v0.17.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: `#[no_mangle]` attribute cannot be used on foreign modules
[INFO] [stdout]    --> src/wasm/mod.rs:311:1
[INFO] [stdout]     |
[INFO] [stdout] 311 | #[no_mangle]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = help: `#[no_mangle]` can be applied to functions and statics
[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: `#[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] 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] 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] 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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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]    = 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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.94s
[INFO] running `Command { std: "docker" "inspect" "3d88c84da42b656645bb55eb0fd1f2942ccbb5beffdb7fe2b0dda8b04b71afcb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3d88c84da42b656645bb55eb0fd1f2942ccbb5beffdb7fe2b0dda8b04b71afcb", kill_on_drop: false }`
[INFO] [stdout] 3d88c84da42b656645bb55eb0fd1f2942ccbb5beffdb7fe2b0dda8b04b71afcb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 0562e3c979582f8b7ef7dca97209c313ba27986ec10ecdee40081012ca242448
[INFO] running `Command { std: "docker" "start" "-a" "0562e3c979582f8b7ef7dca97209c313ba27986ec10ecdee40081012ca242448", kill_on_drop: false }`
[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: `#[no_mangle]` attribute cannot be used on foreign modules
[INFO] [stdout]    --> src/wasm/mod.rs:311:1
[INFO] [stdout]     |
[INFO] [stdout] 311 | #[no_mangle]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = help: `#[no_mangle]` can be applied to functions and statics
[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: `#[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] 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] 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] 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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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]    = 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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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/drawing.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use glam::Mat4;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: candidate #1: /opt/rustwide/target/debug/deps/libglam-1ade978c2d6febe8.rlib
[INFO] [stdout]   = note: candidate #2: /opt/rustwide/target/debug/deps/libglam-998f6150014159b9.rlib
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::framework::math::Rect`, `crate::framework::math::Rect`, `crate::framework::math::Rect`
[INFO] [stdout]  --> src/framework/camera.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     math::Rect,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/framework/text.rs:4:51
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::framework::{color::Color, get_context, math::Rect};
[INFO] [stdout]   |                                                   ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/framework/texture.rs:4:54
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::framework::{file::load_file, get_context, math::Rect};
[INFO] [stdout]   |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec2` in this scope
[INFO] [stdout]   --> src/framework/math.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn point(&self) -> Vec2 {
[INFO] [stdout]    |                            ^^^^ help: a struct with a similar name exists: `Vec`
[INFO] [stdout]    |
[INFO] [stdout]   --> /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/alloc/src/vec/mod.rs:434:0
[INFO] [stdout]    |
[INFO] [stdout]    = note: similarly named struct `Vec` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec2` in this scope
[INFO] [stdout]   --> src/framework/math.rs:45:44
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn move_to(&mut self, destination: Vec2) {
[INFO] [stdout]    |                                            ^^^^ help: a struct with a similar name exists: `Vec`
[INFO] [stdout]    |
[INFO] [stdout]   --> /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/alloc/src/vec/mod.rs:434:0
[INFO] [stdout]    |
[INFO] [stdout]    = note: similarly named struct `Vec` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec2` in this scope
[INFO] [stdout]   --> src/framework/math.rs:58:35
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn contains(&self, point: Vec2) -> bool {
[INFO] [stdout]    |                                   ^^^^ help: a struct with a similar name exists: `Vec`
[INFO] [stdout]    |
[INFO] [stdout]   --> /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/alloc/src/vec/mod.rs:434:0
[INFO] [stdout]    |
[INFO] [stdout]    = note: similarly named struct `Vec` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec2` in this scope
[INFO] [stdout]   --> src/framework/math.rs:75:52
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn polar_to_cartesian(rho: f32, theta: f32) -> Vec2 {
[INFO] [stdout]    |                                                    ^^^^ help: a struct with a similar name exists: `Vec`
[INFO] [stdout]    |
[INFO] [stdout]   --> /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/alloc/src/vec/mod.rs:434:0
[INFO] [stdout]    |
[INFO] [stdout]    = note: similarly named struct `Vec` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec2` in this scope
[INFO] [stdout]   --> src/framework/math.rs:80:38
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub fn cartesian_to_polar(cartesian: Vec2) -> Vec2 {
[INFO] [stdout]    |                                      ^^^^ help: a struct with a similar name exists: `Vec`
[INFO] [stdout]    |
[INFO] [stdout]   --> /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/alloc/src/vec/mod.rs:434:0
[INFO] [stdout]    |
[INFO] [stdout]    = note: similarly named struct `Vec` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec2` in this scope
[INFO] [stdout]   --> src/framework/math.rs:80:47
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub fn cartesian_to_polar(cartesian: Vec2) -> Vec2 {
[INFO] [stdout]    |                                               ^^^^ help: a struct with a similar name exists: `Vec`
[INFO] [stdout]    |
[INFO] [stdout]   --> /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/alloc/src/vec/mod.rs:434:0
[INFO] [stdout]    |
[INFO] [stdout]    = note: similarly named struct `Vec` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[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: `#[no_mangle]` attribute cannot be used on foreign modules
[INFO] [stdout]    --> src/wasm/mod.rs:311:1
[INFO] [stdout]     |
[INFO] [stdout] 311 | #[no_mangle]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = help: `#[no_mangle]` can be applied to functions and statics
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `vec2` in this scope
[INFO] [stdout]   --> src/framework/math.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         vec2(self.x, self.y)
[INFO] [stdout]    |         ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `vec2` in this scope
[INFO] [stdout]   --> src/framework/math.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     vec2(rho * theta.cos(), rho * theta.sin())
[INFO] [stdout]    |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `vec2` in this scope
[INFO] [stdout]   --> src/framework/math.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     vec2(
[INFO] [stdout]    |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `oxid` (example "basic_shapes") 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" "/tmp/rustc8b0dnI/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/{liboxid-56bf36c3ab7ce91b,libfontdue-5c903e7c7e4a0966,libttf_parser-27880ac02ddeaca4,libhashbrown-89ad53921f5f6b12,libahash-fb26872b61c1eb02,libimage-7686314f868e0b5e,libpng-61cd959053a2f984,libdeflate-7fdcc7a7f89b3782,libinflate-c69cb21a6df21e8b,libadler32-884c7c82211a01d9,libcrc32fast-6bd2f9a022460d01,libbitflags-e2b4db6c651223da,libnum_rational-3c29d91f551e5818,libnum_iter-7d609eca46be6739,libnum_integer-2007e1a71e3cc632,libnum_traits-13175fd345195611,libbyteorder-379f547b04d51d02,libquad_rand-a5478cc492801bd5,libglam-1ade978c2d6febe8,librwasm-b81792765f054e76,libbacktrace-4998318553eb3df6,libminiz_oxide-8483c9dc36b23d7e,libadler-f4caa73e14204bdd,libobject-fe5ca33c72058cc2,libmemchr-4db6d1834aa19479,liblibc-f5ca323bc60be918,libaddr2line-80c902d98185bedc,libgimli-991155cd8bee0d9d,libcfg_if-33ef6c02a07f9fec,librustc_demangle-75d535d2d5742005,libonce_cell-f44eb74a989470dd}.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" "/tmp/rustc8b0dnI/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/debug/examples/basic_shapes-63ad752c0383d0ce" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: rust-lld: error: undefined symbol: glPixelStorei
[INFO] [stdout]           >>> referenced by texture.rs:278 (src/core/graphics/texture.rs:278)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.14.rcgu.o:(oxid::core::graphics::texture::Texture::update_texture_part::h326a8d5ba075f659) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           >>> referenced by texture.rs:153 (src/core/graphics/texture.rs:153)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.14.rcgu.o:(oxid::core::graphics::texture::Texture::new::h0fabd00f701beb79) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glTexSubImage2D
[INFO] [stdout]           >>> referenced by texture.rs:279 (src/core/graphics/texture.rs:279)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.14.rcgu.o:(oxid::core::graphics::texture::Texture::update_texture_part::h326a8d5ba075f659) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glGenTextures
[INFO] [stdout]           >>> referenced by texture.rs:151 (src/core/graphics/texture.rs:151)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.14.rcgu.o:(oxid::core::graphics::texture::Texture::new::h0fabd00f701beb79) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glTexImage2D
[INFO] [stdout]           >>> referenced by texture.rs:154 (src/core/graphics/texture.rs:154)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.14.rcgu.o:(oxid::core::graphics::texture::Texture::new::h0fabd00f701beb79) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glTexParameteri
[INFO] [stdout]           >>> referenced by texture.rs:169 (src/core/graphics/texture.rs:169)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.14.rcgu.o:(oxid::core::graphics::texture::Texture::new::h0fabd00f701beb79) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           >>> referenced by texture.rs:170 (src/core/graphics/texture.rs:170)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.14.rcgu.o:(oxid::core::graphics::texture::Texture::new::h0fabd00f701beb79) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           >>> referenced by texture.rs:171 (src/core/graphics/texture.rs:171)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.14.rcgu.o:(oxid::core::graphics::texture::Texture::new::h0fabd00f701beb79) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           >>> referenced 1 more times
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: now
[INFO] [stdout]           >>> referenced by mod.rs:27 (src/core/mod.rs:27)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.10.rcgu.o:(oxid::core::date::now::hb32aaf5bd58f6500) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: canvas_width
[INFO] [stdout]           >>> referenced by mod.rs:304 (src/wasm/mod.rs:304)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.10.rcgu.o:(oxid::wasm::oxid_width::hd3fbb406434badb4) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: canvas_height
[INFO] [stdout]           >>> referenced by mod.rs:308 (src/wasm/mod.rs:308)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.10.rcgu.o:(oxid::wasm::oxid_height::h21569872a05fe69a) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: init_opengl
[INFO] [stdout]           >>> referenced by mod.rs:296 (src/wasm/mod.rs:296)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.10.rcgu.o:(oxid::wasm::oxid_run::hc5596c9de71c2e5f) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: console_log
[INFO] [stdout]           >>> referenced by mod.rs:292 (src/wasm/mod.rs:292)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.10.rcgu.o:(oxid::wasm::oxid_run::_$u7b$$u7b$closure$u7d$$u7d$::hf8924aa352e01d8d) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glBindTexture
[INFO] [stdout]           >>> referenced by quad_gl.rs:977 (src/framework/quad_gl.rs:977)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.02.rcgu.o:(oxid::framework::quad_gl::Texture2D::grab_screen::h9be87b417c9fc003) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           >>> referenced by mod.rs:484 (src/core/graphics/mod.rs:484)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.03.rcgu.o:(oxid::core::graphics::GlCache::bind_texture::h0b2c72aa3ba1ef8a) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glCopyTexImage2D
[INFO] [stdout]           >>> referenced by quad_gl.rs:978 (src/framework/quad_gl.rs:978)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.02.rcgu.o:(oxid::framework::quad_gl::Texture2D::grab_screen::h9be87b417c9fc003) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glGenFramebuffers
[INFO] [stdout]           >>> referenced by mod.rs:565 (src/core/graphics/mod.rs:565)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.03.rcgu.o:(oxid::core::graphics::RenderPass::new::h0929213c0b0bc7f7) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glBindFramebuffer
[INFO] [stdout]           >>> referenced by mod.rs:566 (src/core/graphics/mod.rs:566)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.03.rcgu.o:(oxid::core::graphics::RenderPass::new::h0929213c0b0bc7f7) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           >>> referenced by mod.rs:583 (src/core/graphics/mod.rs:583)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.03.rcgu.o:(oxid::core::graphics::RenderPass::new::h0929213c0b0bc7f7) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           >>> referenced by mod.rs:1040 (src/core/graphics/mod.rs:1040)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.03.rcgu.o:(oxid::core::graphics::Context::begin_pass::h1bd66322726a606b) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           >>> referenced 2 more times
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glFramebufferTexture2D
[INFO] [stdout]           >>> referenced by mod.rs:567 (src/core/graphics/mod.rs:567)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.03.rcgu.o:(oxid::core::graphics::RenderPass::new::h0929213c0b0bc7f7) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           >>> referenced by mod.rs:575 (src/core/graphics/mod.rs:575)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.03.rcgu.o:(oxid::core::graphics::RenderPass::new::h0929213c0b0bc7f7) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glCreateShader
[INFO] [stdout]           >>> referenced by mod.rs:1158 (src/core/graphics/mod.rs:1158)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.03.rcgu.o:(oxid::core::graphics::load_shader::h05d86bd3f97595ef) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glShaderSource
[INFO] [stdout]           >>> referenced by mod.rs:1163 (src/core/graphics/mod.rs:1163)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.03.rcgu.o:(oxid::core::graphics::load_shader::h05d86bd3f97595ef) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glCompileShader
[INFO] [stdout]           >>> referenced by mod.rs:1164 (src/core/graphics/mod.rs:1164)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.03.rcgu.o:(oxid::core::graphics::load_shader::h05d86bd3f97595ef) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glGetShaderiv
[INFO] [stdout]           >>> referenced by mod.rs:1167 (src/core/graphics/mod.rs:1167)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.03.rcgu.o:(oxid::core::graphics::load_shader::h05d86bd3f97595ef) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           >>> referenced by mod.rs:1170 (src/core/graphics/mod.rs:1170)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.03.rcgu.o:(oxid::core::graphics::load_shader::h05d86bd3f97595ef) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glGetShaderInfoLog
[INFO] [stdout]           >>> referenced by mod.rs:1173 (src/core/graphics/mod.rs:1173)
[INFO] [stdout]           >>>               oxid-56bf36c3ab7ce91b.oxid.4f8eee556d96f70a-cgu.03.rcgu.o:(oxid::core::graphics::load_shader::h05d86bd3f97595ef) in archive /opt/rustwide/target/debug/deps/liboxid-56bf36c3ab7ce91b.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] [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] Some errors have detailed explanations: E0412, E0425, E0432, E0464.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `oxid` (lib test) due to 11 previous errors; 6 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "0562e3c979582f8b7ef7dca97209c313ba27986ec10ecdee40081012ca242448", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0562e3c979582f8b7ef7dca97209c313ba27986ec10ecdee40081012ca242448", kill_on_drop: false }`
[INFO] [stdout] 0562e3c979582f8b7ef7dca97209c313ba27986ec10ecdee40081012ca242448
