[INFO] cloning repository https://github.com/klx01/opengl_rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/klx01/opengl_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fklx01%2Fopengl_rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fklx01%2Fopengl_rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6360c48fc9b0b7224ef7974f9c93f3d8c1ba045c
[INFO] checking klx01/opengl_rust against 895980e0290783bb09b1ccf1b11f14eb09b10430 for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fklx01%2Fopengl_rust" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/klx01/opengl_rust
[INFO] finished tweaking git repo https://github.com/klx01/opengl_rust
[INFO] tweaked toml for git repo https://github.com/klx01/opengl_rust written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/klx01/opengl_rust on toolchain 895980e0290783bb09b1ccf1b11f14eb09b10430
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/klx01/opengl_rust 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" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] f079d195cf35f2053b31a81a15a21a1aba98faac4db2be3444c1574477ea792d
[INFO] running `Command { std: "docker" "start" "f079d195cf35f2053b31a81a15a21a1aba98faac4db2be3444c1574477ea792d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f079d195cf35f2053b31a81a15a21a1aba98faac4db2be3444c1574477ea792d", 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" "f079d195cf35f2053b31a81a15a21a1aba98faac4db2be3444c1574477ea792d" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f079d195cf35f2053b31a81a15a21a1aba98faac4db2be3444c1574477ea792d", 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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f079d195cf35f2053b31a81a15a21a1aba98faac4db2be3444c1574477ea792d" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.1.34
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling libc v0.2.162
[INFO] [stderr]    Compiling xml-rs v0.8.22
[INFO] [stderr]     Checking bytemuck v1.16.0
[INFO] [stderr]     Checking zune-jpeg v0.4.13
[INFO] [stderr]     Checking glam v0.29.2
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling cmake v0.1.51
[INFO] [stderr]    Compiling libz-sys v1.1.20
[INFO] [stderr]    Compiling spng-sys v0.2.0-alpha.3
[INFO] [stderr]    Compiling glfw-sys v5.0.0+3.3.9
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]     Checking glfw v0.58.0
[INFO] [stderr]     Checking spng v0.2.0-alpha.3
[INFO] [stderr]     Checking opengl_rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable `interpolation` is assigned to, but never used
[INFO] [stdout]   --> src/main.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut interpolation = 0.2;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_interpolation` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sin_half`
[INFO] [stdout]    --> src/main.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let sin_half = sin / 2.0;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sin_half`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> src/main.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let model = glam::Mat4::from_rotation_x(rot_x)
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `interpolation` is never read
[INFO] [stdout]    --> src/main.rs:114:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |                 interpolation += 0.1;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 123 |                 interpolation -= 0.1;
[INFO] [stdout]     |                 -------------------- `interpolation` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `interpolation` is never read
[INFO] [stdout]    --> src/main.rs:123:17
[INFO] [stdout]     |
[INFO] [stdout] 123 |                 interpolation -= 0.1;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_string` is never used
[INFO] [stdout]    --> src/main.rs:208:4
[INFO] [stdout]     |
[INFO] [stdout] 208 | fn dump_string(name: gl::types::GLenum) {
[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 `dump_string_ptr` is never used
[INFO] [stdout]    --> src/main.rs:214:11
[INFO] [stdout]     |
[INFO] [stdout] 214 | unsafe fn dump_string_ptr(ptr: *const gl::types::GLubyte, name: gl::types::GLenum) {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_stringi` is never used
[INFO] [stdout]    --> src/main.rs:222:4
[INFO] [stdout]     |
[INFO] [stdout] 222 | fn dump_stringi(string_name: gl::types::GLenum, int_name: gl::types::GLenum) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_uniforms` is never used
[INFO] [stdout]   --> src/shader.rs:47:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ShaderProgram {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub(crate) fn list_uniforms(&self) {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_location_4f`, `set_location_1f`, `get_location_by_index`, and `inner` are never used
[INFO] [stdout]    --> src/shader.rs:140:19
[INFO] [stdout]     |
[INFO] [stdout] 127 | impl ProgramWithUniforms {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub(crate) fn set_location_4f(&self, index: usize, v1: f32, v2: f32, v3: f32, v4: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub(crate) fn set_location_1f(&self, index: usize, value: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub(crate) fn get_location_by_index(&self, index: usize) -> i32 {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub(crate) fn inner(&self) -> &ShaderProgram {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_vertices_count` is never used
[INFO] [stdout]   --> src/mesh.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn get_vertices_count(attribute_sizes: &[i32], floats_count: usize) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_attributes_batched` is never used
[INFO] [stdout]   --> src/mesh.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn set_attributes_batched(attribute_sizes: &[i32], floats_count: usize) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_batched` is never used
[INFO] [stdout]    --> src/mesh.rs:101:19
[INFO] [stdout]     |
[INFO] [stdout]  92 | impl MeshWithIndices {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub(crate) fn new_batched(vertices: &[f32], indices: &[u32], attribute_sizes: &[i32]) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MeshNoIndices` is never constructed
[INFO] [stdout]    --> src/mesh.rs:138:19
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub(crate) struct MeshNoIndices {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new_interleaved`, `new_batched`, and `unbind` are never used
[INFO] [stdout]    --> src/mesh.rs:145:19
[INFO] [stdout]     |
[INFO] [stdout] 144 | impl MeshNoIndices {
[INFO] [stdout]     | ------------------ associated functions in this implementation
[INFO] [stdout] 145 |     pub(crate) fn new_interleaved(vertices: &[f32], attribute_sizes: &[i32]) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub(crate) fn new_batched(vertices: &[f32], attribute_sizes: &[i32]) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     fn unbind() {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `triangle` is never used
[INFO] [stdout]  --> src/meshes.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub(crate) fn triangle() -> MeshNoIndices {
[INFO] [stdout]   |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `two_triangles` is never used
[INFO] [stdout]   --> src/meshes.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) fn two_triangles() -> MeshNoIndices {
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `two_triangles_split` is never used
[INFO] [stdout]   --> src/meshes.rs:25:15
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) fn two_triangles_split() -> [MeshNoIndices; 2] {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rectangle` is never used
[INFO] [stdout]   --> src/meshes.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub(crate) fn rectangle() -> MeshWithIndices {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rectangle_screen` is never used
[INFO] [stdout]   --> src/meshes.rs:55:15
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub(crate) fn rectangle_screen() -> MeshWithIndices {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multi_attr_indices_interleaved` is never used
[INFO] [stdout]   --> src/meshes.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub(crate) fn multi_attr_indices_interleaved() -> MeshWithIndices {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multi_attr_indices_batched` is never used
[INFO] [stdout]   --> src/meshes.rs:80:15
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub(crate) fn multi_attr_indices_batched() -> MeshWithIndices {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multi_attr_no_indices_interleaved` is never used
[INFO] [stdout]   --> src/meshes.rs:95:15
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub(crate) fn multi_attr_no_indices_interleaved() -> MeshNoIndices {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multi_attr_no_indices_batched` is never used
[INFO] [stdout]    --> src/meshes.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub(crate) fn multi_attr_no_indices_batched() -> MeshNoIndices {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rectangle_texture` is never used
[INFO] [stdout]    --> src/meshes.rs:119:15
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub(crate) fn rectangle_texture() -> MeshWithIndices {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cube0` is never used
[INFO] [stdout]    --> src/meshes.rs:134:15
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub(crate) fn cube0() -> MeshNoIndices {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERT_SHADER_NOOP` is never used
[INFO] [stdout]  --> src/shaders.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const VERT_SHADER_NOOP: &str = include_str!("shaders/noop.vert");
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERT_SHADER_UPSIDE_DOWN` is never used
[INFO] [stdout]  --> src/shaders.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const VERT_SHADER_UPSIDE_DOWN: &str = include_str!("shaders/upside_down.vert");
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERT_SHADER_OFFSET` is never used
[INFO] [stdout]  --> src/shaders.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const VERT_SHADER_OFFSET: &str = include_str!("shaders/offset.vert");
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERT_SHADER_POS_COLOUR` is never used
[INFO] [stdout]  --> src/shaders.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const VERT_SHADER_POS_COLOUR: &str = include_str!("shaders/position_colour.vert");
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERT_SHADER_IN_COLOUR` is never used
[INFO] [stdout]  --> src/shaders.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const VERT_SHADER_IN_COLOUR: &str = include_str!("shaders/input_colour.vert");
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERT_SHADER_COLOUR_AND_TEXTURE` is never used
[INFO] [stdout]  --> src/shaders.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const VERT_SHADER_COLOUR_AND_TEXTURE: &str = include_str!("shaders/colour_and_texture.vert");
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERT_SHADER_TRANSFORM` is never used
[INFO] [stdout]  --> src/shaders.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const VERT_SHADER_TRANSFORM: &str = include_str!("shaders/transform.vert");
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERT_SHADER_MVP` is never used
[INFO] [stdout]   --> src/shaders.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const VERT_SHADER_MVP: &str = include_str!("shaders/mvp.vert");
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAG_SHADER_ORANGE` is never used
[INFO] [stdout]   --> src/shaders.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const FRAG_SHADER_ORANGE: &str = include_str!("shaders/orange.frag");
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAG_SHADER_YELLOW` is never used
[INFO] [stdout]   --> src/shaders.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const FRAG_SHADER_YELLOW: &str = include_str!("shaders/yellow.frag");
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAG_SHADER_IN_COLOUR` is never used
[INFO] [stdout]   --> src/shaders.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const FRAG_SHADER_IN_COLOUR: &str = include_str!("shaders/input_colour.frag");
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAG_SHADER_UNI_COLOUR` is never used
[INFO] [stdout]   --> src/shaders.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const FRAG_SHADER_UNI_COLOUR: &str = include_str!("shaders/uniform_colour.frag");
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAG_SHADER_COLOUR_AND_TEXTURE` is never used
[INFO] [stdout]   --> src/shaders.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const FRAG_SHADER_COLOUR_AND_TEXTURE: &str = include_str!("shaders/colour_and_texture.frag");
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_orange` is never used
[INFO] [stdout]   --> src/shaders.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) fn program_orange() -> Option<ShaderProgram> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_upside_down` is never used
[INFO] [stdout]   --> src/shaders.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) fn program_upside_down() -> Option<ShaderProgram> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_offset` is never used
[INFO] [stdout]   --> src/shaders.rs:27:15
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub(crate) fn program_offset() -> Option<ProgramWithUniforms> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_yellow` is never used
[INFO] [stdout]   --> src/shaders.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub(crate) fn program_yellow() -> Option<ShaderProgram> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_pos_colour` is never used
[INFO] [stdout]   --> src/shaders.rs:36:15
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(crate) fn program_pos_colour() -> Option<ShaderProgram> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_transform` is never used
[INFO] [stdout]   --> src/shaders.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub(crate) fn program_transform() -> Option<ProgramWithUniforms> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_mvp` is never used
[INFO] [stdout]   --> src/shaders.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub(crate) fn program_mvp() -> Option<ProgramWithUniforms> {
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_in_colour` is never used
[INFO] [stdout]   --> src/shaders.rs:55:15
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub(crate) fn program_in_colour() -> Option<ShaderProgram> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_colour_and_texture` is never used
[INFO] [stdout]   --> src/shaders.rs:59:15
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub(crate) fn program_colour_and_texture() -> Option<ProgramWithUniforms> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_set_colour` is never used
[INFO] [stdout]   --> src/shaders.rs:64:15
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub(crate) fn program_set_colour() -> Option<ProgramWithUniforms> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `interpolation` is assigned to, but never used
[INFO] [stdout]   --> src/main.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut interpolation = 0.2;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_interpolation` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sin_half`
[INFO] [stdout]    --> src/main.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let sin_half = sin / 2.0;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sin_half`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> src/main.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let model = glam::Mat4::from_rotation_x(rot_x)
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `interpolation` is never read
[INFO] [stdout]    --> src/main.rs:114:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |                 interpolation += 0.1;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 123 |                 interpolation -= 0.1;
[INFO] [stdout]     |                 -------------------- `interpolation` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `interpolation` is never read
[INFO] [stdout]    --> src/main.rs:123:17
[INFO] [stdout]     |
[INFO] [stdout] 123 |                 interpolation -= 0.1;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_string` is never used
[INFO] [stdout]    --> src/main.rs:208:4
[INFO] [stdout]     |
[INFO] [stdout] 208 | fn dump_string(name: gl::types::GLenum) {
[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 `dump_string_ptr` is never used
[INFO] [stdout]    --> src/main.rs:214:11
[INFO] [stdout]     |
[INFO] [stdout] 214 | unsafe fn dump_string_ptr(ptr: *const gl::types::GLubyte, name: gl::types::GLenum) {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_stringi` is never used
[INFO] [stdout]    --> src/main.rs:222:4
[INFO] [stdout]     |
[INFO] [stdout] 222 | fn dump_stringi(string_name: gl::types::GLenum, int_name: gl::types::GLenum) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_uniforms` is never used
[INFO] [stdout]   --> src/shader.rs:47:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ShaderProgram {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub(crate) fn list_uniforms(&self) {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_location_4f`, `set_location_1f`, `get_location_by_index`, and `inner` are never used
[INFO] [stdout]    --> src/shader.rs:140:19
[INFO] [stdout]     |
[INFO] [stdout] 127 | impl ProgramWithUniforms {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub(crate) fn set_location_4f(&self, index: usize, v1: f32, v2: f32, v3: f32, v4: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub(crate) fn set_location_1f(&self, index: usize, value: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub(crate) fn get_location_by_index(&self, index: usize) -> i32 {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub(crate) fn inner(&self) -> &ShaderProgram {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_vertices_count` is never used
[INFO] [stdout]   --> src/mesh.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn get_vertices_count(attribute_sizes: &[i32], floats_count: usize) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_attributes_batched` is never used
[INFO] [stdout]   --> src/mesh.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn set_attributes_batched(attribute_sizes: &[i32], floats_count: usize) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_batched` is never used
[INFO] [stdout]    --> src/mesh.rs:101:19
[INFO] [stdout]     |
[INFO] [stdout]  92 | impl MeshWithIndices {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub(crate) fn new_batched(vertices: &[f32], indices: &[u32], attribute_sizes: &[i32]) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MeshNoIndices` is never constructed
[INFO] [stdout]    --> src/mesh.rs:138:19
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub(crate) struct MeshNoIndices {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new_interleaved`, `new_batched`, and `unbind` are never used
[INFO] [stdout]    --> src/mesh.rs:145:19
[INFO] [stdout]     |
[INFO] [stdout] 144 | impl MeshNoIndices {
[INFO] [stdout]     | ------------------ associated functions in this implementation
[INFO] [stdout] 145 |     pub(crate) fn new_interleaved(vertices: &[f32], attribute_sizes: &[i32]) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub(crate) fn new_batched(vertices: &[f32], attribute_sizes: &[i32]) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     fn unbind() {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `triangle` is never used
[INFO] [stdout]  --> src/meshes.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub(crate) fn triangle() -> MeshNoIndices {
[INFO] [stdout]   |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `two_triangles` is never used
[INFO] [stdout]   --> src/meshes.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) fn two_triangles() -> MeshNoIndices {
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `two_triangles_split` is never used
[INFO] [stdout]   --> src/meshes.rs:25:15
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) fn two_triangles_split() -> [MeshNoIndices; 2] {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rectangle` is never used
[INFO] [stdout]   --> src/meshes.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub(crate) fn rectangle() -> MeshWithIndices {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rectangle_screen` is never used
[INFO] [stdout]   --> src/meshes.rs:55:15
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub(crate) fn rectangle_screen() -> MeshWithIndices {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multi_attr_indices_interleaved` is never used
[INFO] [stdout]   --> src/meshes.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub(crate) fn multi_attr_indices_interleaved() -> MeshWithIndices {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multi_attr_indices_batched` is never used
[INFO] [stdout]   --> src/meshes.rs:80:15
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub(crate) fn multi_attr_indices_batched() -> MeshWithIndices {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multi_attr_no_indices_interleaved` is never used
[INFO] [stdout]   --> src/meshes.rs:95:15
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub(crate) fn multi_attr_no_indices_interleaved() -> MeshNoIndices {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multi_attr_no_indices_batched` is never used
[INFO] [stdout]    --> src/meshes.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub(crate) fn multi_attr_no_indices_batched() -> MeshNoIndices {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rectangle_texture` is never used
[INFO] [stdout]    --> src/meshes.rs:119:15
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub(crate) fn rectangle_texture() -> MeshWithIndices {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cube0` is never used
[INFO] [stdout]    --> src/meshes.rs:134:15
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub(crate) fn cube0() -> MeshNoIndices {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERT_SHADER_NOOP` is never used
[INFO] [stdout]  --> src/shaders.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const VERT_SHADER_NOOP: &str = include_str!("shaders/noop.vert");
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERT_SHADER_UPSIDE_DOWN` is never used
[INFO] [stdout]  --> src/shaders.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const VERT_SHADER_UPSIDE_DOWN: &str = include_str!("shaders/upside_down.vert");
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERT_SHADER_OFFSET` is never used
[INFO] [stdout]  --> src/shaders.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const VERT_SHADER_OFFSET: &str = include_str!("shaders/offset.vert");
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERT_SHADER_POS_COLOUR` is never used
[INFO] [stdout]  --> src/shaders.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const VERT_SHADER_POS_COLOUR: &str = include_str!("shaders/position_colour.vert");
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERT_SHADER_IN_COLOUR` is never used
[INFO] [stdout]  --> src/shaders.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const VERT_SHADER_IN_COLOUR: &str = include_str!("shaders/input_colour.vert");
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERT_SHADER_COLOUR_AND_TEXTURE` is never used
[INFO] [stdout]  --> src/shaders.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const VERT_SHADER_COLOUR_AND_TEXTURE: &str = include_str!("shaders/colour_and_texture.vert");
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERT_SHADER_TRANSFORM` is never used
[INFO] [stdout]  --> src/shaders.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const VERT_SHADER_TRANSFORM: &str = include_str!("shaders/transform.vert");
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERT_SHADER_MVP` is never used
[INFO] [stdout]   --> src/shaders.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const VERT_SHADER_MVP: &str = include_str!("shaders/mvp.vert");
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAG_SHADER_ORANGE` is never used
[INFO] [stdout]   --> src/shaders.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const FRAG_SHADER_ORANGE: &str = include_str!("shaders/orange.frag");
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAG_SHADER_YELLOW` is never used
[INFO] [stdout]   --> src/shaders.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const FRAG_SHADER_YELLOW: &str = include_str!("shaders/yellow.frag");
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAG_SHADER_IN_COLOUR` is never used
[INFO] [stdout]   --> src/shaders.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const FRAG_SHADER_IN_COLOUR: &str = include_str!("shaders/input_colour.frag");
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAG_SHADER_UNI_COLOUR` is never used
[INFO] [stdout]   --> src/shaders.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const FRAG_SHADER_UNI_COLOUR: &str = include_str!("shaders/uniform_colour.frag");
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAG_SHADER_COLOUR_AND_TEXTURE` is never used
[INFO] [stdout]   --> src/shaders.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const FRAG_SHADER_COLOUR_AND_TEXTURE: &str = include_str!("shaders/colour_and_texture.frag");
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_orange` is never used
[INFO] [stdout]   --> src/shaders.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) fn program_orange() -> Option<ShaderProgram> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_upside_down` is never used
[INFO] [stdout]   --> src/shaders.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) fn program_upside_down() -> Option<ShaderProgram> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_offset` is never used
[INFO] [stdout]   --> src/shaders.rs:27:15
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub(crate) fn program_offset() -> Option<ProgramWithUniforms> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_yellow` is never used
[INFO] [stdout]   --> src/shaders.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub(crate) fn program_yellow() -> Option<ShaderProgram> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_pos_colour` is never used
[INFO] [stdout]   --> src/shaders.rs:36:15
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(crate) fn program_pos_colour() -> Option<ShaderProgram> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_transform` is never used
[INFO] [stdout]   --> src/shaders.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub(crate) fn program_transform() -> Option<ProgramWithUniforms> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_mvp` is never used
[INFO] [stdout]   --> src/shaders.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub(crate) fn program_mvp() -> Option<ProgramWithUniforms> {
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_in_colour` is never used
[INFO] [stdout]   --> src/shaders.rs:55:15
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub(crate) fn program_in_colour() -> Option<ShaderProgram> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_colour_and_texture` is never used
[INFO] [stdout]   --> src/shaders.rs:59:15
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub(crate) fn program_colour_and_texture() -> Option<ProgramWithUniforms> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_set_colour` is never used
[INFO] [stdout]   --> src/shaders.rs:64:15
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub(crate) fn program_set_colour() -> Option<ProgramWithUniforms> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.47s
[INFO] running `Command { std: "docker" "inspect" "f079d195cf35f2053b31a81a15a21a1aba98faac4db2be3444c1574477ea792d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f079d195cf35f2053b31a81a15a21a1aba98faac4db2be3444c1574477ea792d", kill_on_drop: false }`
[INFO] [stdout] f079d195cf35f2053b31a81a15a21a1aba98faac4db2be3444c1574477ea792d
