[INFO] updating cached repository timvisee/pixelpwnr-render [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/timvisee/pixelpwnr-render [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/timvisee/pixelpwnr-render" "work/ex/clippy-test-run/sources/stable/gh/timvisee/pixelpwnr-render"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/timvisee/pixelpwnr-render'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/timvisee/pixelpwnr-render" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/timvisee/pixelpwnr-render"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/timvisee/pixelpwnr-render'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 1f3fbcd5fb1d228e62c36396fce83207f653dd9f [INFO] sha for GitHub repo timvisee/pixelpwnr-render: 1f3fbcd5fb1d228e62c36396fce83207f653dd9f [INFO] validating manifest of timvisee/pixelpwnr-render 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 timvisee/pixelpwnr-render 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 timvisee/pixelpwnr-render [INFO] finished frobbing timvisee/pixelpwnr-render [INFO] frobbed toml for timvisee/pixelpwnr-render written to work/ex/clippy-test-run/sources/stable/gh/timvisee/pixelpwnr-render/Cargo.toml [INFO] started frobbing timvisee/pixelpwnr-render [INFO] finished frobbing timvisee/pixelpwnr-render [INFO] frobbed toml for timvisee/pixelpwnr-render written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/timvisee/pixelpwnr-render/Cargo.toml [INFO] crate timvisee/pixelpwnr-render 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 timvisee/pixelpwnr-render against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/timvisee/pixelpwnr-render:/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] aa59db24297c4e25a7c9c335d92f2b3f297521e5123ddf25ae4452d179e2031f [INFO] running `"docker" "start" "-a" "aa59db24297c4e25a7c9c335d92f2b3f297521e5123ddf25ae4452d179e2031f"` [INFO] [stderr] Compiling libloading v0.5.0 [INFO] [stderr] Compiling x11-dl v2.17.5 [INFO] [stderr] Compiling libz-sys v1.0.18 [INFO] [stderr] Compiling freetype-sys v0.6.0 [INFO] [stderr] Checking memmap v0.6.2 [INFO] [stderr] Checking shared_library v0.1.8 [INFO] [stderr] Checking crossbeam-epoch v0.3.1 [INFO] [stderr] Compiling log v0.3.9 [INFO] [stderr] Checking tempfile v3.0.2 [INFO] [stderr] Compiling gl_generator v0.9.0 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Compiling gl_generator v0.8.0 [INFO] [stderr] Checking gfx_core v0.8.2 [INFO] [stderr] Checking enum_primitive v0.1.1 [INFO] [stderr] Checking crossbeam-deque v0.2.0 [INFO] [stderr] Checking png v0.11.0 [INFO] [stderr] Checking rayon-core v1.4.0 [INFO] [stderr] Checking dlib v0.4.1 [INFO] [stderr] Checking wayland-sys v0.12.5 [INFO] [stderr] Compiling gfx_gl v0.5.0 [INFO] [stderr] Compiling glutin v0.12.2 [INFO] [stderr] Checking rayon v1.0.1 [INFO] [stderr] Checking freetype-rs v0.18.0 [INFO] [stderr] Checking wayland-client v0.12.5 [INFO] [stderr] Checking wayland-protocols v0.12.5 [INFO] [stderr] Checking wayland-kbd v0.13.1 [INFO] [stderr] Checking jpeg-decoder v0.1.14 [INFO] [stderr] Checking image v0.18.0 [INFO] [stderr] Checking wayland-window v0.13.3 [INFO] [stderr] Checking winit v0.10.0 [INFO] [stderr] Checking gfx_device_gl v0.15.2 [INFO] [stderr] Checking gfx v0.17.1 [INFO] [stderr] Checking gfx_window_glutin v0.20.0 [INFO] [stderr] Checking gfx_text v0.22.0 [INFO] [stderr] Checking pixelpwnr-render v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/color.rs:49:23 [INFO] [stderr] | [INFO] [stderr] 49 | (self.value & 0xFFFFFFFF) as u8 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [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/color.rs:54:24 [INFO] [stderr] | [INFO] [stderr] 54 | (self.value & (0xFFFFFFFF << 8)) as u8 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [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: long literal lacking separators [INFO] [stderr] --> src/color.rs:59:24 [INFO] [stderr] | [INFO] [stderr] 59 | (self.value & (0xFFFFFFFF << 16)) as u8 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [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: long literal lacking separators [INFO] [stderr] --> src/color.rs:64:24 [INFO] [stderr] | [INFO] [stderr] 64 | (self.value & (0xFFFFFFFF << 24)) as u8 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [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: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:212:25 [INFO] [stderr] | [INFO] [stderr] 212 | window_id: _, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `WindowEvent { event, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | device_id: _, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `WindowKeyboardInput { input: KeyboardInput { [INFO] [stderr] scancode: _, [INFO] [stderr] state: _, [INFO] [stderr] virtual_keycode: Some(VirtualKeyCode::Escape), [INFO] [stderr] modifiers: _, [INFO] [stderr] }, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:219:33 [INFO] [stderr] | [INFO] [stderr] 219 | scancode: _, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:220:33 [INFO] [stderr] | [INFO] [stderr] 220 | state: _, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:222:33 [INFO] [stderr] | [INFO] [stderr] 222 | modifiers: _, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `KeyboardInput { virtual_keycode: Some(VirtualKeyCode::Escape), .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/stats_renderer.rs:214:9 [INFO] [stderr] | [INFO] [stderr] 214 | / if bounds != (0f32, 0f32) { [INFO] [stderr] 215 | | if self.bg_slice.is_some() && self.bg_pso.is_some() && self.bg_data.is_some() { [INFO] [stderr] 216 | | // Get the window dimentions [INFO] [stderr] 217 | | let win = self.window_dimentions.unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 240 | | } [INFO] [stderr] 241 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 214 | if bounds != (0f32, 0f32) && self.bg_slice.is_some() && self.bg_pso.is_some() && self.bg_data.is_some() { [INFO] [stderr] 215 | // Get the window dimentions [INFO] [stderr] 216 | let win = self.window_dimentions.unwrap(); [INFO] [stderr] 217 | [INFO] [stderr] 218 | // Determine the position and size of the background quad [INFO] [stderr] 219 | let w = bounds.0 / win.0 * 2f32; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/color.rs:49:23 [INFO] [stderr] | [INFO] [stderr] 49 | (self.value & 0xFFFFFFFF) as u8 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [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/color.rs:54:24 [INFO] [stderr] | [INFO] [stderr] 54 | (self.value & (0xFFFFFFFF << 8)) as u8 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [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: long literal lacking separators [INFO] [stderr] --> src/color.rs:59:24 [INFO] [stderr] | [INFO] [stderr] 59 | (self.value & (0xFFFFFFFF << 16)) as u8 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [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: long literal lacking separators [INFO] [stderr] --> src/color.rs:64:24 [INFO] [stderr] | [INFO] [stderr] 64 | (self.value & (0xFFFFFFFF << 24)) as u8 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [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: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:212:25 [INFO] [stderr] | [INFO] [stderr] 212 | window_id: _, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `WindowEvent { event, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | device_id: _, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `WindowKeyboardInput { input: KeyboardInput { [INFO] [stderr] scancode: _, [INFO] [stderr] state: _, [INFO] [stderr] virtual_keycode: Some(VirtualKeyCode::Escape), [INFO] [stderr] modifiers: _, [INFO] [stderr] }, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:219:33 [INFO] [stderr] | [INFO] [stderr] 219 | scancode: _, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:220:33 [INFO] [stderr] | [INFO] [stderr] 220 | state: _, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:222:33 [INFO] [stderr] | [INFO] [stderr] 222 | modifiers: _, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `KeyboardInput { virtual_keycode: Some(VirtualKeyCode::Escape), .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/stats_renderer.rs:214:9 [INFO] [stderr] | [INFO] [stderr] 214 | / if bounds != (0f32, 0f32) { [INFO] [stderr] 215 | | if self.bg_slice.is_some() && self.bg_pso.is_some() && self.bg_data.is_some() { [INFO] [stderr] 216 | | // Get the window dimentions [INFO] [stderr] 217 | | let win = self.window_dimentions.unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 240 | | } [INFO] [stderr] 241 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 214 | if bounds != (0f32, 0f32) && self.bg_slice.is_some() && self.bg_pso.is_some() && self.bg_data.is_some() { [INFO] [stderr] 215 | // Get the window dimentions [INFO] [stderr] 216 | let win = self.window_dimentions.unwrap(); [INFO] [stderr] 217 | [INFO] [stderr] 218 | // Determine the position and size of the background quad [INFO] [stderr] 219 | let w = bounds.0 / win.0 * 2f32; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: field is never used: `fps` [INFO] [stderr] --> src/renderer.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | fps: FpsCounter, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `corner` [INFO] [stderr] --> src/stats_renderer.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | corner: Corner, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | r as u32 | (g as u32) << 8 | (b as u32) << 16 | (a as u32) << 24 [INFO] [stderr] | ^^^^^^^^ help: try: `u32::from(r)` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:43:24 [INFO] [stderr] | [INFO] [stderr] 43 | r as u32 | (g as u32) << 8 | (b as u32) << 16 | (a as u32) << 24 [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(g)` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | r as u32 | (g as u32) << 8 | (b as u32) << 16 | (a as u32) << 24 [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(b)` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:43:61 [INFO] [stderr] | [INFO] [stderr] 43 | r as u32 | (g as u32) << 8 | (b as u32) << 16 | (a as u32) << 24 [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(a)` [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: the operation is ineffective. Consider reducing it to `self.value` [INFO] [stderr] --> src/color.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | (self.value & 0xFFFFFFFF) as u8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `fps_counter::FpsCounter` [INFO] [stderr] --> src/fps_counter.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | / pub fn new() -> FpsCounter { [INFO] [stderr] 38 | | FpsCounter { [INFO] [stderr] 39 | | frames: Vec::with_capacity(FRAME_BUFFER_MAX), [INFO] [stderr] 40 | | last_report: None, [INFO] [stderr] 41 | | } [INFO] [stderr] 42 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 27 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/fps_counter.rs:66:12 [INFO] [stderr] | [INFO] [stderr] 66 | if self.frames.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.frames.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/pixmap.rs:103:36 [INFO] [stderr] | [INFO] [stderr] 103 | unsafe fn write_pixel_raw(map: &Vec, i: usize, raw: u32) { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [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: transmute from a reference to a reference [INFO] [stderr] --> src/pixmap.rs:150:13 [INFO] [stderr] | [INFO] [stderr] 150 | mem::transmute(self.as_slice()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(self.as_slice() as *const [u32] as *const [u8])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_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/renderer.rs:210:17 [INFO] [stderr] | [INFO] [stderr] 210 | / match event { [INFO] [stderr] 211 | | WindowEvent { [INFO] [stderr] 212 | | window_id: _, [INFO] [stderr] 213 | | event, [INFO] [stderr] ... | [INFO] [stderr] 236 | | _ => {}, [INFO] [stderr] 237 | | } [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] 210 | if let WindowEvent { [INFO] [stderr] 211 | window_id: _, [INFO] [stderr] 212 | event, [INFO] [stderr] 213 | } = event { match event { [INFO] [stderr] 214 | // Stop running when escape is pressed [INFO] [stderr] 215 | WindowKeyboardInput { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/stats_renderer.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | / pub fn init( [INFO] [stderr] 116 | | &mut self, [INFO] [stderr] 117 | | mut factory: F, [INFO] [stderr] 118 | | window_dimentions: (f32, f32), [INFO] [stderr] ... | [INFO] [stderr] 165 | | Ok(()) [INFO] [stderr] 166 | | } [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: single-character string constant used as pattern [INFO] [stderr] --> src/stats_renderer.rs:264:24 [INFO] [stderr] | [INFO] [stderr] 264 | text.split("\n") [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/stats_renderer.rs:265:38 [INFO] [stderr] | [INFO] [stderr] 265 | .map(|row| row.split("\t").collect()) [INFO] [stderr] | ^^^^ help: try using a char instead: `'\t'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: field is never used: `fps` [INFO] [stderr] --> src/renderer.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | fps: FpsCounter, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `corner` [INFO] [stderr] --> src/stats_renderer.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | corner: Corner, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | r as u32 | (g as u32) << 8 | (b as u32) << 16 | (a as u32) << 24 [INFO] [stderr] | ^^^^^^^^ help: try: `u32::from(r)` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:43:24 [INFO] [stderr] | [INFO] [stderr] 43 | r as u32 | (g as u32) << 8 | (b as u32) << 16 | (a as u32) << 24 [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(g)` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | r as u32 | (g as u32) << 8 | (b as u32) << 16 | (a as u32) << 24 [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(b)` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:43:61 [INFO] [stderr] | [INFO] [stderr] 43 | r as u32 | (g as u32) << 8 | (b as u32) << 16 | (a as u32) << 24 [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(a)` [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: the operation is ineffective. Consider reducing it to `self.value` [INFO] [stderr] --> src/color.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | (self.value & 0xFFFFFFFF) as u8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `fps_counter::FpsCounter` [INFO] [stderr] --> src/fps_counter.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | / pub fn new() -> FpsCounter { [INFO] [stderr] 38 | | FpsCounter { [INFO] [stderr] 39 | | frames: Vec::with_capacity(FRAME_BUFFER_MAX), [INFO] [stderr] 40 | | last_report: None, [INFO] [stderr] 41 | | } [INFO] [stderr] 42 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 27 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/fps_counter.rs:66:12 [INFO] [stderr] | [INFO] [stderr] 66 | if self.frames.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.frames.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/pixmap.rs:103:36 [INFO] [stderr] | [INFO] [stderr] 103 | unsafe fn write_pixel_raw(map: &Vec, i: usize, raw: u32) { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [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: transmute from a reference to a reference [INFO] [stderr] --> src/pixmap.rs:150:13 [INFO] [stderr] | [INFO] [stderr] 150 | mem::transmute(self.as_slice()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(self.as_slice() as *const [u32] as *const [u8])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_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/renderer.rs:210:17 [INFO] [stderr] | [INFO] [stderr] 210 | / match event { [INFO] [stderr] 211 | | WindowEvent { [INFO] [stderr] 212 | | window_id: _, [INFO] [stderr] 213 | | event, [INFO] [stderr] ... | [INFO] [stderr] 236 | | _ => {}, [INFO] [stderr] 237 | | } [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] 210 | if let WindowEvent { [INFO] [stderr] 211 | window_id: _, [INFO] [stderr] 212 | event, [INFO] [stderr] 213 | } = event { match event { [INFO] [stderr] 214 | // Stop running when escape is pressed [INFO] [stderr] 215 | WindowKeyboardInput { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/stats_renderer.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | / pub fn init( [INFO] [stderr] 116 | | &mut self, [INFO] [stderr] 117 | | mut factory: F, [INFO] [stderr] 118 | | window_dimentions: (f32, f32), [INFO] [stderr] ... | [INFO] [stderr] 165 | | Ok(()) [INFO] [stderr] 166 | | } [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: single-character string constant used as pattern [INFO] [stderr] --> src/stats_renderer.rs:264:24 [INFO] [stderr] | [INFO] [stderr] 264 | text.split("\n") [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/stats_renderer.rs:265:38 [INFO] [stderr] | [INFO] [stderr] 265 | .map(|row| row.split("\t").collect()) [INFO] [stderr] | ^^^^ help: try using a char instead: `'\t'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/color.rs:49:23 [INFO] [stderr] | [INFO] [stderr] 49 | (self.value & 0xFFFFFFFF) as u8 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [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/color.rs:54:24 [INFO] [stderr] | [INFO] [stderr] 54 | (self.value & (0xFFFFFFFF << 8)) as u8 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [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: long literal lacking separators [INFO] [stderr] --> src/color.rs:59:24 [INFO] [stderr] | [INFO] [stderr] 59 | (self.value & (0xFFFFFFFF << 16)) as u8 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [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: long literal lacking separators [INFO] [stderr] --> src/color.rs:64:24 [INFO] [stderr] | [INFO] [stderr] 64 | (self.value & (0xFFFFFFFF << 24)) as u8 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [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: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:212:25 [INFO] [stderr] | [INFO] [stderr] 212 | window_id: _, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `WindowEvent { event, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | device_id: _, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `WindowKeyboardInput { input: KeyboardInput { [INFO] [stderr] scancode: _, [INFO] [stderr] state: _, [INFO] [stderr] virtual_keycode: Some(VirtualKeyCode::Escape), [INFO] [stderr] modifiers: _, [INFO] [stderr] }, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:219:33 [INFO] [stderr] | [INFO] [stderr] 219 | scancode: _, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:220:33 [INFO] [stderr] | [INFO] [stderr] 220 | state: _, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:222:33 [INFO] [stderr] | [INFO] [stderr] 222 | modifiers: _, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `KeyboardInput { virtual_keycode: Some(VirtualKeyCode::Escape), .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/stats_renderer.rs:214:9 [INFO] [stderr] | [INFO] [stderr] 214 | / if bounds != (0f32, 0f32) { [INFO] [stderr] 215 | | if self.bg_slice.is_some() && self.bg_pso.is_some() && self.bg_data.is_some() { [INFO] [stderr] 216 | | // Get the window dimentions [INFO] [stderr] 217 | | let win = self.window_dimentions.unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 240 | | } [INFO] [stderr] 241 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 214 | if bounds != (0f32, 0f32) && self.bg_slice.is_some() && self.bg_pso.is_some() && self.bg_data.is_some() { [INFO] [stderr] 215 | // Get the window dimentions [INFO] [stderr] 216 | let win = self.window_dimentions.unwrap(); [INFO] [stderr] 217 | [INFO] [stderr] 218 | // Determine the position and size of the background quad [INFO] [stderr] 219 | let w = bounds.0 / win.0 * 2f32; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/color.rs:49:23 [INFO] [stderr] | [INFO] [stderr] 49 | (self.value & 0xFFFFFFFF) as u8 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [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/color.rs:54:24 [INFO] [stderr] | [INFO] [stderr] 54 | (self.value & (0xFFFFFFFF << 8)) as u8 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [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: long literal lacking separators [INFO] [stderr] --> src/color.rs:59:24 [INFO] [stderr] | [INFO] [stderr] 59 | (self.value & (0xFFFFFFFF << 16)) as u8 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [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: long literal lacking separators [INFO] [stderr] --> src/color.rs:64:24 [INFO] [stderr] | [INFO] [stderr] 64 | (self.value & (0xFFFFFFFF << 24)) as u8 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [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: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:212:25 [INFO] [stderr] | [INFO] [stderr] 212 | window_id: _, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `WindowEvent { event, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | device_id: _, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `WindowKeyboardInput { input: KeyboardInput { [INFO] [stderr] scancode: _, [INFO] [stderr] state: _, [INFO] [stderr] virtual_keycode: Some(VirtualKeyCode::Escape), [INFO] [stderr] modifiers: _, [INFO] [stderr] }, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:219:33 [INFO] [stderr] | [INFO] [stderr] 219 | scancode: _, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:220:33 [INFO] [stderr] | [INFO] [stderr] 220 | state: _, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/renderer.rs:222:33 [INFO] [stderr] | [INFO] [stderr] 222 | modifiers: _, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `KeyboardInput { virtual_keycode: Some(VirtualKeyCode::Escape), .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/stats_renderer.rs:214:9 [INFO] [stderr] | [INFO] [stderr] 214 | / if bounds != (0f32, 0f32) { [INFO] [stderr] 215 | | if self.bg_slice.is_some() && self.bg_pso.is_some() && self.bg_data.is_some() { [INFO] [stderr] 216 | | // Get the window dimentions [INFO] [stderr] 217 | | let win = self.window_dimentions.unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 240 | | } [INFO] [stderr] 241 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 214 | if bounds != (0f32, 0f32) && self.bg_slice.is_some() && self.bg_pso.is_some() && self.bg_data.is_some() { [INFO] [stderr] 215 | // Get the window dimentions [INFO] [stderr] 216 | let win = self.window_dimentions.unwrap(); [INFO] [stderr] 217 | [INFO] [stderr] 218 | // Determine the position and size of the background quad [INFO] [stderr] 219 | let w = bounds.0 / win.0 * 2f32; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `FRAME_TTL_MS` [INFO] [stderr] --> src/fps_counter.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | const FRAME_TTL_MS: i64 = 5000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `REPORT_INTERVAL_MS` [INFO] [stderr] --> src/fps_counter.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | const REPORT_INTERVAL_MS: i64 = 1000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `REPORT_FIRST_FRAMES_MIN` [INFO] [stderr] --> src/fps_counter.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | const REPORT_FIRST_FRAMES_MIN: usize = 5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `frames` [INFO] [stderr] --> src/fps_counter.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | frames: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `last_report` [INFO] [stderr] --> src/fps_counter.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | last_report: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `tick` [INFO] [stderr] --> src/fps_counter.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | pub fn tick(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `calculate_fps` [INFO] [stderr] --> src/fps_counter.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn calculate_fps(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `report_periodically` [INFO] [stderr] --> src/fps_counter.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | pub fn report_periodically(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `report` [INFO] [stderr] --> src/fps_counter.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | pub fn report(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `cleanup_frames` [INFO] [stderr] --> src/fps_counter.rs:119:5 [INFO] [stderr] | [INFO] [stderr] 119 | fn cleanup_frames(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `fps` [INFO] [stderr] --> src/renderer.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | fps: FpsCounter, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `stats` [INFO] [stderr] --> src/renderer.rs:279:5 [INFO] [stderr] | [INFO] [stderr] 279 | pub fn stats(&self) -> &StatsRenderer { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `corner` [INFO] [stderr] --> src/stats_renderer.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | corner: Corner, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `text` [INFO] [stderr] --> src/stats_renderer.rs:169:5 [INFO] [stderr] | [INFO] [stderr] 169 | pub fn text(&self) -> Arc> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_text` [INFO] [stderr] --> src/stats_renderer.rs:182:5 [INFO] [stderr] | [INFO] [stderr] 182 | pub fn set_text(&self, text: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TopRight` [INFO] [stderr] --> src/stats_renderer.rs:379:5 [INFO] [stderr] | [INFO] [stderr] 379 | TopRight, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BottomLeft` [INFO] [stderr] --> src/stats_renderer.rs:382:5 [INFO] [stderr] | [INFO] [stderr] 382 | BottomLeft, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BottomRight` [INFO] [stderr] --> src/stats_renderer.rs:385:5 [INFO] [stderr] | [INFO] [stderr] 385 | BottomRight [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | r as u32 | (g as u32) << 8 | (b as u32) << 16 | (a as u32) << 24 [INFO] [stderr] | ^^^^^^^^ help: try: `u32::from(r)` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:43:24 [INFO] [stderr] | [INFO] [stderr] 43 | r as u32 | (g as u32) << 8 | (b as u32) << 16 | (a as u32) << 24 [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(g)` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | r as u32 | (g as u32) << 8 | (b as u32) << 16 | (a as u32) << 24 [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(b)` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:43:61 [INFO] [stderr] | [INFO] [stderr] 43 | r as u32 | (g as u32) << 8 | (b as u32) << 16 | (a as u32) << 24 [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(a)` [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: the operation is ineffective. Consider reducing it to `self.value` [INFO] [stderr] --> src/color.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | (self.value & 0xFFFFFFFF) as u8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/fps_counter.rs:66:12 [INFO] [stderr] | [INFO] [stderr] 66 | if self.frames.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.frames.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/pixmap.rs:103:36 [INFO] [stderr] | [INFO] [stderr] 103 | unsafe fn write_pixel_raw(map: &Vec, i: usize, raw: u32) { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [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: transmute from a reference to a reference [INFO] [stderr] --> src/pixmap.rs:150:13 [INFO] [stderr] | [INFO] [stderr] 150 | mem::transmute(self.as_slice()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(self.as_slice() as *const [u32] as *const [u8])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_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/renderer.rs:210:17 [INFO] [stderr] | [INFO] [stderr] 210 | / match event { [INFO] [stderr] 211 | | WindowEvent { [INFO] [stderr] 212 | | window_id: _, [INFO] [stderr] 213 | | event, [INFO] [stderr] ... | [INFO] [stderr] 236 | | _ => {}, [INFO] [stderr] 237 | | } [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] 210 | if let WindowEvent { [INFO] [stderr] 211 | window_id: _, [INFO] [stderr] 212 | event, [INFO] [stderr] 213 | } = event { match event { [INFO] [stderr] 214 | // Stop running when escape is pressed [INFO] [stderr] 215 | WindowKeyboardInput { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/stats_renderer.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | / pub fn init( [INFO] [stderr] 116 | | &mut self, [INFO] [stderr] 117 | | mut factory: F, [INFO] [stderr] 118 | | window_dimentions: (f32, f32), [INFO] [stderr] ... | [INFO] [stderr] 165 | | Ok(()) [INFO] [stderr] 166 | | } [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: single-character string constant used as pattern [INFO] [stderr] --> src/stats_renderer.rs:264:24 [INFO] [stderr] | [INFO] [stderr] 264 | text.split("\n") [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/stats_renderer.rs:265:38 [INFO] [stderr] | [INFO] [stderr] 265 | .map(|row| row.split("\t").collect()) [INFO] [stderr] | ^^^^ help: try using a char instead: `'\t'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `FRAME_TTL_MS` [INFO] [stderr] --> src/fps_counter.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | const FRAME_TTL_MS: i64 = 5000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `REPORT_INTERVAL_MS` [INFO] [stderr] --> src/fps_counter.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | const REPORT_INTERVAL_MS: i64 = 1000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `REPORT_FIRST_FRAMES_MIN` [INFO] [stderr] --> src/fps_counter.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | const REPORT_FIRST_FRAMES_MIN: usize = 5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `frames` [INFO] [stderr] --> src/fps_counter.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | frames: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `last_report` [INFO] [stderr] --> src/fps_counter.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | last_report: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `tick` [INFO] [stderr] --> src/fps_counter.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | pub fn tick(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `calculate_fps` [INFO] [stderr] --> src/fps_counter.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn calculate_fps(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `report_periodically` [INFO] [stderr] --> src/fps_counter.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | pub fn report_periodically(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `report` [INFO] [stderr] --> src/fps_counter.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | pub fn report(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `cleanup_frames` [INFO] [stderr] --> src/fps_counter.rs:119:5 [INFO] [stderr] | [INFO] [stderr] 119 | fn cleanup_frames(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `fps` [INFO] [stderr] --> src/renderer.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | fps: FpsCounter, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `stats` [INFO] [stderr] --> src/renderer.rs:279:5 [INFO] [stderr] | [INFO] [stderr] 279 | pub fn stats(&self) -> &StatsRenderer { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `corner` [INFO] [stderr] --> src/stats_renderer.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | corner: Corner, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `text` [INFO] [stderr] --> src/stats_renderer.rs:169:5 [INFO] [stderr] | [INFO] [stderr] 169 | pub fn text(&self) -> Arc> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_text` [INFO] [stderr] --> src/stats_renderer.rs:182:5 [INFO] [stderr] | [INFO] [stderr] 182 | pub fn set_text(&self, text: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TopRight` [INFO] [stderr] --> src/stats_renderer.rs:379:5 [INFO] [stderr] | [INFO] [stderr] 379 | TopRight, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BottomLeft` [INFO] [stderr] --> src/stats_renderer.rs:382:5 [INFO] [stderr] | [INFO] [stderr] 382 | BottomLeft, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BottomRight` [INFO] [stderr] --> src/stats_renderer.rs:385:5 [INFO] [stderr] | [INFO] [stderr] 385 | BottomRight [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | r as u32 | (g as u32) << 8 | (b as u32) << 16 | (a as u32) << 24 [INFO] [stderr] | ^^^^^^^^ help: try: `u32::from(r)` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:43:24 [INFO] [stderr] | [INFO] [stderr] 43 | r as u32 | (g as u32) << 8 | (b as u32) << 16 | (a as u32) << 24 [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(g)` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | r as u32 | (g as u32) << 8 | (b as u32) << 16 | (a as u32) << 24 [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(b)` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:43:61 [INFO] [stderr] | [INFO] [stderr] 43 | r as u32 | (g as u32) << 8 | (b as u32) << 16 | (a as u32) << 24 [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(a)` [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: the operation is ineffective. Consider reducing it to `self.value` [INFO] [stderr] --> src/color.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | (self.value & 0xFFFFFFFF) as u8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/fps_counter.rs:66:12 [INFO] [stderr] | [INFO] [stderr] 66 | if self.frames.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.frames.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/pixmap.rs:103:36 [INFO] [stderr] | [INFO] [stderr] 103 | unsafe fn write_pixel_raw(map: &Vec, i: usize, raw: u32) { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [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: transmute from a reference to a reference [INFO] [stderr] --> src/pixmap.rs:150:13 [INFO] [stderr] | [INFO] [stderr] 150 | mem::transmute(self.as_slice()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(self.as_slice() as *const [u32] as *const [u8])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_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/renderer.rs:210:17 [INFO] [stderr] | [INFO] [stderr] 210 | / match event { [INFO] [stderr] 211 | | WindowEvent { [INFO] [stderr] 212 | | window_id: _, [INFO] [stderr] 213 | | event, [INFO] [stderr] ... | [INFO] [stderr] 236 | | _ => {}, [INFO] [stderr] 237 | | } [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] 210 | if let WindowEvent { [INFO] [stderr] 211 | window_id: _, [INFO] [stderr] 212 | event, [INFO] [stderr] 213 | } = event { match event { [INFO] [stderr] 214 | // Stop running when escape is pressed [INFO] [stderr] 215 | WindowKeyboardInput { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/stats_renderer.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | / pub fn init( [INFO] [stderr] 116 | | &mut self, [INFO] [stderr] 117 | | mut factory: F, [INFO] [stderr] 118 | | window_dimentions: (f32, f32), [INFO] [stderr] ... | [INFO] [stderr] 165 | | Ok(()) [INFO] [stderr] 166 | | } [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: single-character string constant used as pattern [INFO] [stderr] --> src/stats_renderer.rs:264:24 [INFO] [stderr] | [INFO] [stderr] 264 | text.split("\n") [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/stats_renderer.rs:265:38 [INFO] [stderr] | [INFO] [stderr] 265 | .map(|row| row.split("\t").collect()) [INFO] [stderr] | ^^^^ help: try using a char instead: `'\t'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 14s [INFO] running `"docker" "inspect" "aa59db24297c4e25a7c9c335d92f2b3f297521e5123ddf25ae4452d179e2031f"` [INFO] running `"docker" "rm" "-f" "aa59db24297c4e25a7c9c335d92f2b3f297521e5123ddf25ae4452d179e2031f"` [INFO] [stdout] aa59db24297c4e25a7c9c335d92f2b3f297521e5123ddf25ae4452d179e2031f