[INFO] updating cached repository VioletasTheThird/yet-another-pointless-repo [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/VioletasTheThird/yet-another-pointless-repo [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/VioletasTheThird/yet-another-pointless-repo" "work/ex/clippy-test-run/sources/stable/gh/VioletasTheThird/yet-another-pointless-repo"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/VioletasTheThird/yet-another-pointless-repo'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/VioletasTheThird/yet-another-pointless-repo" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/VioletasTheThird/yet-another-pointless-repo"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/VioletasTheThird/yet-another-pointless-repo'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 841f40ae8f39f77eca1242e85a7e3c550f82ad43 [INFO] sha for GitHub repo VioletasTheThird/yet-another-pointless-repo: 841f40ae8f39f77eca1242e85a7e3c550f82ad43 [INFO] validating manifest of VioletasTheThird/yet-another-pointless-repo 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 VioletasTheThird/yet-another-pointless-repo 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 VioletasTheThird/yet-another-pointless-repo [INFO] finished frobbing VioletasTheThird/yet-another-pointless-repo [INFO] frobbed toml for VioletasTheThird/yet-another-pointless-repo written to work/ex/clippy-test-run/sources/stable/gh/VioletasTheThird/yet-another-pointless-repo/Cargo.toml [INFO] started frobbing VioletasTheThird/yet-another-pointless-repo [INFO] finished frobbing VioletasTheThird/yet-another-pointless-repo [INFO] frobbed toml for VioletasTheThird/yet-another-pointless-repo written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/VioletasTheThird/yet-another-pointless-repo/Cargo.toml [INFO] crate VioletasTheThird/yet-another-pointless-repo 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 VioletasTheThird/yet-another-pointless-repo against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/VioletasTheThird/yet-another-pointless-repo:/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] 7e8a8bc5e377c4351bc9d9bd782d17a6ec6d4361be062519af07d90d4d37a0b1 [INFO] running `"docker" "start" "-a" "7e8a8bc5e377c4351bc9d9bd782d17a6ec6d4361be062519af07d90d4d37a0b1"` [INFO] [stderr] Checking crossbeam-epoch v0.3.1 [INFO] [stderr] Compiling gl_generator v0.6.1 [INFO] [stderr] Compiling syn v0.14.3 [INFO] [stderr] Checking cgmath v0.16.1 [INFO] [stderr] Compiling glutin v0.17.0 [INFO] [stderr] Checking png v0.12.0 [INFO] [stderr] Checking smithay-client-toolkit v0.2.4 [INFO] [stderr] Checking crossbeam-deque v0.2.0 [INFO] [stderr] Checking rayon-core v1.4.0 [INFO] [stderr] Compiling gl v0.6.5 [INFO] [stderr] Checking winit v0.16.0 [INFO] [stderr] Checking rayon v1.0.1 [INFO] [stderr] Compiling num-derive v0.2.2 [INFO] [stderr] Checking jpeg-decoder v0.1.15 [INFO] [stderr] Checking image v0.19.0 [INFO] [stderr] Checking mc_clone v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `gl::types` [INFO] [stderr] --> src/program.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use gl::types; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std` [INFO] [stderr] --> src/program.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `null_mut` [INFO] [stderr] --> src/program.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | use std::ptr::{null, null_mut}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cgmath::Deg` [INFO] [stderr] --> src/camera.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use cgmath::Deg; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `gl::types::*` [INFO] [stderr] --> src/main.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use gl::types::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Matrix2`, `Matrix3`, `Point1`, `Point2`, `Point3`, `Rad`, `Vector2`, `Vector3`, `Vector4` [INFO] [stderr] --> src/main.rs:16:14 [INFO] [stderr] | [INFO] [stderr] 16 | use cgmath::{Vector2, Vector3, Vector4, Matrix2, Matrix3, Matrix4, Point1, Point2, Point3, Deg, Rad, perspective, vec3}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cgmath::Matrix` [INFO] [stderr] --> src/main.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use cgmath::Matrix; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cgmath::prelude::SquareMatrix` [INFO] [stderr] --> src/main.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use cgmath::prelude::SquareMatrix; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ffi::CString` [INFO] [stderr] --> src/main.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | use std::ffi::CString; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `null_mut`, `null` [INFO] [stderr] --> src/main.rs:24:16 [INFO] [stderr] | [INFO] [stderr] 24 | use std::ptr::{null, null_mut}; [INFO] [stderr] | ^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str` [INFO] [stderr] --> src/main.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | use std::str; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/main.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/main.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:54:24 [INFO] [stderr] | [INFO] [stderr] 54 | gl::ClearColor(0.196078, 0.6, 0.8, 1.0); [INFO] [stderr] | ^^^^^^^^ help: consider: `0.196_078` [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: long literal lacking separators [INFO] [stderr] --> src/main.rs:265:73 [INFO] [stderr] | [INFO] [stderr] 265 | dt = new_time.duration_since(last_time).subsec_nanos() as f32 / 1000000000 as f32; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_000_000_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unused import: `gl::types` [INFO] [stderr] --> src/program.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use gl::types; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std` [INFO] [stderr] --> src/program.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `null_mut` [INFO] [stderr] --> src/program.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | use std::ptr::{null, null_mut}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cgmath::Deg` [INFO] [stderr] --> src/camera.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use cgmath::Deg; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `gl::types::*` [INFO] [stderr] --> src/main.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use gl::types::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Matrix2`, `Matrix3`, `Point1`, `Point2`, `Point3`, `Rad`, `Vector2`, `Vector3`, `Vector4` [INFO] [stderr] --> src/main.rs:16:14 [INFO] [stderr] | [INFO] [stderr] 16 | use cgmath::{Vector2, Vector3, Vector4, Matrix2, Matrix3, Matrix4, Point1, Point2, Point3, Deg, Rad, perspective, vec3}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cgmath::Matrix` [INFO] [stderr] --> src/main.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use cgmath::Matrix; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cgmath::prelude::SquareMatrix` [INFO] [stderr] --> src/main.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use cgmath::prelude::SquareMatrix; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ffi::CString` [INFO] [stderr] --> src/main.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | use std::ffi::CString; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `null_mut`, `null` [INFO] [stderr] --> src/main.rs:24:16 [INFO] [stderr] | [INFO] [stderr] 24 | use std::ptr::{null, null_mut}; [INFO] [stderr] | ^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str` [INFO] [stderr] --> src/main.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | use std::str; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/main.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/main.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:54:24 [INFO] [stderr] | [INFO] [stderr] 54 | gl::ClearColor(0.196078, 0.6, 0.8, 1.0); [INFO] [stderr] | ^^^^^^^^ help: consider: `0.196_078` [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: long literal lacking separators [INFO] [stderr] --> src/main.rs:265:73 [INFO] [stderr] | [INFO] [stderr] 265 | dt = new_time.duration_since(last_time).subsec_nanos() as f32 / 1000000000 as f32; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_000_000_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/camera.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | _ => () [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `view` [INFO] [stderr] --> src/main.rs:161:13 [INFO] [stderr] | [INFO] [stderr] 161 | let mut view: Matrix4 = Matrix4::from_translation(vec3(0., 0., -3.)); [INFO] [stderr] | ^^^^ help: consider using `_view` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `vs` is never read [INFO] [stderr] --> src/program.rs:19:17 [INFO] [stderr] | [INFO] [stderr] 19 | let mut vs: u32 = 0; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `fs` is never read [INFO] [stderr] --> src/program.rs:20:17 [INFO] [stderr] | [INFO] [stderr] 20 | let mut fs: u32 = 0; [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `p` is never read [INFO] [stderr] --> src/program.rs:21:17 [INFO] [stderr] | [INFO] [stderr] 21 | let mut p = 0; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:159:9 [INFO] [stderr] | [INFO] [stderr] 159 | let mut projection: Matrix4 = perspective(Deg(45.0), 1280 as f32 / 720 as f32, 0.1, 1000.0); [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:160:9 [INFO] [stderr] | [INFO] [stderr] 160 | let mut model: Matrix4 = Matrix4::from_angle_x(Deg(-55.)); [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:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | let mut view: Matrix4 = Matrix4::from_translation(vec3(0., 0., -3.)); [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:189:9 [INFO] [stderr] | [INFO] [stderr] 189 | let mut wireframe = false; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_bool` [INFO] [stderr] --> src/program.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn set_bool(&self, name: &[u8], value: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_int` [INFO] [stderr] --> src/program.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn set_int(&self, name: &[u8], value: i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_float` [INFO] [stderr] --> src/program.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | pub fn set_float(&self, name: &[u8], value: f32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `zoom` [INFO] [stderr] --> src/camera.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | zoom: f32, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/program.rs:40:31 [INFO] [stderr] | [INFO] [stderr] 40 | if comp_status != gl::TRUE as GLint { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(gl::TRUE)` [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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/program.rs:55:31 [INFO] [stderr] | [INFO] [stderr] 55 | if comp_status != 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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/camera.rs:46:22 [INFO] [stderr] | [INFO] [stderr] 46 | pos: pos.unwrap_or(Point3::new(0.0, 0.0, -1.0)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Point3::new(0.0, 0.0, -1.0))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/camera.rs:50:26 [INFO] [stderr] | [INFO] [stderr] 50 | world_up: up.unwrap_or(Vector3::unit_y()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(Vector3::unit_y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/camera.rs:64:26 [INFO] [stderr] | [INFO] [stderr] 64 | Matrix4::look_at(self.pos.into(), (self.pos + self.front).into(), self.up) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider removing `.into()`: `self.pos` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/camera.rs:64:43 [INFO] [stderr] | [INFO] [stderr] 64 | Matrix4::look_at(self.pos.into(), (self.pos + self.front).into(), self.up) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `(self.pos + self.front)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/input.rs:37:14 [INFO] [stderr] | [INFO] [stderr] 37 | *self.keys.get(&key).unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.keys[&key]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/main.rs:133:90 [INFO] [stderr] | [INFO] [stderr] 133 | gl::VertexAttribPointer(0, 3, gl::FLOAT, gl::FALSE, 5 * size_of::() as i32, 0 as *const c_void); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [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/main.rs:195:13 [INFO] [stderr] | [INFO] [stderr] 195 | / match event { [INFO] [stderr] 196 | | glutin::Event::WindowEvent{ event, .. } => match event { [INFO] [stderr] 197 | | glutin::WindowEvent::CloseRequested => running = false, [INFO] [stderr] 198 | | glutin::WindowEvent::KeyboardInput { input, .. } => { [INFO] [stderr] ... | [INFO] [stderr] 210 | | _ => () [INFO] [stderr] 211 | | } [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] 195 | if let glutin::Event::WindowEvent{ event, .. } = event { match event { [INFO] [stderr] 196 | glutin::WindowEvent::CloseRequested => running = false, [INFO] [stderr] 197 | glutin::WindowEvent::KeyboardInput { input, .. } => { [INFO] [stderr] 198 | handler.update_keyboard(input); [INFO] [stderr] 199 | } [INFO] [stderr] 200 | glutin::WindowEvent::CursorMoved { position, .. } => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/camera.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | _ => () [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `view` [INFO] [stderr] --> src/main.rs:161:13 [INFO] [stderr] | [INFO] [stderr] 161 | let mut view: Matrix4 = Matrix4::from_translation(vec3(0., 0., -3.)); [INFO] [stderr] | ^^^^ help: consider using `_view` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `vs` is never read [INFO] [stderr] --> src/program.rs:19:17 [INFO] [stderr] | [INFO] [stderr] 19 | let mut vs: u32 = 0; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `fs` is never read [INFO] [stderr] --> src/program.rs:20:17 [INFO] [stderr] | [INFO] [stderr] 20 | let mut fs: u32 = 0; [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `p` is never read [INFO] [stderr] --> src/program.rs:21:17 [INFO] [stderr] | [INFO] [stderr] 21 | let mut p = 0; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:159:9 [INFO] [stderr] | [INFO] [stderr] 159 | let mut projection: Matrix4 = perspective(Deg(45.0), 1280 as f32 / 720 as f32, 0.1, 1000.0); [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:160:9 [INFO] [stderr] | [INFO] [stderr] 160 | let mut model: Matrix4 = Matrix4::from_angle_x(Deg(-55.)); [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:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | let mut view: Matrix4 = Matrix4::from_translation(vec3(0., 0., -3.)); [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:189:9 [INFO] [stderr] | [INFO] [stderr] 189 | let mut wireframe = false; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_bool` [INFO] [stderr] --> src/program.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn set_bool(&self, name: &[u8], value: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_int` [INFO] [stderr] --> src/program.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn set_int(&self, name: &[u8], value: i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_float` [INFO] [stderr] --> src/program.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | pub fn set_float(&self, name: &[u8], value: f32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `zoom` [INFO] [stderr] --> src/camera.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | zoom: f32, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/program.rs:40:31 [INFO] [stderr] | [INFO] [stderr] 40 | if comp_status != gl::TRUE as GLint { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(gl::TRUE)` [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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/program.rs:55:31 [INFO] [stderr] | [INFO] [stderr] 55 | if comp_status != 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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/camera.rs:46:22 [INFO] [stderr] | [INFO] [stderr] 46 | pos: pos.unwrap_or(Point3::new(0.0, 0.0, -1.0)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Point3::new(0.0, 0.0, -1.0))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/camera.rs:50:26 [INFO] [stderr] | [INFO] [stderr] 50 | world_up: up.unwrap_or(Vector3::unit_y()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(Vector3::unit_y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/camera.rs:64:26 [INFO] [stderr] | [INFO] [stderr] 64 | Matrix4::look_at(self.pos.into(), (self.pos + self.front).into(), self.up) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider removing `.into()`: `self.pos` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/camera.rs:64:43 [INFO] [stderr] | [INFO] [stderr] 64 | Matrix4::look_at(self.pos.into(), (self.pos + self.front).into(), self.up) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `(self.pos + self.front)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/input.rs:37:14 [INFO] [stderr] | [INFO] [stderr] 37 | *self.keys.get(&key).unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.keys[&key]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/main.rs:133:90 [INFO] [stderr] | [INFO] [stderr] 133 | gl::VertexAttribPointer(0, 3, gl::FLOAT, gl::FALSE, 5 * size_of::() as i32, 0 as *const c_void); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [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/main.rs:195:13 [INFO] [stderr] | [INFO] [stderr] 195 | / match event { [INFO] [stderr] 196 | | glutin::Event::WindowEvent{ event, .. } => match event { [INFO] [stderr] 197 | | glutin::WindowEvent::CloseRequested => running = false, [INFO] [stderr] 198 | | glutin::WindowEvent::KeyboardInput { input, .. } => { [INFO] [stderr] ... | [INFO] [stderr] 210 | | _ => () [INFO] [stderr] 211 | | } [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] 195 | if let glutin::Event::WindowEvent{ event, .. } = event { match event { [INFO] [stderr] 196 | glutin::WindowEvent::CloseRequested => running = false, [INFO] [stderr] 197 | glutin::WindowEvent::KeyboardInput { input, .. } => { [INFO] [stderr] 198 | handler.update_keyboard(input); [INFO] [stderr] 199 | } [INFO] [stderr] 200 | glutin::WindowEvent::CursorMoved { position, .. } => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 45.05s [INFO] running `"docker" "inspect" "7e8a8bc5e377c4351bc9d9bd782d17a6ec6d4361be062519af07d90d4d37a0b1"` [INFO] running `"docker" "rm" "-f" "7e8a8bc5e377c4351bc9d9bd782d17a6ec6d4361be062519af07d90d4d37a0b1"` [INFO] [stdout] 7e8a8bc5e377c4351bc9d9bd782d17a6ec6d4361be062519af07d90d4d37a0b1