[INFO] updating cached repository Zen12/learn_rust_opengl [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/Zen12/learn_rust_opengl [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/Zen12/learn_rust_opengl" "work/ex/clippy-test-run/sources/stable/gh/Zen12/learn_rust_opengl"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/Zen12/learn_rust_opengl'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/Zen12/learn_rust_opengl" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Zen12/learn_rust_opengl"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Zen12/learn_rust_opengl'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 188acb6adcd6de196c34ee458f21449e10adc03d [INFO] sha for GitHub repo Zen12/learn_rust_opengl: 188acb6adcd6de196c34ee458f21449e10adc03d [INFO] validating manifest of Zen12/learn_rust_opengl on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of Zen12/learn_rust_opengl on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing Zen12/learn_rust_opengl [INFO] finished frobbing Zen12/learn_rust_opengl [INFO] frobbed toml for Zen12/learn_rust_opengl written to work/ex/clippy-test-run/sources/stable/gh/Zen12/learn_rust_opengl/Cargo.toml [INFO] started frobbing Zen12/learn_rust_opengl [INFO] finished frobbing Zen12/learn_rust_opengl [INFO] frobbed toml for Zen12/learn_rust_opengl written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Zen12/learn_rust_opengl/Cargo.toml [INFO] crate Zen12/learn_rust_opengl has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting Zen12/learn_rust_opengl against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/Zen12/learn_rust_opengl:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 693457319d4cf58c34ae82f230bdb5d132ee231cd532c869b32cb0dfc76ce727 [INFO] running `"docker" "start" "-a" "693457319d4cf58c34ae82f230bdb5d132ee231cd532c869b32cb0dfc76ce727"` [INFO] [stderr] Compiling cmake v0.1.28 [INFO] [stderr] Checking cgmath v0.14.1 [INFO] [stderr] Checking png v0.8.0 [INFO] [stderr] Checking rayon v0.8.2 [INFO] [stderr] Compiling gl v0.6.5 [INFO] [stderr] Compiling glfw-sys v3.2.2 [INFO] [stderr] Checking jpeg-decoder v0.1.13 [INFO] [stderr] Checking image v0.14.0 [INFO] [stderr] Checking glfw v0.15.0 [INFO] [stderr] Checking learn_me_opengl v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/window.rs:45:17 [INFO] [stderr] | [INFO] [stderr] 45 | Window {window : window, events : events, glfw : glfw, last_frame : 0f32, delta_time : 0f32} [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `window` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/window.rs:45:34 [INFO] [stderr] | [INFO] [stderr] 45 | Window {window : window, events : events, glfw : glfw, last_frame : 0f32, delta_time : 0f32} [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `events` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/window.rs:45:51 [INFO] [stderr] | [INFO] [stderr] 45 | Window {window : window, events : events, glfw : glfw, last_frame : 0f32, delta_time : 0f32} [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `glfw` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/renderer/mesh.rs:64:15 [INFO] [stderr] | [INFO] [stderr] 64 | Mesh {vertices : vertices, indices:indices, vao : vao, vbo : vbo, ebo : ebo} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `vertices` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/renderer/mesh.rs:64:36 [INFO] [stderr] | [INFO] [stderr] 64 | Mesh {vertices : vertices, indices:indices, vao : vao, vbo : vbo, ebo : ebo} [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `indices` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/renderer/mesh.rs:64:53 [INFO] [stderr] | [INFO] [stderr] 64 | Mesh {vertices : vertices, indices:indices, vao : vao, vbo : vbo, ebo : ebo} [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `vao` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/renderer/mesh.rs:64:64 [INFO] [stderr] | [INFO] [stderr] 64 | Mesh {vertices : vertices, indices:indices, vao : vao, vbo : vbo, ebo : ebo} [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `vbo` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/renderer/mesh.rs:64:75 [INFO] [stderr] | [INFO] [stderr] 64 | Mesh {vertices : vertices, indices:indices, vao : vao, vbo : vbo, ebo : ebo} [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `ebo` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/renderer/camera.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | Camera {transform: transform, Zoom : 45.0} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transform` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mesh_builder.rs:67:23 [INFO] [stderr] | [INFO] [stderr] 67 | Mesh_Builder {mesh : mesh} [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `mesh` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mesh_builder.rs:145:23 [INFO] [stderr] | [INFO] [stderr] 145 | Mesh_Builder {mesh : mesh} [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `mesh` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:44:87 [INFO] [stderr] | [INFO] [stderr] 44 | let mat = renderer::Material {shader : s, name : String::from ("Default Shader"), color : color}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:52:48 [INFO] [stderr] | [INFO] [stderr] 52 | let mut object = game_object::Game_object {transform : transform, material : mat, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transform` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:53:49 [INFO] [stderr] | [INFO] [stderr] 53 | mesh : mesh}; [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `mesh` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:61:87 [INFO] [stderr] | [INFO] [stderr] 61 | let mat = renderer::Material {shader : s, name : String::from ("Default Shader"), color : color}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:69:48 [INFO] [stderr] | [INFO] [stderr] 69 | let mut object = game_object::Game_object {transform : transform, material : mat, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transform` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:70:49 [INFO] [stderr] | [INFO] [stderr] 70 | mesh : mesh}; [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `mesh` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/window.rs:45:17 [INFO] [stderr] | [INFO] [stderr] 45 | Window {window : window, events : events, glfw : glfw, last_frame : 0f32, delta_time : 0f32} [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `window` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/window.rs:45:34 [INFO] [stderr] | [INFO] [stderr] 45 | Window {window : window, events : events, glfw : glfw, last_frame : 0f32, delta_time : 0f32} [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `events` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/window.rs:45:51 [INFO] [stderr] | [INFO] [stderr] 45 | Window {window : window, events : events, glfw : glfw, last_frame : 0f32, delta_time : 0f32} [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `glfw` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/renderer/mesh.rs:64:15 [INFO] [stderr] | [INFO] [stderr] 64 | Mesh {vertices : vertices, indices:indices, vao : vao, vbo : vbo, ebo : ebo} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `vertices` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/renderer/mesh.rs:64:36 [INFO] [stderr] | [INFO] [stderr] 64 | Mesh {vertices : vertices, indices:indices, vao : vao, vbo : vbo, ebo : ebo} [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `indices` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/renderer/mesh.rs:64:53 [INFO] [stderr] | [INFO] [stderr] 64 | Mesh {vertices : vertices, indices:indices, vao : vao, vbo : vbo, ebo : ebo} [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `vao` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/renderer/mesh.rs:64:64 [INFO] [stderr] | [INFO] [stderr] 64 | Mesh {vertices : vertices, indices:indices, vao : vao, vbo : vbo, ebo : ebo} [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `vbo` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/renderer/mesh.rs:64:75 [INFO] [stderr] | [INFO] [stderr] 64 | Mesh {vertices : vertices, indices:indices, vao : vao, vbo : vbo, ebo : ebo} [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `ebo` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/renderer/camera.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | Camera {transform: transform, Zoom : 45.0} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transform` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mesh_builder.rs:67:23 [INFO] [stderr] | [INFO] [stderr] 67 | Mesh_Builder {mesh : mesh} [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `mesh` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mesh_builder.rs:145:23 [INFO] [stderr] | [INFO] [stderr] 145 | Mesh_Builder {mesh : mesh} [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `mesh` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:44:87 [INFO] [stderr] | [INFO] [stderr] 44 | let mat = renderer::Material {shader : s, name : String::from ("Default Shader"), color : color}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:52:48 [INFO] [stderr] | [INFO] [stderr] 52 | let mut object = game_object::Game_object {transform : transform, material : mat, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transform` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:53:49 [INFO] [stderr] | [INFO] [stderr] 53 | mesh : mesh}; [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `mesh` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:61:87 [INFO] [stderr] | [INFO] [stderr] 61 | let mat = renderer::Material {shader : s, name : String::from ("Default Shader"), color : color}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:69:48 [INFO] [stderr] | [INFO] [stderr] 69 | let mut object = game_object::Game_object {transform : transform, material : mat, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transform` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:70:49 [INFO] [stderr] | [INFO] [stderr] 70 | mesh : mesh}; [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `mesh` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Action`, `Context`, `Key` [INFO] [stderr] --> src/main.rs:3:18 [INFO] [stderr] | [INFO] [stderr] 3 | use self::glfw::{Context, Key, Action}; [INFO] [stderr] | ^^^^^^^ ^^^ ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `self::gl::types::*` [INFO] [stderr] --> src/main.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use self::gl::types::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::Receiver` [INFO] [stderr] --> src/main.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::mpsc::Receiver; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/main.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::os::raw::c_void` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::os::raw::c_void; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::env` [INFO] [stderr] --> src/main.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::env; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude::*` [INFO] [stderr] --> src/main.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CStr`, `CString` [INFO] [stderr] --> src/main.rs:14:16 [INFO] [stderr] | [INFO] [stderr] 14 | use std::ffi::{CString, CStr}; [INFO] [stderr] | ^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ptr` [INFO] [stderr] --> src/main.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::ptr; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/macros.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | / macro_rules! offset_of { [INFO] [stderr] 14 | | ($ty:ty, $field:ident) => { [INFO] [stderr] 15 | | &(*(ptr::null() as *const $ty)).$field as *const _ as usize [INFO] [stderr] 16 | | } [INFO] [stderr] 17 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Action`, `Key` [INFO] [stderr] --> src/window.rs:2:27 [INFO] [stderr] | [INFO] [stderr] 2 | use self::glfw::{Context, Key, Action}; [INFO] [stderr] | ^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Action`, `Context`, `Key` [INFO] [stderr] --> src/renderer/mesh.rs:3:18 [INFO] [stderr] | [INFO] [stderr] 3 | use self::glfw::{Context, Key, Action}; [INFO] [stderr] | ^^^^^^^ ^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::Receiver` [INFO] [stderr] --> src/renderer/mesh.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::mpsc::Receiver; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ffi::CString` [INFO] [stderr] --> src/renderer/mesh.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::ffi::CString; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str` [INFO] [stderr] --> src/renderer/mesh.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::str; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Action`, `Context`, `Key` [INFO] [stderr] --> src/renderer/shader.rs:3:18 [INFO] [stderr] | [INFO] [stderr] 3 | use self::glfw::{Context, Key, Action}; [INFO] [stderr] | ^^^^^^^ ^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/renderer/shader.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Read` [INFO] [stderr] --> src/renderer/shader.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::io::Read; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::Receiver` [INFO] [stderr] --> src/renderer/shader.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::sync::mpsc::Receiver; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/renderer/shader.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::os::raw::c_void` [INFO] [stderr] --> src/renderer/shader.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::os::raw::c_void; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/renderer/shader.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cgmath::prelude::*` [INFO] [stderr] --> src/renderer/shader.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | use cgmath::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Action`, `Context`, `Key` [INFO] [stderr] --> src/renderer/texture.rs:3:18 [INFO] [stderr] | [INFO] [stderr] 3 | use self::glfw::{Context, Key, Action}; [INFO] [stderr] | ^^^^^^^ ^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `self::gl::types::*` [INFO] [stderr] --> src/renderer/texture.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use self::gl::types::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::Receiver` [INFO] [stderr] --> src/renderer/texture.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::mpsc::Receiver; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ptr` [INFO] [stderr] --> src/renderer/texture.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::ptr; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/renderer/texture.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cgmath::prelude::*` [INFO] [stderr] --> src/renderer/mod.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use cgmath::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `renderer::mesh` [INFO] [stderr] --> src/mesh_builder.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use renderer::mesh; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `game_object` [INFO] [stderr] --> src/mesh_builder.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use game_object; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/mesh_builder.rs:74:30 [INFO] [stderr] | [INFO] [stderr] 74 | let twicePi = 2f32 * 3.14159265358979f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `3.141_592_653_589_79f32` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/mesh_builder.rs:115:20 [INFO] [stderr] | [INFO] [stderr] 115 | if (j as i32 > sub as i32 -3){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/mesh_builder.rs:121:16 [INFO] [stderr] | [INFO] [stderr] 121 | if (i as i32>= vertices.len() as i32){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `input` [INFO] [stderr] --> src/game_object.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use input; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Action`, `Context`, `Key` [INFO] [stderr] --> src/transform.rs:3:18 [INFO] [stderr] | [INFO] [stderr] 3 | use self::glfw::{Context, Key, Action}; [INFO] [stderr] | ^^^^^^^ ^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `self::gl::types::*` [INFO] [stderr] --> src/transform.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use self::gl::types::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::Receiver` [INFO] [stderr] --> src/transform.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::mpsc::Receiver; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ptr` [INFO] [stderr] --> src/transform.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::ptr; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/transform.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::os::raw::c_void` [INFO] [stderr] --> src/transform.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::os::raw::c_void; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/transform.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ffi::CStr` [INFO] [stderr] --> src/transform.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::ffi::CStr; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Context` [INFO] [stderr] --> src/input.rs:2:18 [INFO] [stderr] | [INFO] [stderr] 2 | use self::glfw::{Context, Key, Action}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::Receiver` [INFO] [stderr] --> src/input.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::sync::mpsc::Receiver; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | object [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:52:22 [INFO] [stderr] | [INFO] [stderr] 52 | let mut object = game_object::Game_object {transform : transform, material : mat, [INFO] [stderr] | ______________________^ [INFO] [stderr] 53 | | mesh : mesh}; [INFO] [stderr] | |____________________________________________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | object [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:69:22 [INFO] [stderr] | [INFO] [stderr] 69 | let mut object = game_object::Game_object {transform : transform, material : mat, [INFO] [stderr] | ______________________^ [INFO] [stderr] 70 | | mesh : mesh}; [INFO] [stderr] | |____________________________________________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:112:12 [INFO] [stderr] | [INFO] [stderr] 112 | if (input.key_esc) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:119:12 [INFO] [stderr] | [INFO] [stderr] 119 | if (input.key_w) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:124:12 [INFO] [stderr] | [INFO] [stderr] 124 | if (input.key_s) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:129:12 [INFO] [stderr] | [INFO] [stderr] 129 | if (input.key_a) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:134:12 [INFO] [stderr] | [INFO] [stderr] 134 | if (input.key_d) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:139:12 [INFO] [stderr] | [INFO] [stderr] 139 | if (input.key_q) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:144:12 [INFO] [stderr] | [INFO] [stderr] 144 | if (input.key_e) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Action`, `Context`, `Key` [INFO] [stderr] --> src/main.rs:3:18 [INFO] [stderr] | [INFO] [stderr] 3 | use self::glfw::{Context, Key, Action}; [INFO] [stderr] | ^^^^^^^ ^^^ ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `self::gl::types::*` [INFO] [stderr] --> src/main.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use self::gl::types::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::Receiver` [INFO] [stderr] --> src/main.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::mpsc::Receiver; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/main.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::os::raw::c_void` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::os::raw::c_void; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::env` [INFO] [stderr] --> src/main.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::env; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude::*` [INFO] [stderr] --> src/main.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CStr`, `CString` [INFO] [stderr] --> src/main.rs:14:16 [INFO] [stderr] | [INFO] [stderr] 14 | use std::ffi::{CString, CStr}; [INFO] [stderr] | ^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ptr` [INFO] [stderr] --> src/main.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::ptr; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/macros.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | / macro_rules! offset_of { [INFO] [stderr] 14 | | ($ty:ty, $field:ident) => { [INFO] [stderr] 15 | | &(*(ptr::null() as *const $ty)).$field as *const _ as usize [INFO] [stderr] 16 | | } [INFO] [stderr] 17 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Action`, `Key` [INFO] [stderr] --> src/window.rs:2:27 [INFO] [stderr] | [INFO] [stderr] 2 | use self::glfw::{Context, Key, Action}; [INFO] [stderr] | ^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Action`, `Context`, `Key` [INFO] [stderr] --> src/renderer/mesh.rs:3:18 [INFO] [stderr] | [INFO] [stderr] 3 | use self::glfw::{Context, Key, Action}; [INFO] [stderr] | ^^^^^^^ ^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::Receiver` [INFO] [stderr] --> src/renderer/mesh.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::mpsc::Receiver; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ffi::CString` [INFO] [stderr] --> src/renderer/mesh.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::ffi::CString; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str` [INFO] [stderr] --> src/renderer/mesh.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::str; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cgmath::prelude` [INFO] [stderr] --> src/renderer/camera.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use cgmath::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cgmath` [INFO] [stderr] --> src/mesh_builder.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use cgmath::*; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tex` [INFO] [stderr] --> src/main.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | let tex = renderer::texture::Texture::new (String::from ("res/tex/container.jpg")); [INFO] [stderr] | ^^^ help: consider using `_tex` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tex` [INFO] [stderr] --> src/main.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | let tex = renderer::texture::Texture::new (String::from ("res/tex/container.jpg")); [INFO] [stderr] | ^^^ help: consider using `_tex` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time` [INFO] [stderr] --> src/main.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | let time = win.get_time() as f32; [INFO] [stderr] | ^^^^ help: consider using `_time` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time` [INFO] [stderr] --> src/renderer/shader.rs:33:60 [INFO] [stderr] | [INFO] [stderr] 33 | pub unsafe fn update(&self, vao : u32, num_vert : i32, time : f32, color : Vector4, [INFO] [stderr] | ^^^^ help: consider using `_time` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `textureID` is never read [INFO] [stderr] --> src/renderer/texture.rs:26:17 [INFO] [stderr] | [INFO] [stderr] 26 | let mut textureID = 0; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `path` [INFO] [stderr] --> src/renderer/texture.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn new (path : String) -> Texture { [INFO] [stderr] | ^^^^ help: consider using `_path` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k` [INFO] [stderr] --> src/mesh_builder.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | for k in 0..sub { [INFO] [stderr] | ^ help: consider using `_k` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `lenght` [INFO] [stderr] --> src/mesh_builder.rs:89:39 [INFO] [stderr] | [INFO] [stderr] 89 | pub fn create_cylindre(sub : u32, lenght : u32, radius : f32) -> Mesh_Builder { [INFO] [stderr] | ^^^^^^ help: consider using `_lenght` instead [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Action`, `Context`, `Key` [INFO] [stderr] --> src/renderer/shader.rs:3:18 [INFO] [stderr] | [INFO] [stderr] 3 | use self::glfw::{Context, Key, Action}; [INFO] [stderr] | ^^^^^^^ ^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/renderer/shader.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Read` [INFO] [stderr] --> src/renderer/shader.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::io::Read; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::Receiver` [INFO] [stderr] --> src/renderer/shader.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::sync::mpsc::Receiver; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/renderer/shader.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::os::raw::c_void` [INFO] [stderr] --> src/renderer/shader.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::os::raw::c_void; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/renderer/shader.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cgmath::prelude::*` [INFO] [stderr] --> src/renderer/shader.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | use cgmath::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Action`, `Context`, `Key` [INFO] [stderr] --> src/renderer/texture.rs:3:18 [INFO] [stderr] | [INFO] [stderr] 3 | use self::glfw::{Context, Key, Action}; [INFO] [stderr] | ^^^^^^^ ^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `self::gl::types::*` [INFO] [stderr] --> src/renderer/texture.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use self::gl::types::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::Receiver` [INFO] [stderr] --> src/renderer/texture.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::mpsc::Receiver; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ptr` [INFO] [stderr] --> src/renderer/texture.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::ptr; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/renderer/texture.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cgmath::prelude::*` [INFO] [stderr] --> src/renderer/mod.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use cgmath::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `renderer::mesh` [INFO] [stderr] --> src/mesh_builder.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use renderer::mesh; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `game_object` [INFO] [stderr] --> src/mesh_builder.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use game_object; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/mesh_builder.rs:74:30 [INFO] [stderr] | [INFO] [stderr] 74 | let twicePi = 2f32 * 3.14159265358979f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `3.141_592_653_589_79f32` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/mesh_builder.rs:115:20 [INFO] [stderr] | [INFO] [stderr] 115 | if (j as i32 > sub as i32 -3){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/mesh_builder.rs:121:16 [INFO] [stderr] | [INFO] [stderr] 121 | if (i as i32>= vertices.len() as i32){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `input` [INFO] [stderr] --> src/game_object.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use input; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Action`, `Context`, `Key` [INFO] [stderr] --> src/transform.rs:3:18 [INFO] [stderr] | [INFO] [stderr] 3 | use self::glfw::{Context, Key, Action}; [INFO] [stderr] | ^^^^^^^ ^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `self::gl::types::*` [INFO] [stderr] --> src/transform.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use self::gl::types::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::Receiver` [INFO] [stderr] --> src/transform.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::mpsc::Receiver; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ptr` [INFO] [stderr] --> src/transform.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::ptr; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/transform.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::os::raw::c_void` [INFO] [stderr] --> src/transform.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::os::raw::c_void; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/transform.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ffi::CStr` [INFO] [stderr] --> src/transform.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::ffi::CStr; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Context` [INFO] [stderr] --> src/input.rs:2:18 [INFO] [stderr] | [INFO] [stderr] 2 | use self::glfw::{Context, Key, Action}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::Receiver` [INFO] [stderr] --> src/input.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::sync::mpsc::Receiver; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | object [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:52:22 [INFO] [stderr] | [INFO] [stderr] 52 | let mut object = game_object::Game_object {transform : transform, material : mat, [INFO] [stderr] | ______________________^ [INFO] [stderr] 53 | | mesh : mesh}; [INFO] [stderr] | |____________________________________________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | object [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:69:22 [INFO] [stderr] | [INFO] [stderr] 69 | let mut object = game_object::Game_object {transform : transform, material : mat, [INFO] [stderr] | ______________________^ [INFO] [stderr] 70 | | mesh : mesh}; [INFO] [stderr] | |____________________________________________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:112:12 [INFO] [stderr] | [INFO] [stderr] 112 | if (input.key_esc) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:119:12 [INFO] [stderr] | [INFO] [stderr] 119 | if (input.key_w) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:124:12 [INFO] [stderr] | [INFO] [stderr] 124 | if (input.key_s) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:129:12 [INFO] [stderr] | [INFO] [stderr] 129 | if (input.key_a) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:134:12 [INFO] [stderr] | [INFO] [stderr] 134 | if (input.key_d) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:139:12 [INFO] [stderr] | [INFO] [stderr] 139 | if (input.key_q) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:144:12 [INFO] [stderr] | [INFO] [stderr] 144 | if (input.key_e) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | let mut transform = transform::Transform::create(); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | let mut object = game_object::Game_object {transform : transform, material : mat, [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | let mut transform = transform::Transform::create(); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | let mut object = game_object::Game_object {transform : transform, material : mat, [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/input.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | let mut viewProjectionInverse = self.projection * self.view; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `update` [INFO] [stderr] --> src/renderer/texture.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn update(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `translate` [INFO] [stderr] --> src/transform.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn translate(&mut self, direction : Vector3) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `scale` [INFO] [stderr] --> src/transform.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | pub fn scale(&mut self, scale : Vector3) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_rotation` [INFO] [stderr] --> src/transform.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn get_rotation(&self) -> Vector3 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_mouse_posistion_3d` [INFO] [stderr] --> src/input.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn get_mouse_posistion_3d(&self) -> Vector4 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/window.rs:78:13 [INFO] [stderr] | [INFO] [stderr] 78 | / match event { [INFO] [stderr] 79 | | glfw::WindowEvent::FramebufferSize(width, height) => { [INFO] [stderr] 80 | | // make sure the viewport matches the new window dimensions; note that width and [INFO] [stderr] 81 | | // height will be significantly larger than specified on retina displays. [INFO] [stderr] ... | [INFO] [stderr] 84 | | _ => {} [INFO] [stderr] 85 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 78 | if let glfw::WindowEvent::FramebufferSize(width, height) = event { [INFO] [stderr] 79 | // make sure the viewport matches the new window dimensions; note that width and [INFO] [stderr] 80 | // height will be significantly larger than specified on retina displays. [INFO] [stderr] 81 | unsafe { gl::Viewport(0, 0, width, height) } [INFO] [stderr] 82 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: variable `VBO` should have a snake case name such as `vbo` [INFO] [stderr] --> src/renderer/mesh.rs:32:18 [INFO] [stderr] | [INFO] [stderr] 32 | let (mut VBO, mut VAO, mut EBO) = (0, 0, 0); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable `VAO` should have a snake case name such as `vao` [INFO] [stderr] --> src/renderer/mesh.rs:32:27 [INFO] [stderr] | [INFO] [stderr] 32 | let (mut VBO, mut VAO, mut EBO) = (0, 0, 0); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `EBO` should have a snake case name such as `ebo` [INFO] [stderr] --> src/renderer/mesh.rs:32:36 [INFO] [stderr] | [INFO] [stderr] 32 | let (mut VBO, mut VAO, mut EBO) = (0, 0, 0); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/renderer/shader.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | / pub unsafe fn update(&self, vao : u32, num_vert : i32, time : f32, color : Vector4, [INFO] [stderr] 34 | | model : Matrix4, view : Matrix4, proj : Matrix4) { [INFO] [stderr] 35 | | gl::UseProgram(self.shader_program); [INFO] [stderr] 36 | | self.set_color(color); [INFO] [stderr] ... | [INFO] [stderr] 41 | | gl::DrawElements(gl::TRIANGLES, num_vert, gl::UNSIGNED_INT, ptr::null()); [INFO] [stderr] 42 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: variable `transformLoc` should have a snake case name such as `transform_loc` [INFO] [stderr] --> src/renderer/shader.rs:44:17 [INFO] [stderr] | [INFO] [stderr] 44 | let transformLoc = gl::GetUniformLocation(self.shader_program, c_str!("u_model").as_ptr()); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `colorLoc` should have a snake case name such as `color_loc` [INFO] [stderr] --> src/renderer/shader.rs:59:17 [INFO] [stderr] | [INFO] [stderr] 59 | let colorLoc = gl::GetUniformLocation(self.shader_program, c_str!("u_Color").as_ptr()); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `vertexShader` should have a snake case name such as `vertex_shader` [INFO] [stderr] --> src/renderer/shader.rs:68:17 [INFO] [stderr] | [INFO] [stderr] 68 | let vertexShader = gl::CreateShader(gl::VERTEX_SHADER); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/renderer/shader.rs:74:31 [INFO] [stderr] | [INFO] [stderr] 74 | let mut success = gl::FALSE as GLint; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i32::from(gl::FALSE)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: variable `infoLog` should have a snake case name such as `info_log` [INFO] [stderr] --> src/renderer/shader.rs:75:17 [INFO] [stderr] | [INFO] [stderr] 75 | let mut infoLog = Vec::with_capacity(512); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/renderer/shader.rs:78:27 [INFO] [stderr] | [INFO] [stderr] 78 | if success != gl::TRUE as GLint { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(gl::TRUE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: variable `fragmentShader` should have a snake case name such as `fragment_shader` [INFO] [stderr] --> src/renderer/shader.rs:84:17 [INFO] [stderr] | [INFO] [stderr] 84 | let fragmentShader = gl::CreateShader(gl::FRAGMENT_SHADER); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/renderer/shader.rs:90:27 [INFO] [stderr] | [INFO] [stderr] 90 | if success != gl::TRUE as GLint { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(gl::TRUE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: variable `shaderProgram` should have a snake case name such as `shader_program` [INFO] [stderr] --> src/renderer/shader.rs:96:17 [INFO] [stderr] | [INFO] [stderr] 96 | let shaderProgram = gl::CreateProgram(); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/renderer/shader.rs:102:27 [INFO] [stderr] | [INFO] [stderr] 102 | if success != gl::TRUE as GLint { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(gl::TRUE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: variable `shaderProgram` should have a snake case name such as `shader_program` [INFO] [stderr] --> src/renderer/shader.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | let shaderProgram = unsafe { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `textureID` should have a snake case name such as `texture_id` [INFO] [stderr] --> src/renderer/texture.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | let mut textureID = 0; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `Mesh_Builder` should have a camel case name such as `MeshBuilder` [INFO] [stderr] --> src/mesh_builder.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / pub struct Mesh_Builder { [INFO] [stderr] 10 | | pub mesh : renderer::mesh::Mesh [INFO] [stderr] 11 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: float has excessive precision [INFO] [stderr] --> src/mesh_builder.rs:74:30 [INFO] [stderr] | [INFO] [stderr] 74 | let twicePi = 2f32 * 3.14159265358979f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider changing the type or truncating it to: `3.141_592_7` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::excessive_precision)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stderr] [INFO] [stderr] error: approximate value of `f32::consts::PI` found. Consider using it directly [INFO] [stderr] --> src/mesh_builder.rs:74:30 [INFO] [stderr] | [INFO] [stderr] 74 | let twicePi = 2f32 * 3.14159265358979f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::approx_constant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#approx_constant [INFO] [stderr] [INFO] [stderr] warning: variable `twicePi` should have a snake case name such as `twice_pi` [INFO] [stderr] --> src/mesh_builder.rs:74:13 [INFO] [stderr] | [INFO] [stderr] 74 | let twicePi = 2f32 * 3.14159265358979f32; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is only used to index `c`. [INFO] [stderr] --> src/mesh_builder.rs:95:22 [INFO] [stderr] | [INFO] [stderr] 95 | for j in 0..c.len() { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 95 | for in &c { [INFO] [stderr] | ^^^^^^ ^^ [INFO] [stderr] [INFO] [stderr] warning: type `Game_object` should have a camel case name such as `GameObject` [INFO] [stderr] --> src/game_object.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / pub struct Game_object { [INFO] [stderr] 9 | | pub transform : transform::Transform, [INFO] [stderr] 10 | | pub material : renderer::Material, [INFO] [stderr] 11 | | pub mesh : renderer::mesh::Mesh, [INFO] [stderr] 12 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `viewProjectionInverse` should have a snake case name such as `view_projection_inverse` [INFO] [stderr] --> src/input.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | let mut viewProjectionInverse = self.projection * self.view; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `vIn` should have a snake case name such as `v_in` [INFO] [stderr] --> src/input.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | let vIn = Vector4 {x: f1, y:f2, z:f3, w:f4}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `learn_me_opengl`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unused import: `cgmath::prelude` [INFO] [stderr] --> src/renderer/camera.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use cgmath::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cgmath` [INFO] [stderr] --> src/mesh_builder.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use cgmath::*; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tex` [INFO] [stderr] --> src/main.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | let tex = renderer::texture::Texture::new (String::from ("res/tex/container.jpg")); [INFO] [stderr] | ^^^ help: consider using `_tex` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tex` [INFO] [stderr] --> src/main.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | let tex = renderer::texture::Texture::new (String::from ("res/tex/container.jpg")); [INFO] [stderr] | ^^^ help: consider using `_tex` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time` [INFO] [stderr] --> src/main.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | let time = win.get_time() as f32; [INFO] [stderr] | ^^^^ help: consider using `_time` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time` [INFO] [stderr] --> src/renderer/shader.rs:33:60 [INFO] [stderr] | [INFO] [stderr] 33 | pub unsafe fn update(&self, vao : u32, num_vert : i32, time : f32, color : Vector4, [INFO] [stderr] | ^^^^ help: consider using `_time` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `textureID` is never read [INFO] [stderr] --> src/renderer/texture.rs:26:17 [INFO] [stderr] | [INFO] [stderr] 26 | let mut textureID = 0; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `path` [INFO] [stderr] --> src/renderer/texture.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn new (path : String) -> Texture { [INFO] [stderr] | ^^^^ help: consider using `_path` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k` [INFO] [stderr] --> src/mesh_builder.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | for k in 0..sub { [INFO] [stderr] | ^ help: consider using `_k` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `lenght` [INFO] [stderr] --> src/mesh_builder.rs:89:39 [INFO] [stderr] | [INFO] [stderr] 89 | pub fn create_cylindre(sub : u32, lenght : u32, radius : f32) -> Mesh_Builder { [INFO] [stderr] | ^^^^^^ help: consider using `_lenght` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | let mut transform = transform::Transform::create(); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | let mut object = game_object::Game_object {transform : transform, material : mat, [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | let mut transform = transform::Transform::create(); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | let mut object = game_object::Game_object {transform : transform, material : mat, [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/input.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | let mut viewProjectionInverse = self.projection * self.view; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `update` [INFO] [stderr] --> src/renderer/texture.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn update(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `translate` [INFO] [stderr] --> src/transform.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn translate(&mut self, direction : Vector3) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `scale` [INFO] [stderr] --> src/transform.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | pub fn scale(&mut self, scale : Vector3) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_rotation` [INFO] [stderr] --> src/transform.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn get_rotation(&self) -> Vector3 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_mouse_posistion_3d` [INFO] [stderr] --> src/input.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn get_mouse_posistion_3d(&self) -> Vector4 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/window.rs:78:13 [INFO] [stderr] | [INFO] [stderr] 78 | / match event { [INFO] [stderr] 79 | | glfw::WindowEvent::FramebufferSize(width, height) => { [INFO] [stderr] 80 | | // make sure the viewport matches the new window dimensions; note that width and [INFO] [stderr] 81 | | // height will be significantly larger than specified on retina displays. [INFO] [stderr] ... | [INFO] [stderr] 84 | | _ => {} [INFO] [stderr] 85 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 78 | if let glfw::WindowEvent::FramebufferSize(width, height) = event { [INFO] [stderr] 79 | // make sure the viewport matches the new window dimensions; note that width and [INFO] [stderr] 80 | // height will be significantly larger than specified on retina displays. [INFO] [stderr] 81 | unsafe { gl::Viewport(0, 0, width, height) } [INFO] [stderr] 82 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: variable `VBO` should have a snake case name such as `vbo` [INFO] [stderr] --> src/renderer/mesh.rs:32:18 [INFO] [stderr] | [INFO] [stderr] 32 | let (mut VBO, mut VAO, mut EBO) = (0, 0, 0); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable `VAO` should have a snake case name such as `vao` [INFO] [stderr] --> src/renderer/mesh.rs:32:27 [INFO] [stderr] | [INFO] [stderr] 32 | let (mut VBO, mut VAO, mut EBO) = (0, 0, 0); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `EBO` should have a snake case name such as `ebo` [INFO] [stderr] --> src/renderer/mesh.rs:32:36 [INFO] [stderr] | [INFO] [stderr] 32 | let (mut VBO, mut VAO, mut EBO) = (0, 0, 0); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/renderer/shader.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | / pub unsafe fn update(&self, vao : u32, num_vert : i32, time : f32, color : Vector4, [INFO] [stderr] 34 | | model : Matrix4, view : Matrix4, proj : Matrix4) { [INFO] [stderr] 35 | | gl::UseProgram(self.shader_program); [INFO] [stderr] 36 | | self.set_color(color); [INFO] [stderr] ... | [INFO] [stderr] 41 | | gl::DrawElements(gl::TRIANGLES, num_vert, gl::UNSIGNED_INT, ptr::null()); [INFO] [stderr] 42 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: variable `transformLoc` should have a snake case name such as `transform_loc` [INFO] [stderr] --> src/renderer/shader.rs:44:17 [INFO] [stderr] | [INFO] [stderr] 44 | let transformLoc = gl::GetUniformLocation(self.shader_program, c_str!("u_model").as_ptr()); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `colorLoc` should have a snake case name such as `color_loc` [INFO] [stderr] --> src/renderer/shader.rs:59:17 [INFO] [stderr] | [INFO] [stderr] 59 | let colorLoc = gl::GetUniformLocation(self.shader_program, c_str!("u_Color").as_ptr()); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `vertexShader` should have a snake case name such as `vertex_shader` [INFO] [stderr] --> src/renderer/shader.rs:68:17 [INFO] [stderr] | [INFO] [stderr] 68 | let vertexShader = gl::CreateShader(gl::VERTEX_SHADER); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/renderer/shader.rs:74:31 [INFO] [stderr] | [INFO] [stderr] 74 | let mut success = gl::FALSE as GLint; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i32::from(gl::FALSE)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: variable `infoLog` should have a snake case name such as `info_log` [INFO] [stderr] --> src/renderer/shader.rs:75:17 [INFO] [stderr] | [INFO] [stderr] 75 | let mut infoLog = Vec::with_capacity(512); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/renderer/shader.rs:78:27 [INFO] [stderr] | [INFO] [stderr] 78 | if success != gl::TRUE as GLint { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(gl::TRUE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: variable `fragmentShader` should have a snake case name such as `fragment_shader` [INFO] [stderr] --> src/renderer/shader.rs:84:17 [INFO] [stderr] | [INFO] [stderr] 84 | let fragmentShader = gl::CreateShader(gl::FRAGMENT_SHADER); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/renderer/shader.rs:90:27 [INFO] [stderr] | [INFO] [stderr] 90 | if success != gl::TRUE as GLint { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(gl::TRUE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: variable `shaderProgram` should have a snake case name such as `shader_program` [INFO] [stderr] --> src/renderer/shader.rs:96:17 [INFO] [stderr] | [INFO] [stderr] 96 | let shaderProgram = gl::CreateProgram(); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/renderer/shader.rs:102:27 [INFO] [stderr] | [INFO] [stderr] 102 | if success != gl::TRUE as GLint { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(gl::TRUE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: variable `shaderProgram` should have a snake case name such as `shader_program` [INFO] [stderr] --> src/renderer/shader.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | let shaderProgram = unsafe { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `textureID` should have a snake case name such as `texture_id` [INFO] [stderr] --> src/renderer/texture.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | let mut textureID = 0; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `Mesh_Builder` should have a camel case name such as `MeshBuilder` [INFO] [stderr] --> src/mesh_builder.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / pub struct Mesh_Builder { [INFO] [stderr] 10 | | pub mesh : renderer::mesh::Mesh [INFO] [stderr] 11 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: float has excessive precision [INFO] [stderr] --> src/mesh_builder.rs:74:30 [INFO] [stderr] | [INFO] [stderr] 74 | let twicePi = 2f32 * 3.14159265358979f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider changing the type or truncating it to: `3.141_592_7` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::excessive_precision)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stderr] [INFO] [stderr] error: approximate value of `f32::consts::PI` found. Consider using it directly [INFO] [stderr] --> src/mesh_builder.rs:74:30 [INFO] [stderr] | [INFO] [stderr] 74 | let twicePi = 2f32 * 3.14159265358979f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::approx_constant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#approx_constant [INFO] [stderr] [INFO] [stderr] warning: variable `twicePi` should have a snake case name such as `twice_pi` [INFO] [stderr] --> src/mesh_builder.rs:74:13 [INFO] [stderr] | [INFO] [stderr] 74 | let twicePi = 2f32 * 3.14159265358979f32; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is only used to index `c`. [INFO] [stderr] --> src/mesh_builder.rs:95:22 [INFO] [stderr] | [INFO] [stderr] 95 | for j in 0..c.len() { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 95 | for in &c { [INFO] [stderr] | ^^^^^^ ^^ [INFO] [stderr] [INFO] [stderr] warning: type `Game_object` should have a camel case name such as `GameObject` [INFO] [stderr] --> src/game_object.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / pub struct Game_object { [INFO] [stderr] 9 | | pub transform : transform::Transform, [INFO] [stderr] 10 | | pub material : renderer::Material, [INFO] [stderr] 11 | | pub mesh : renderer::mesh::Mesh, [INFO] [stderr] 12 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `viewProjectionInverse` should have a snake case name such as `view_projection_inverse` [INFO] [stderr] --> src/input.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | let mut viewProjectionInverse = self.projection * self.view; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `vIn` should have a snake case name such as `v_in` [INFO] [stderr] --> src/input.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | let vIn = Vector4 {x: f1, y:f2, z:f3, w:f4}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `learn_me_opengl`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "693457319d4cf58c34ae82f230bdb5d132ee231cd532c869b32cb0dfc76ce727"` [INFO] running `"docker" "rm" "-f" "693457319d4cf58c34ae82f230bdb5d132ee231cd532c869b32cb0dfc76ce727"` [INFO] [stdout] 693457319d4cf58c34ae82f230bdb5d132ee231cd532c869b32cb0dfc76ce727