[INFO] updating cached repository xea/visrs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/xea/visrs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/xea/visrs" "work/ex/clippy-test-run/sources/stable/gh/xea/visrs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/xea/visrs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/xea/visrs" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/xea/visrs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/xea/visrs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] aec742ce5656d8f0bcd3b7821647cd52dccc322f [INFO] sha for GitHub repo xea/visrs: aec742ce5656d8f0bcd3b7821647cd52dccc322f [INFO] validating manifest of xea/visrs 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 xea/visrs 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 xea/visrs [INFO] finished frobbing xea/visrs [INFO] frobbed toml for xea/visrs written to work/ex/clippy-test-run/sources/stable/gh/xea/visrs/Cargo.toml [INFO] started frobbing xea/visrs [INFO] finished frobbing xea/visrs [INFO] frobbed toml for xea/visrs written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/xea/visrs/Cargo.toml [INFO] crate xea/visrs has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on the registry index [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting xea/visrs against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/xea/visrs:/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] 1a5c78c1b17fa8692e97eba46aada38f4901e0dbf9877dc0b3914894c4ce7680 [INFO] running `"docker" "start" "-a" "1a5c78c1b17fa8692e97eba46aada38f4901e0dbf9877dc0b3914894c4ce7680"` [INFO] [stderr] Compiling num-traits v0.1.37 [INFO] [stderr] Compiling dtoa v0.4.1 [INFO] [stderr] Compiling serde v0.9.14 [INFO] [stderr] Compiling itoa v0.3.1 [INFO] [stderr] Compiling bitflags v0.7.0 [INFO] [stderr] Compiling gcc v0.3.45 [INFO] [stderr] Compiling khronos_api v1.0.0 [INFO] [stderr] Compiling log v0.3.7 [INFO] [stderr] Checking fnv v1.0.5 [INFO] [stderr] Checking smallvec v0.1.8 [INFO] [stderr] Checking shared_library v0.1.5 [INFO] [stderr] Compiling x11-dl v2.13.0 [INFO] [stderr] Compiling xml-rs v0.3.6 [INFO] [stderr] Compiling phf v0.7.21 [INFO] [stderr] Compiling tempfile v2.1.5 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Compiling target_build_utils v0.3.0 [INFO] [stderr] Compiling backtrace-sys v0.1.10 [INFO] [stderr] Compiling wayland-scanner v0.7.8 [INFO] [stderr] Compiling gl_generator v0.5.2 [INFO] [stderr] Compiling glutin v0.7.4 [INFO] [stderr] Compiling glium v0.16.0 [INFO] [stderr] Compiling wayland-client v0.7.8 [INFO] [stderr] Compiling serde_json v0.9.10 [INFO] [stderr] Compiling libloading v0.3.4 [INFO] [stderr] Checking dlib v0.3.1 [INFO] [stderr] Checking wayland-sys v0.7.8 [INFO] [stderr] Checking backtrace v0.2.3 [INFO] [stderr] Checking wayland-kbd v0.6.3 [INFO] [stderr] Checking wayland-window v0.4.4 [INFO] [stderr] Checking winit v0.5.11 [INFO] [stderr] Checking visrs v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused imports: `EmptyUniforms`, `UniformValue`, `UniformsStorage` [INFO] [stderr] --> src/main.rs:9:23 [INFO] [stderr] | [INFO] [stderr] 9 | use glium::uniforms::{EmptyUniforms, UniformValue, UniformsStorage}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:30:71 [INFO] [stderr] | [INFO] [stderr] 30 | (elapsed.as_secs() * 1000) as u32 + (elapsed.subsec_nanos() / 1000000) as u32 [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_000` [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: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:86:25 [INFO] [stderr] | [INFO] [stderr] 86 | Vertex::new(-1.0f32.sin(), -1.0f32.cos(), 0.0), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(1.0f32.sin())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:86:40 [INFO] [stderr] | [INFO] [stderr] 86 | Vertex::new(-1.0f32.sin(), -1.0f32.cos(), 0.0), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(1.0f32.cos())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:87:25 [INFO] [stderr] | [INFO] [stderr] 87 | Vertex::new(-0.5f32.sin(), -0.5f32.cos(), 0.0), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(0.5f32.sin())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:87:40 [INFO] [stderr] | [INFO] [stderr] 87 | Vertex::new(-0.5f32.sin(), -0.5f32.cos(), 0.0), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(0.5f32.cos())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:88:25 [INFO] [stderr] | [INFO] [stderr] 88 | Vertex::new(-0.0f32.sin(), -0.0f32.cos(), 0.0), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(0.0f32.sin())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:88:40 [INFO] [stderr] | [INFO] [stderr] 88 | Vertex::new(-0.0f32.sin(), -0.0f32.cos(), 0.0), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(0.0f32.cos())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/main.rs:139:11 [INFO] [stderr] | [INFO] [stderr] 139 | fn main() -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/main.rs:173:62 [INFO] [stderr] | [INFO] [stderr] 173 | fn update_state(scene: &mut Scene, state: &mut ProgramState) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/main.rs:178:74 [INFO] [stderr] | [INFO] [stderr] 178 | fn draw_frame(mut frame: Frame, scene: &Scene, state: &mut ProgramState) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/main.rs:196:58 [INFO] [stderr] | [INFO] [stderr] 196 | fn handle_event(event: &Event, state: &mut ProgramState) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/main.rs:208:38 [INFO] [stderr] | [INFO] [stderr] 208 | fn limit_rate(frame_start: &Instant) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unused variable: `scene` [INFO] [stderr] --> src/main.rs:173:17 [INFO] [stderr] | [INFO] [stderr] 173 | fn update_state(scene: &mut Scene, state: &mut ProgramState) -> () { [INFO] [stderr] | ^^^^^ help: consider using `_scene` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `width` [INFO] [stderr] --> src/main.rs:199:25 [INFO] [stderr] | [INFO] [stderr] 199 | &Event::Resized(width, height) => (), [INFO] [stderr] | ^^^^^ help: consider using `_width` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `height` [INFO] [stderr] --> src/main.rs:199:32 [INFO] [stderr] | [INFO] [stderr] 199 | &Event::Resized(width, height) => (), [INFO] [stderr] | ^^^^^^ help: consider using `_height` instead [INFO] [stderr] [INFO] [stderr] warning: method is never used: `square` [INFO] [stderr] --> src/main.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn square() -> Shape { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `five_point_star` [INFO] [stderr] --> src/main.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn five_point_star() -> Shape { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `cube` [INFO] [stderr] --> src/main.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | pub fn cube() -> Shape { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `limit_rate` [INFO] [stderr] --> src/main.rs:208:1 [INFO] [stderr] | [INFO] [stderr] 208 | fn limit_rate(frame_start: &Instant) -> () { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Calling `subsec_millis()` is more concise than this calculation [INFO] [stderr] --> src/main.rs:30:45 [INFO] [stderr] | [INFO] [stderr] 30 | (elapsed.as_secs() * 1000) as u32 + (elapsed.subsec_nanos() / 1000000) as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `elapsed.subsec_millis()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::duration_subsec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duration_subsec [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/main.rs:140:70 [INFO] [stderr] | [INFO] [stderr] 140 | let settings = ScreenSettings { width: 1024, height: 768, title: format!("VisRS") }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"VisRS".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:197:5 [INFO] [stderr] | [INFO] [stderr] 197 | / match event { [INFO] [stderr] 198 | | &Event::Closed => { state.shall_continue = false; }, [INFO] [stderr] 199 | | &Event::Resized(width, height) => (), [INFO] [stderr] 200 | | &Event::KeyboardInput(_, _, ref event) => match event.unwrap() { [INFO] [stderr] ... | [INFO] [stderr] 204 | | _ => () [INFO] [stderr] 205 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 197 | match *event { [INFO] [stderr] 198 | Event::Closed => { state.shall_continue = false; }, [INFO] [stderr] 199 | Event::Resized(width, height) => (), [INFO] [stderr] 200 | Event::KeyboardInput(_, _, ref event) => match event.unwrap() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:200:51 [INFO] [stderr] | [INFO] [stderr] 200 | &Event::KeyboardInput(_, _, ref event) => match event.unwrap() { [INFO] [stderr] | ___________________________________________________^ [INFO] [stderr] 201 | | VirtualKeyCode::Escape => { state.shall_continue = false; }, [INFO] [stderr] 202 | | _ => () [INFO] [stderr] 203 | | }, [INFO] [stderr] | |_________^ help: try this: `if let VirtualKeyCode::Escape = event.unwrap() { state.shall_continue = false; }` [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] [INFO] [stderr] warning: Calling `subsec_millis()` is more concise than this calculation [INFO] [stderr] --> src/main.rs:209:20 [INFO] [stderr] | [INFO] [stderr] 209 | let frame_ms = frame_start.elapsed().subsec_nanos() / 1_000_000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `frame_start.elapsed().subsec_millis()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duration_subsec [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:216:52 [INFO] [stderr] | [INFO] [stderr] 216 | ::std::thread::sleep(Duration::from_millis(sleep_time as u64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u64::from(sleep_time)` [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: unused imports: `EmptyUniforms`, `UniformValue`, `UniformsStorage` [INFO] [stderr] --> src/main.rs:9:23 [INFO] [stderr] | [INFO] [stderr] 9 | use glium::uniforms::{EmptyUniforms, UniformValue, UniformsStorage}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:30:71 [INFO] [stderr] | [INFO] [stderr] 30 | (elapsed.as_secs() * 1000) as u32 + (elapsed.subsec_nanos() / 1000000) as u32 [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_000` [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: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:86:25 [INFO] [stderr] | [INFO] [stderr] 86 | Vertex::new(-1.0f32.sin(), -1.0f32.cos(), 0.0), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(1.0f32.sin())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:86:40 [INFO] [stderr] | [INFO] [stderr] 86 | Vertex::new(-1.0f32.sin(), -1.0f32.cos(), 0.0), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(1.0f32.cos())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:87:25 [INFO] [stderr] | [INFO] [stderr] 87 | Vertex::new(-0.5f32.sin(), -0.5f32.cos(), 0.0), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(0.5f32.sin())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:87:40 [INFO] [stderr] | [INFO] [stderr] 87 | Vertex::new(-0.5f32.sin(), -0.5f32.cos(), 0.0), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(0.5f32.cos())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:88:25 [INFO] [stderr] | [INFO] [stderr] 88 | Vertex::new(-0.0f32.sin(), -0.0f32.cos(), 0.0), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(0.0f32.sin())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:88:40 [INFO] [stderr] | [INFO] [stderr] 88 | Vertex::new(-0.0f32.sin(), -0.0f32.cos(), 0.0), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(0.0f32.cos())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/main.rs:139:11 [INFO] [stderr] | [INFO] [stderr] 139 | fn main() -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/main.rs:173:62 [INFO] [stderr] | [INFO] [stderr] 173 | fn update_state(scene: &mut Scene, state: &mut ProgramState) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/main.rs:178:74 [INFO] [stderr] | [INFO] [stderr] 178 | fn draw_frame(mut frame: Frame, scene: &Scene, state: &mut ProgramState) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/main.rs:196:58 [INFO] [stderr] | [INFO] [stderr] 196 | fn handle_event(event: &Event, state: &mut ProgramState) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/main.rs:208:38 [INFO] [stderr] | [INFO] [stderr] 208 | fn limit_rate(frame_start: &Instant) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unused variable: `scene` [INFO] [stderr] --> src/main.rs:173:17 [INFO] [stderr] | [INFO] [stderr] 173 | fn update_state(scene: &mut Scene, state: &mut ProgramState) -> () { [INFO] [stderr] | ^^^^^ help: consider using `_scene` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `width` [INFO] [stderr] --> src/main.rs:199:25 [INFO] [stderr] | [INFO] [stderr] 199 | &Event::Resized(width, height) => (), [INFO] [stderr] | ^^^^^ help: consider using `_width` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `height` [INFO] [stderr] --> src/main.rs:199:32 [INFO] [stderr] | [INFO] [stderr] 199 | &Event::Resized(width, height) => (), [INFO] [stderr] | ^^^^^^ help: consider using `_height` instead [INFO] [stderr] [INFO] [stderr] warning: method is never used: `square` [INFO] [stderr] --> src/main.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn square() -> Shape { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `five_point_star` [INFO] [stderr] --> src/main.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn five_point_star() -> Shape { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `cube` [INFO] [stderr] --> src/main.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | pub fn cube() -> Shape { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `limit_rate` [INFO] [stderr] --> src/main.rs:208:1 [INFO] [stderr] | [INFO] [stderr] 208 | fn limit_rate(frame_start: &Instant) -> () { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Calling `subsec_millis()` is more concise than this calculation [INFO] [stderr] --> src/main.rs:30:45 [INFO] [stderr] | [INFO] [stderr] 30 | (elapsed.as_secs() * 1000) as u32 + (elapsed.subsec_nanos() / 1000000) as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `elapsed.subsec_millis()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::duration_subsec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duration_subsec [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/main.rs:140:70 [INFO] [stderr] | [INFO] [stderr] 140 | let settings = ScreenSettings { width: 1024, height: 768, title: format!("VisRS") }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"VisRS".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:197:5 [INFO] [stderr] | [INFO] [stderr] 197 | / match event { [INFO] [stderr] 198 | | &Event::Closed => { state.shall_continue = false; }, [INFO] [stderr] 199 | | &Event::Resized(width, height) => (), [INFO] [stderr] 200 | | &Event::KeyboardInput(_, _, ref event) => match event.unwrap() { [INFO] [stderr] ... | [INFO] [stderr] 204 | | _ => () [INFO] [stderr] 205 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 197 | match *event { [INFO] [stderr] 198 | Event::Closed => { state.shall_continue = false; }, [INFO] [stderr] 199 | Event::Resized(width, height) => (), [INFO] [stderr] 200 | Event::KeyboardInput(_, _, ref event) => match event.unwrap() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:200:51 [INFO] [stderr] | [INFO] [stderr] 200 | &Event::KeyboardInput(_, _, ref event) => match event.unwrap() { [INFO] [stderr] | ___________________________________________________^ [INFO] [stderr] 201 | | VirtualKeyCode::Escape => { state.shall_continue = false; }, [INFO] [stderr] 202 | | _ => () [INFO] [stderr] 203 | | }, [INFO] [stderr] | |_________^ help: try this: `if let VirtualKeyCode::Escape = event.unwrap() { state.shall_continue = false; }` [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] [INFO] [stderr] warning: Calling `subsec_millis()` is more concise than this calculation [INFO] [stderr] --> src/main.rs:209:20 [INFO] [stderr] | [INFO] [stderr] 209 | let frame_ms = frame_start.elapsed().subsec_nanos() / 1_000_000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `frame_start.elapsed().subsec_millis()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duration_subsec [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:216:52 [INFO] [stderr] | [INFO] [stderr] 216 | ::std::thread::sleep(Duration::from_millis(sleep_time as u64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u64::from(sleep_time)` [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] Finished dev [unoptimized + debuginfo] target(s) in 59.35s [INFO] running `"docker" "inspect" "1a5c78c1b17fa8692e97eba46aada38f4901e0dbf9877dc0b3914894c4ce7680"` [INFO] running `"docker" "rm" "-f" "1a5c78c1b17fa8692e97eba46aada38f4901e0dbf9877dc0b3914894c4ce7680"` [INFO] [stdout] 1a5c78c1b17fa8692e97eba46aada38f4901e0dbf9877dc0b3914894c4ce7680