[INFO] cloning repository https://github.com/kristiankrogenes/TDT4195
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kristiankrogenes/TDT4195" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkristiankrogenes%2FTDT4195", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkristiankrogenes%2FTDT4195'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9b354e97a8b697f0bfb41c1d91d44f4b60f5b707
[INFO] checking kristiankrogenes/TDT4195 against try#b98202ad067d72e45cec8be3d5c15d86ef0fd086 for pr-155193
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkristiankrogenes%2FTDT4195" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kristiankrogenes/TDT4195
[INFO] finished tweaking git repo https://github.com/kristiankrogenes/TDT4195
[INFO] tweaked toml for git repo https://github.com/kristiankrogenes/TDT4195 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kristiankrogenes/TDT4195 on toolchain b98202ad067d72e45cec8be3d5c15d86ef0fd086
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kristiankrogenes/TDT4195 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" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking kristiankrogenes/TDT4195 against try#b98202ad067d72e45cec8be3d5c15d86ef0fd086 for pr-155193
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkristiankrogenes%2FTDT4195" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kristiankrogenes/TDT4195
[INFO] finished tweaking git repo https://github.com/kristiankrogenes/TDT4195
[INFO] tweaked toml for git repo https://github.com/kristiankrogenes/TDT4195 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kristiankrogenes/TDT4195 on toolchain b98202ad067d72e45cec8be3d5c15d86ef0fd086
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kristiankrogenes/TDT4195 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" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wide v0.7.0
[INFO] [stderr]   Downloaded num_enum v0.5.4
[INFO] [stderr]   Downloaded mio-misc v1.2.1
[INFO] [stderr]   Downloaded tobj v3.1.0
[INFO] [stderr]   Downloaded num_enum_derive v0.5.4
[INFO] [stderr]   Downloaded simba v0.6.0
[INFO] [stderr]   Downloaded nalgebra-glm v0.15.0
[INFO] [stderr]   Downloaded nalgebra v0.29.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cab0dfe2860feb0422418412a6fd26ea6710ef4bdf00f0d4f43d2c7c5122a62e
[INFO] running `Command { std: "docker" "start" "-a" "cab0dfe2860feb0422418412a6fd26ea6710ef4bdf00f0d4f43d2c7c5122a62e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cab0dfe2860feb0422418412a6fd26ea6710ef4bdf00f0d4f43d2c7c5122a62e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cab0dfe2860feb0422418412a6fd26ea6710ef4bdf00f0d4f43d2c7c5122a62e", kill_on_drop: false }`
[INFO] [stdout] cab0dfe2860feb0422418412a6fd26ea6710ef4bdf00f0d4f43d2c7c5122a62e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4b33198bab5a53e88a61bd1feb2f1033ea61fa1d8c23fb13b124adb68c2a2f83
[INFO] running `Command { std: "docker" "start" "-a" "4b33198bab5a53e88a61bd1feb2f1033ea61fa1d8c23fb13b124adb68c2a2f83", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.99
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]    Compiling proc-macro2 v1.0.28
[INFO] [stderr]    Compiling pkg-config v0.3.19
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]     Checking libloading v0.7.0
[INFO] [stderr]     Checking smallvec v1.6.1
[INFO] [stderr]     Checking once_cell v1.8.0
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling nom v6.2.1
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]    Compiling nix v0.18.0
[INFO] [stderr]     Checking ttf-parser v0.6.2
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.2
[INFO] [stderr]     Checking bytemuck v1.7.2
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.4
[INFO] [stderr]     Checking walkdir v2.3.2
[INFO] [stderr]     Checking libloading v0.6.7
[INFO] [stderr]     Checking dlib v0.5.0
[INFO] [stderr]     Checking instant v0.1.10
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling num-rational v0.4.0
[INFO] [stderr]     Checking xdg v2.2.0
[INFO] [stderr]     Checking safe_arch v0.6.0
[INFO] [stderr]    Compiling typenum v1.13.0
[INFO] [stderr]    Compiling wayland-sys v0.28.6
[INFO] [stderr]    Compiling x11-dl v2.18.5
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling wayland-scanner v0.28.6
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking wide v0.7.0
[INFO] [stderr]     Checking approx v0.5.0
[INFO] [stderr]     Checking num-complex v0.4.0
[INFO] [stderr]     Checking owned_ttf_parser v0.6.0
[INFO] [stderr]     Checking dlib v0.4.2
[INFO] [stderr]     Checking lock_api v0.4.4
[INFO] [stderr]    Compiling ahash v0.7.4
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling winit v0.25.0
[INFO] [stderr]     Checking weezl v0.1.5
[INFO] [stderr]     Checking rusttype v0.9.2
[INFO] [stderr]    Compiling paste v1.0.5
[INFO] [stderr]     Checking matrixmultiply v0.3.1
[INFO] [stderr]     Checking crossbeam v0.8.1
[INFO] [stderr]     Checking andrew v0.3.1
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.5
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.7
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]     Checking gif v0.11.2
[INFO] [stderr]     Checking png v0.16.8
[INFO] [stderr]     Checking xcursor v0.3.3
[INFO] [stderr]     Checking nix v0.20.0
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking mio v0.7.13
[INFO] [stderr]     Checking memmap2 v0.1.0
[INFO] [stderr]     Checking parking_lot_core v0.8.3
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking parking_lot v0.11.1
[INFO] [stderr]     Checking simba v0.6.0
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking mio-misc v1.2.1
[INFO] [stderr]     Checking tobj v3.1.0
[INFO] [stderr]    Compiling wayland-client v0.28.6
[INFO] [stderr]    Compiling wayland-protocols v0.28.6
[INFO] [stderr]     Checking calloop v0.6.5
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]     Checking tiff v0.6.1
[INFO] [stderr]     Checking wayland-commons v0.28.6
[INFO] [stderr]     Checking image v0.23.14
[INFO] [stderr]     Checking nalgebra v0.29.0
[INFO] [stderr]     Checking wayland-cursor v0.28.6
[INFO] [stderr]     Checking wayland-egl v0.28.6
[INFO] [stderr]     Checking nalgebra-glm v0.15.0
[INFO] [stderr]     Checking smithay-client-toolkit v0.12.3
[INFO] [stderr]     Checking glutin v0.27.0
[INFO] [stderr]     Checking gloom-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/main.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed`
[INFO] [stdout]    --> src/main.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |             let elapsed = now.duration_since(first_frame_time).as_secs_f32();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `byte_size_of_array` is never used
[INFO] [stdout]   --> src/main.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn byte_size_of_array<T>(val: &[T]) -> isize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pointer_to_array` is never used
[INFO] [stdout]   --> src/main.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn pointer_to_array<T>(val: &[T]) -> *const c_void {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `size_of` is never used
[INFO] [stdout]   --> src/main.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn size_of<T>() -> i32 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `offset` is never used
[INFO] [stdout]   --> src/main.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn offset<T>(n: u32) -> *const c_void {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shader` is never constructed
[INFO] [stdout]  --> src/shader.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Shader {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShaderBuilder` is never constructed
[INFO] [stdout]   --> src/shader.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct ShaderBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_uniform_location` and `activate` are never used
[INFO] [stdout]   --> src/shader.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Shader {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 28 |     // Make sure the shader is active before calling this
[INFO] [stdout] 29 |     pub unsafe fn get_uniform_location(&self, name: &str) -> i32 {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub unsafe fn activate(&self) {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_ext` is never used
[INFO] [stdout]   --> src/shader.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl ShaderType {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 52 |     fn from_ext(ext: &std::ffi::OsStr) -> Result<ShaderType, String> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `attach_file`, `compile_shader`, `check_shader_errors`, `check_linker_errors`, and `link` are never used
[INFO] [stdout]    --> src/shader.rs:65:19
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl ShaderBuilder {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  65 |     pub unsafe fn new() -> ShaderBuilder {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub unsafe fn attach_file(self, shader_path: &str) -> ShaderBuilder {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub unsafe fn compile_shader(mut self, shader_src: &str, shader_type: ShaderType) -> ShaderBuilder {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     unsafe fn check_shader_errors(&self, shader_id: u32) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     unsafe fn check_linker_errors(&self) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub unsafe fn link(self) -> Shader {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/main.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed`
[INFO] [stdout]    --> src/main.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |             let elapsed = now.duration_since(first_frame_time).as_secs_f32();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `byte_size_of_array` is never used
[INFO] [stdout]   --> src/main.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn byte_size_of_array<T>(val: &[T]) -> isize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pointer_to_array` is never used
[INFO] [stdout]   --> src/main.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn pointer_to_array<T>(val: &[T]) -> *const c_void {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `size_of` is never used
[INFO] [stdout]   --> src/main.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn size_of<T>() -> i32 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `offset` is never used
[INFO] [stdout]   --> src/main.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn offset<T>(n: u32) -> *const c_void {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shader` is never constructed
[INFO] [stdout]  --> src/shader.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Shader {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShaderBuilder` is never constructed
[INFO] [stdout]   --> src/shader.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct ShaderBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_uniform_location` and `activate` are never used
[INFO] [stdout]   --> src/shader.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Shader {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 28 |     // Make sure the shader is active before calling this
[INFO] [stdout] 29 |     pub unsafe fn get_uniform_location(&self, name: &str) -> i32 {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub unsafe fn activate(&self) {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_ext` is never used
[INFO] [stdout]   --> src/shader.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl ShaderType {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 52 |     fn from_ext(ext: &std::ffi::OsStr) -> Result<ShaderType, String> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `attach_file`, `compile_shader`, `check_shader_errors`, `check_linker_errors`, and `link` are never used
[INFO] [stdout]    --> src/shader.rs:65:19
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl ShaderBuilder {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  65 |     pub unsafe fn new() -> ShaderBuilder {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub unsafe fn attach_file(self, shader_path: &str) -> ShaderBuilder {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub unsafe fn compile_shader(mut self, shader_src: &str, shader_type: ShaderType) -> ShaderBuilder {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     unsafe fn check_shader_errors(&self, shader_id: u32) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     unsafe fn check_linker_errors(&self) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub unsafe fn link(self) -> Shader {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 26.69s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v6.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "4b33198bab5a53e88a61bd1feb2f1033ea61fa1d8c23fb13b124adb68c2a2f83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4b33198bab5a53e88a61bd1feb2f1033ea61fa1d8c23fb13b124adb68c2a2f83", kill_on_drop: false }`
[INFO] [stdout] 4b33198bab5a53e88a61bd1feb2f1033ea61fa1d8c23fb13b124adb68c2a2f83
