[INFO] updating cached repository kenjiSpecial/rust-cubemap-slicer [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/kenjiSpecial/rust-cubemap-slicer [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/kenjiSpecial/rust-cubemap-slicer" "work/ex/clippy-test-run/sources/stable/gh/kenjiSpecial/rust-cubemap-slicer"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/kenjiSpecial/rust-cubemap-slicer'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/kenjiSpecial/rust-cubemap-slicer" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/kenjiSpecial/rust-cubemap-slicer"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/kenjiSpecial/rust-cubemap-slicer'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] bb34d86d4e4d36bb58f88d68e12c6ae13d555e93 [INFO] sha for GitHub repo kenjiSpecial/rust-cubemap-slicer: bb34d86d4e4d36bb58f88d68e12c6ae13d555e93 [INFO] validating manifest of kenjiSpecial/rust-cubemap-slicer 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 kenjiSpecial/rust-cubemap-slicer 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 kenjiSpecial/rust-cubemap-slicer [INFO] finished frobbing kenjiSpecial/rust-cubemap-slicer [INFO] frobbed toml for kenjiSpecial/rust-cubemap-slicer written to work/ex/clippy-test-run/sources/stable/gh/kenjiSpecial/rust-cubemap-slicer/Cargo.toml [INFO] started frobbing kenjiSpecial/rust-cubemap-slicer [INFO] finished frobbing kenjiSpecial/rust-cubemap-slicer [INFO] frobbed toml for kenjiSpecial/rust-cubemap-slicer written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/kenjiSpecial/rust-cubemap-slicer/Cargo.toml [INFO] crate kenjiSpecial/rust-cubemap-slicer 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 kenjiSpecial/rust-cubemap-slicer against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/kenjiSpecial/rust-cubemap-slicer:/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] 7973566ffe389cda8d7596cb2bb74c33487efe1bf68ee02b7928ac05b7f2eb4c [INFO] running `"docker" "start" "-a" "7973566ffe389cda8d7596cb2bb74c33487efe1bf68ee02b7928ac05b7f2eb4c"` [INFO] [stderr] Compiling cmake v0.1.33 [INFO] [stderr] Checking num-bigint v0.1.44 [INFO] [stderr] Checking cgmath v0.16.1 [INFO] [stderr] Checking png v0.12.0 [INFO] [stderr] Compiling num-derive v0.2.2 [INFO] [stderr] Checking jpeg-decoder v0.1.15 [INFO] [stderr] Compiling glfw-sys v3.2.2 [INFO] [stderr] Checking num-rational v0.1.42 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking image v0.19.0 [INFO] [stderr] Checking glfw v0.24.0 [INFO] [stderr] Checking glfw-example v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `std::sync::mpsc::Receiver` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::sync::mpsc::Receiver; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::Receiver` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::sync::mpsc::Receiver; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `x` is never read [INFO] [stderr] --> src/main.rs:201:29 [INFO] [stderr] | [INFO] [stderr] 201 | let mut x:u32 = 0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `y` is never read [INFO] [stderr] --> src/main.rs:202:29 [INFO] [stderr] | [INFO] [stderr] 202 | let mut y:u32 = 0; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `setBool` [INFO] [stderr] --> src/shader.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | pub unsafe fn setBool(&self, name: &CStr, value: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `setInt` [INFO] [stderr] --> src/shader.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | pub unsafe fn setInt(&self, name: &CStr, value: i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `setFloat` [INFO] [stderr] --> src/shader.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | pub unsafe fn setFloat(&self, name: &CStr, value: f32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `setVector3` [INFO] [stderr] --> src/shader.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | pub unsafe fn setVector3(&self, name: &CStr, value: &Vector3) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `setVec3` [INFO] [stderr] --> src/shader.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | pub unsafe fn setVec3(&self, name: &CStr, x: f32, y: f32, z: f32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `setMat4` [INFO] [stderr] --> src/shader.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | pub unsafe fn setMat4(&self, name: &CStr, mat: &Matrix4) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `with_geometry_shader` [INFO] [stderr] --> src/shader.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn with_geometry_shader(vertexPath: &str, fragmentPath: &str, geometryPath: &str) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: structure field `ID` should have a snake case name such as `id` [INFO] [stderr] --> src/shader.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | pub ID: u32, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable `vertexPath` should have a snake case name such as `vertex_path` [INFO] [stderr] --> src/shader.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn new(vertexPath: &str, fragmentPath: &str) -> Shader { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fragmentPath` should have a snake case name such as `fragment_path` [INFO] [stderr] --> src/shader.rs:22:34 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn new(vertexPath: &str, fragmentPath: &str) -> Shader { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `vShaderFile` should have a snake case name such as `v_shader_file` [INFO] [stderr] --> src/shader.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | let mut vShaderFile = File::open(vertexPath) [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fShaderFile` should have a snake case name such as `f_shader_file` [INFO] [stderr] --> src/shader.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | let mut fShaderFile = File::open(fragmentPath) [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `vertexCode` should have a snake case name such as `vertex_code` [INFO] [stderr] --> src/shader.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut vertexCode = String::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fragmentCode` should have a snake case name such as `fragment_code` [INFO] [stderr] --> src/shader.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | let mut fragmentCode = String::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `vShaderCode` should have a snake case name such as `v_shader_code` [INFO] [stderr] --> src/shader.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | let vShaderCode = CString::new(vertexCode.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fShaderCode` should have a snake case name such as `f_shader_code` [INFO] [stderr] --> src/shader.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | let fShaderCode = CString::new(fragmentCode.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `ID` should have a snake case name such as `id` [INFO] [stderr] --> src/shader.rs:54:17 [INFO] [stderr] | [INFO] [stderr] 54 | let ID = gl::CreateProgram(); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: method `useProgram` should have a snake case name such as `use_program` [INFO] [stderr] --> src/shader.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | / pub unsafe fn useProgram(&self) { [INFO] [stderr] 71 | | gl::UseProgram(self.ID) [INFO] [stderr] 72 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method `setBool` should have a snake case name such as `set_bool` [INFO] [stderr] --> src/shader.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | / pub unsafe fn setBool(&self, name: &CStr, value: bool) { [INFO] [stderr] 77 | | gl::Uniform1i(gl::GetUniformLocation(self.ID, name.as_ptr()), value as i32); [INFO] [stderr] 78 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method `setInt` should have a snake case name such as `set_int` [INFO] [stderr] --> src/shader.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | / pub unsafe fn setInt(&self, name: &CStr, value: i32) { [INFO] [stderr] 81 | | gl::Uniform1i(gl::GetUniformLocation(self.ID, name.as_ptr()), value); [INFO] [stderr] 82 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method `setFloat` should have a snake case name such as `set_float` [INFO] [stderr] --> src/shader.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | / pub unsafe fn setFloat(&self, name: &CStr, value: f32) { [INFO] [stderr] 85 | | gl::Uniform1f(gl::GetUniformLocation(self.ID, name.as_ptr()), value); [INFO] [stderr] 86 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method `setVector3` should have a snake case name such as `set_vector3` [INFO] [stderr] --> src/shader.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | / pub unsafe fn setVector3(&self, name: &CStr, value: &Vector3) { [INFO] [stderr] 89 | | gl::Uniform3fv(gl::GetUniformLocation(self.ID, name.as_ptr()), 1, value.as_ptr()); [INFO] [stderr] 90 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method `setVec3` should have a snake case name such as `set_vec3` [INFO] [stderr] --> src/shader.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | / pub unsafe fn setVec3(&self, name: &CStr, x: f32, y: f32, z: f32) { [INFO] [stderr] 93 | | gl::Uniform3f(gl::GetUniformLocation(self.ID, name.as_ptr()), x, y, z); [INFO] [stderr] 94 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method `setMat4` should have a snake case name such as `set_mat4` [INFO] [stderr] --> src/shader.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | / pub unsafe fn setMat4(&self, name: &CStr, mat: &Matrix4) { [INFO] [stderr] 97 | | gl::UniformMatrix4fv(gl::GetUniformLocation(self.ID, name.as_ptr()), 1, gl::FALSE, mat.as_ptr()); [INFO] [stderr] 98 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method `checkCompileErrors` should have a snake case name such as `check_compile_errors` [INFO] [stderr] --> src/shader.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | / unsafe fn checkCompileErrors(&self, shader: u32, type_: &str) { [INFO] [stderr] 103 | | let mut success = gl::FALSE as GLint; [INFO] [stderr] 104 | | let mut infoLog = Vec::with_capacity(1024); [INFO] [stderr] 105 | | infoLog.set_len(1024 - 1); // subtract 1 to skip the trailing null character [INFO] [stderr] ... | [INFO] [stderr] 126 | | [INFO] [stderr] 127 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:103:27 [INFO] [stderr] | [INFO] [stderr] 103 | 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/shader.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | let mut infoLog = Vec::with_capacity(1024); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:108:27 [INFO] [stderr] | [INFO] [stderr] 108 | 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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:118:27 [INFO] [stderr] | [INFO] [stderr] 118 | 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 `vertexPath` should have a snake case name such as `vertex_path` [INFO] [stderr] --> src/shader.rs:130:33 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn with_geometry_shader(vertexPath: &str, fragmentPath: &str, geometryPath: &str) -> Self { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fragmentPath` should have a snake case name such as `fragment_path` [INFO] [stderr] --> src/shader.rs:130:51 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn with_geometry_shader(vertexPath: &str, fragmentPath: &str, geometryPath: &str) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `geometryPath` should have a snake case name such as `geometry_path` [INFO] [stderr] --> src/shader.rs:130:71 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn with_geometry_shader(vertexPath: &str, fragmentPath: &str, geometryPath: &str) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `vShaderFile` should have a snake case name such as `v_shader_file` [INFO] [stderr] --> src/shader.rs:133:13 [INFO] [stderr] | [INFO] [stderr] 133 | let mut vShaderFile = File::open(vertexPath) [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fShaderFile` should have a snake case name such as `f_shader_file` [INFO] [stderr] --> src/shader.rs:135:13 [INFO] [stderr] | [INFO] [stderr] 135 | let mut fShaderFile = File::open(fragmentPath) [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `gShaderFile` should have a snake case name such as `g_shader_file` [INFO] [stderr] --> src/shader.rs:137:13 [INFO] [stderr] | [INFO] [stderr] 137 | let mut gShaderFile = File::open(geometryPath) [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `vertexCode` should have a snake case name such as `vertex_code` [INFO] [stderr] --> src/shader.rs:139:13 [INFO] [stderr] | [INFO] [stderr] 139 | let mut vertexCode = String::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fragmentCode` should have a snake case name such as `fragment_code` [INFO] [stderr] --> src/shader.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | let mut fragmentCode = String::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `geometryCode` should have a snake case name such as `geometry_code` [INFO] [stderr] --> src/shader.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | let mut geometryCode = String::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `vShaderCode` should have a snake case name such as `v_shader_code` [INFO] [stderr] --> src/shader.rs:152:13 [INFO] [stderr] | [INFO] [stderr] 152 | let vShaderCode = CString::new(vertexCode.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fShaderCode` should have a snake case name such as `f_shader_code` [INFO] [stderr] --> src/shader.rs:153:13 [INFO] [stderr] | [INFO] [stderr] 153 | let fShaderCode = CString::new(fragmentCode.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `gShaderCode` should have a snake case name such as `g_shader_code` [INFO] [stderr] --> src/shader.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | let gShaderCode = CString::new(geometryCode.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `ID` should have a snake case name such as `id` [INFO] [stderr] --> src/shader.rs:175:17 [INFO] [stderr] | [INFO] [stderr] 175 | let ID = gl::CreateProgram(); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | fs::create_dir_all(target_dir); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:177:109 [INFO] [stderr] | [INFO] [stderr] 177 | fn handle_window_event(window: &mut glfw::Window, event: glfw::WindowEvent, img_size: u32, cube_image_name: &String ) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `image_names` [INFO] [stderr] --> src/main.rs:193:22 [INFO] [stderr] | [INFO] [stderr] 193 | for i in 0..image_names.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] 193 | for (i, ) in image_names.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `x` is never read [INFO] [stderr] --> src/main.rs:201:29 [INFO] [stderr] | [INFO] [stderr] 201 | let mut x:u32 = 0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `y` is never read [INFO] [stderr] --> src/main.rs:202:29 [INFO] [stderr] | [INFO] [stderr] 202 | let mut y:u32 = 0; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `setBool` [INFO] [stderr] --> src/shader.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | pub unsafe fn setBool(&self, name: &CStr, value: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `setInt` [INFO] [stderr] --> src/shader.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | pub unsafe fn setInt(&self, name: &CStr, value: i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `setFloat` [INFO] [stderr] --> src/shader.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | pub unsafe fn setFloat(&self, name: &CStr, value: f32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `setVector3` [INFO] [stderr] --> src/shader.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | pub unsafe fn setVector3(&self, name: &CStr, value: &Vector3) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `setVec3` [INFO] [stderr] --> src/shader.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | pub unsafe fn setVec3(&self, name: &CStr, x: f32, y: f32, z: f32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `setMat4` [INFO] [stderr] --> src/shader.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | pub unsafe fn setMat4(&self, name: &CStr, mat: &Matrix4) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `with_geometry_shader` [INFO] [stderr] --> src/shader.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn with_geometry_shader(vertexPath: &str, fragmentPath: &str, geometryPath: &str) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: structure field `ID` should have a snake case name such as `id` [INFO] [stderr] --> src/shader.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | pub ID: u32, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable `vertexPath` should have a snake case name such as `vertex_path` [INFO] [stderr] --> src/shader.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn new(vertexPath: &str, fragmentPath: &str) -> Shader { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fragmentPath` should have a snake case name such as `fragment_path` [INFO] [stderr] --> src/shader.rs:22:34 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn new(vertexPath: &str, fragmentPath: &str) -> Shader { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `vShaderFile` should have a snake case name such as `v_shader_file` [INFO] [stderr] --> src/shader.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | let mut vShaderFile = File::open(vertexPath) [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fShaderFile` should have a snake case name such as `f_shader_file` [INFO] [stderr] --> src/shader.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | let mut fShaderFile = File::open(fragmentPath) [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `vertexCode` should have a snake case name such as `vertex_code` [INFO] [stderr] --> src/shader.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut vertexCode = String::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fragmentCode` should have a snake case name such as `fragment_code` [INFO] [stderr] --> src/shader.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | let mut fragmentCode = String::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `vShaderCode` should have a snake case name such as `v_shader_code` [INFO] [stderr] --> src/shader.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | let vShaderCode = CString::new(vertexCode.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fShaderCode` should have a snake case name such as `f_shader_code` [INFO] [stderr] --> src/shader.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | let fShaderCode = CString::new(fragmentCode.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `ID` should have a snake case name such as `id` [INFO] [stderr] --> src/shader.rs:54:17 [INFO] [stderr] | [INFO] [stderr] 54 | let ID = gl::CreateProgram(); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: method `useProgram` should have a snake case name such as `use_program` [INFO] [stderr] --> src/shader.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | / pub unsafe fn useProgram(&self) { [INFO] [stderr] 71 | | gl::UseProgram(self.ID) [INFO] [stderr] 72 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method `setBool` should have a snake case name such as `set_bool` [INFO] [stderr] --> src/shader.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | / pub unsafe fn setBool(&self, name: &CStr, value: bool) { [INFO] [stderr] 77 | | gl::Uniform1i(gl::GetUniformLocation(self.ID, name.as_ptr()), value as i32); [INFO] [stderr] 78 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method `setInt` should have a snake case name such as `set_int` [INFO] [stderr] --> src/shader.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | / pub unsafe fn setInt(&self, name: &CStr, value: i32) { [INFO] [stderr] 81 | | gl::Uniform1i(gl::GetUniformLocation(self.ID, name.as_ptr()), value); [INFO] [stderr] 82 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method `setFloat` should have a snake case name such as `set_float` [INFO] [stderr] --> src/shader.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | / pub unsafe fn setFloat(&self, name: &CStr, value: f32) { [INFO] [stderr] 85 | | gl::Uniform1f(gl::GetUniformLocation(self.ID, name.as_ptr()), value); [INFO] [stderr] 86 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method `setVector3` should have a snake case name such as `set_vector3` [INFO] [stderr] --> src/shader.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | / pub unsafe fn setVector3(&self, name: &CStr, value: &Vector3) { [INFO] [stderr] 89 | | gl::Uniform3fv(gl::GetUniformLocation(self.ID, name.as_ptr()), 1, value.as_ptr()); [INFO] [stderr] 90 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method `setVec3` should have a snake case name such as `set_vec3` [INFO] [stderr] --> src/shader.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | / pub unsafe fn setVec3(&self, name: &CStr, x: f32, y: f32, z: f32) { [INFO] [stderr] 93 | | gl::Uniform3f(gl::GetUniformLocation(self.ID, name.as_ptr()), x, y, z); [INFO] [stderr] 94 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method `setMat4` should have a snake case name such as `set_mat4` [INFO] [stderr] --> src/shader.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | / pub unsafe fn setMat4(&self, name: &CStr, mat: &Matrix4) { [INFO] [stderr] 97 | | gl::UniformMatrix4fv(gl::GetUniformLocation(self.ID, name.as_ptr()), 1, gl::FALSE, mat.as_ptr()); [INFO] [stderr] 98 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method `checkCompileErrors` should have a snake case name such as `check_compile_errors` [INFO] [stderr] --> src/shader.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | / unsafe fn checkCompileErrors(&self, shader: u32, type_: &str) { [INFO] [stderr] 103 | | let mut success = gl::FALSE as GLint; [INFO] [stderr] 104 | | let mut infoLog = Vec::with_capacity(1024); [INFO] [stderr] 105 | | infoLog.set_len(1024 - 1); // subtract 1 to skip the trailing null character [INFO] [stderr] ... | [INFO] [stderr] 126 | | [INFO] [stderr] 127 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:103:27 [INFO] [stderr] | [INFO] [stderr] 103 | 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/shader.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | let mut infoLog = Vec::with_capacity(1024); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:108:27 [INFO] [stderr] | [INFO] [stderr] 108 | 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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:118:27 [INFO] [stderr] | [INFO] [stderr] 118 | 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 `vertexPath` should have a snake case name such as `vertex_path` [INFO] [stderr] --> src/shader.rs:130:33 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn with_geometry_shader(vertexPath: &str, fragmentPath: &str, geometryPath: &str) -> Self { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fragmentPath` should have a snake case name such as `fragment_path` [INFO] [stderr] --> src/shader.rs:130:51 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn with_geometry_shader(vertexPath: &str, fragmentPath: &str, geometryPath: &str) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `geometryPath` should have a snake case name such as `geometry_path` [INFO] [stderr] --> src/shader.rs:130:71 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn with_geometry_shader(vertexPath: &str, fragmentPath: &str, geometryPath: &str) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `vShaderFile` should have a snake case name such as `v_shader_file` [INFO] [stderr] --> src/shader.rs:133:13 [INFO] [stderr] | [INFO] [stderr] 133 | let mut vShaderFile = File::open(vertexPath) [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fShaderFile` should have a snake case name such as `f_shader_file` [INFO] [stderr] --> src/shader.rs:135:13 [INFO] [stderr] | [INFO] [stderr] 135 | let mut fShaderFile = File::open(fragmentPath) [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `gShaderFile` should have a snake case name such as `g_shader_file` [INFO] [stderr] --> src/shader.rs:137:13 [INFO] [stderr] | [INFO] [stderr] 137 | let mut gShaderFile = File::open(geometryPath) [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `vertexCode` should have a snake case name such as `vertex_code` [INFO] [stderr] --> src/shader.rs:139:13 [INFO] [stderr] | [INFO] [stderr] 139 | let mut vertexCode = String::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fragmentCode` should have a snake case name such as `fragment_code` [INFO] [stderr] --> src/shader.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | let mut fragmentCode = String::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `geometryCode` should have a snake case name such as `geometry_code` [INFO] [stderr] --> src/shader.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | let mut geometryCode = String::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `vShaderCode` should have a snake case name such as `v_shader_code` [INFO] [stderr] --> src/shader.rs:152:13 [INFO] [stderr] | [INFO] [stderr] 152 | let vShaderCode = CString::new(vertexCode.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fShaderCode` should have a snake case name such as `f_shader_code` [INFO] [stderr] --> src/shader.rs:153:13 [INFO] [stderr] | [INFO] [stderr] 153 | let fShaderCode = CString::new(fragmentCode.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `gShaderCode` should have a snake case name such as `g_shader_code` [INFO] [stderr] --> src/shader.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | let gShaderCode = CString::new(geometryCode.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `ID` should have a snake case name such as `id` [INFO] [stderr] --> src/shader.rs:175:17 [INFO] [stderr] | [INFO] [stderr] 175 | let ID = gl::CreateProgram(); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | fs::create_dir_all(target_dir); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:177:109 [INFO] [stderr] | [INFO] [stderr] 177 | fn handle_window_event(window: &mut glfw::Window, event: glfw::WindowEvent, img_size: u32, cube_image_name: &String ) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `image_names` [INFO] [stderr] --> src/main.rs:193:22 [INFO] [stderr] | [INFO] [stderr] 193 | for i in 0..image_names.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] 193 | for (i, ) in image_names.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 19.02s [INFO] running `"docker" "inspect" "7973566ffe389cda8d7596cb2bb74c33487efe1bf68ee02b7928ac05b7f2eb4c"` [INFO] running `"docker" "rm" "-f" "7973566ffe389cda8d7596cb2bb74c33487efe1bf68ee02b7928ac05b7f2eb4c"` [INFO] [stdout] 7973566ffe389cda8d7596cb2bb74c33487efe1bf68ee02b7928ac05b7f2eb4c