[INFO] updating cached repository tylerreisinger/rust-bullet-game [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/tylerreisinger/rust-bullet-game [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/tylerreisinger/rust-bullet-game" "work/ex/clippy-test-run/sources/stable/gh/tylerreisinger/rust-bullet-game"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/tylerreisinger/rust-bullet-game'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/tylerreisinger/rust-bullet-game" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/tylerreisinger/rust-bullet-game"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/tylerreisinger/rust-bullet-game'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 50059e83f45eb9442d0b1b1ff5c90a8feec4daea [INFO] sha for GitHub repo tylerreisinger/rust-bullet-game: 50059e83f45eb9442d0b1b1ff5c90a8feec4daea [INFO] validating manifest of tylerreisinger/rust-bullet-game 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 tylerreisinger/rust-bullet-game 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 tylerreisinger/rust-bullet-game [INFO] finished frobbing tylerreisinger/rust-bullet-game [INFO] frobbed toml for tylerreisinger/rust-bullet-game written to work/ex/clippy-test-run/sources/stable/gh/tylerreisinger/rust-bullet-game/Cargo.toml [INFO] started frobbing tylerreisinger/rust-bullet-game [INFO] finished frobbing tylerreisinger/rust-bullet-game [INFO] frobbed toml for tylerreisinger/rust-bullet-game written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/tylerreisinger/rust-bullet-game/Cargo.toml [INFO] crate tylerreisinger/rust-bullet-game 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 tylerreisinger/rust-bullet-game against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/tylerreisinger/rust-bullet-game:/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] 12602ab47c6596184f7c79b77d912e751bf18f6472aaf5ae3007d2a5acd03358 [INFO] running `"docker" "start" "-a" "12602ab47c6596184f7c79b77d912e751bf18f6472aaf5ae3007d2a5acd03358"` [INFO] [stderr] Compiling libc v0.2.24 [INFO] [stderr] Compiling num-traits v0.1.39 [INFO] [stderr] Checking scopeguard v0.3.2 [INFO] [stderr] Checking futures v0.1.14 [INFO] [stderr] Checking atom v0.3.4 [INFO] [stderr] Checking smallvec v0.4.0 [INFO] [stderr] Checking mopa v0.2.2 [INFO] [stderr] Checking tuple_utils v0.2.0 [INFO] [stderr] Checking num_cpus v1.6.2 [INFO] [stderr] Checking rand v0.3.15 [INFO] [stderr] Checking time v0.1.37 [INFO] [stderr] Checking shared_library v0.1.5 [INFO] [stderr] Checking deflate v0.7.11 [INFO] [stderr] Checking coco v0.1.1 [INFO] [stderr] Compiling wayland-scanner v0.8.7 [INFO] [stderr] Compiling gl_generator v0.5.3 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Checking num-integer v0.1.34 [INFO] [stderr] Checking enum_primitive v0.1.1 [INFO] [stderr] Checking pulse v0.5.3 [INFO] [stderr] Compiling shred-derive v0.3.0 [INFO] [stderr] Checking x11-dl v2.14.0 [INFO] [stderr] Compiling serde_json v0.9.10 [INFO] [stderr] Checking fs2 v0.2.5 [INFO] [stderr] Checking num-iter v0.1.33 [INFO] [stderr] Checking num-rational v0.1.38 [INFO] [stderr] Compiling wayland-client v0.8.7 [INFO] [stderr] Checking tempfile v2.1.5 [INFO] [stderr] Checking cgmath v0.14.1 [INFO] [stderr] Checking memmap v0.4.0 [INFO] [stderr] Checking num v0.1.39 [INFO] [stderr] Checking png v0.8.0 [INFO] [stderr] Checking rayon-core v1.2.1 [INFO] [stderr] Compiling phf_generator v0.7.21 [INFO] [stderr] Compiling gl v0.6.2 [INFO] [stderr] Compiling glutin v0.8.1 [INFO] [stderr] Checking chrono v0.4.0 [INFO] [stderr] Compiling phf_codegen v0.7.21 [INFO] [stderr] Checking rayon v0.8.1 [INFO] [stderr] Checking rayon v0.7.1 [INFO] [stderr] Compiling target_build_utils v0.3.1 [INFO] [stderr] Checking jpeg-decoder v0.1.13 [INFO] [stderr] Checking float_duration v0.3.3 [INFO] [stderr] Checking shred v0.4.3 [INFO] [stderr] Checking hibitset v0.1.3 [INFO] [stderr] Checking game_time v0.2.0 [INFO] [stderr] Checking image v0.14.0 [INFO] [stderr] Checking specs v0.9.1 [INFO] [stderr] Compiling libloading v0.3.4 [INFO] [stderr] Checking dlib v0.3.1 [INFO] [stderr] Checking piston2d-opengl_graphics v0.44.0 [INFO] [stderr] Checking wayland-sys v0.8.7 [INFO] [stderr] Checking wayland-window v0.5.0 [INFO] [stderr] Checking wayland-kbd v0.8.0 [INFO] [stderr] Checking winit v0.6.4 [INFO] [stderr] Checking bullet_game v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/input/command.rs:55:17 [INFO] [stderr] | [INFO] [stderr] 55 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/input/command.rs:55:17 [INFO] [stderr] | [INFO] [stderr] 55 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unused import: `Join` [INFO] [stderr] --> src/ecs/component/render.rs:1:32 [INFO] [stderr] | [INFO] [stderr] 1 | use specs::{self, ReadStorage, Join}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/ecs/component/render.rs:3:23 [INFO] [stderr] | [INFO] [stderr] 3 | use opengl_graphics::{self, GlGraphics}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `glutin::VirtualKeyCode` [INFO] [stderr] --> src/controller/mod.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use glutin::VirtualKeyCode; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `InputEvent` [INFO] [stderr] --> src/controller/mod.rs:6:27 [INFO] [stderr] | [INFO] [stderr] 6 | use input::{InputManager, InputEvent}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Join` [INFO] [stderr] --> src/ecs/component/render.rs:1:32 [INFO] [stderr] | [INFO] [stderr] 1 | use specs::{self, ReadStorage, Join}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/ecs/component/render.rs:3:23 [INFO] [stderr] | [INFO] [stderr] 3 | use opengl_graphics::{self, GlGraphics}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `glutin::VirtualKeyCode` [INFO] [stderr] --> src/controller/mod.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use glutin::VirtualKeyCode; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `InputEvent` [INFO] [stderr] --> src/controller/mod.rs:6:27 [INFO] [stderr] | [INFO] [stderr] 6 | use input::{InputManager, InputEvent}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `transform` [INFO] [stderr] --> src/render.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | let transform = ctx.transform; [INFO] [stderr] | ^^^^^^^^^ help: consider using `_transform` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `entity` [INFO] [stderr] --> src/render.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | entity: &specs::Entity, [INFO] [stderr] | ^^^^^^ help: consider using `_entity` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `renderer` [INFO] [stderr] --> src/render.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | renderer: &component::render::Render, [INFO] [stderr] | ^^^^^^^^ help: consider using `_renderer` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time` [INFO] [stderr] --> src/game.rs:155:26 [INFO] [stderr] | [INFO] [stderr] 155 | fn update(&mut self, time: &GameTime) { [INFO] [stderr] | ^^^^ help: consider using `_time` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time` [INFO] [stderr] --> src/game.rs:165:24 [INFO] [stderr] | [INFO] [stderr] 165 | fn draw(&mut self, time: &GameTime) { [INFO] [stderr] | ^^^^ help: consider using `_time` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pos` [INFO] [stderr] --> src/ecs/component/controller.rs:48:38 [INFO] [stderr] | [INFO] [stderr] 48 | for (mut entity, controller, pos, mut vel) in [INFO] [stderr] | ^^^ help: consider using `_pos` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `code` [INFO] [stderr] --> src/input/mod.rs:95:47 [INFO] [stderr] | [INFO] [stderr] 95 | WindowEvent::KeyboardInput(state, code, virt, modifiers) => { [INFO] [stderr] | ^^^^ help: consider using `_code` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `entity` [INFO] [stderr] --> src/controller/mod.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | entity: &mut specs::Entity, [INFO] [stderr] | ^^^^^^ help: consider using `_entity` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time` [INFO] [stderr] --> src/controller/mod.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | time: &GameTime, [INFO] [stderr] | ^^^^ help: consider using `_time` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `vel` [INFO] [stderr] --> src/controller/mod.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | vel: &mut Vector2, [INFO] [stderr] | ^^^ help: consider using `_vel` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `input` [INFO] [stderr] --> src/controller/mod.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | input: &InputManager, [INFO] [stderr] | ^^^^^ help: consider using `_input` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/game.rs:166:13 [INFO] [stderr] | [INFO] [stderr] 166 | let mut gl_ctx = self.gl_context.as_mut().unwrap(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/game.rs:167:13 [INFO] [stderr] | [INFO] [stderr] 167 | let mut world = &mut self.world; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `post_frame` [INFO] [stderr] --> src/game.rs:174:5 [INFO] [stderr] | [INFO] [stderr] 174 | fn post_frame(&mut self, time: &GameTime, fps_counter: &C) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `pos` [INFO] [stderr] --> src/ecs/component/render.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | pos: ReadStorage<'a, super::pos::Position>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `renderer` [INFO] [stderr] --> src/ecs/component/render.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | renderer: ReadStorage<'a, Render>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `entities` [INFO] [stderr] --> src/ecs/component/render.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | entities: specs::Entities<'a>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `time` [INFO] [stderr] --> src/ecs/component/render.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | time: specs::Fetch<'a, GameTime>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `ctx` [INFO] [stderr] --> src/ecs/component/render.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | ctx: specs::Fetch<'a, graphics::Context>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `entity` [INFO] [stderr] --> src/render.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | entity: specs::Entity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `pos` [INFO] [stderr] --> src/render.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | pos: cgmath::Vector2, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `state` [INFO] [stderr] --> src/render.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | state: RenderGraphicState, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `transform` [INFO] [stderr] --> src/render.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | let transform = ctx.transform; [INFO] [stderr] | ^^^^^^^^^ help: consider using `_transform` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `entity` [INFO] [stderr] --> src/render.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | entity: &specs::Entity, [INFO] [stderr] | ^^^^^^ help: consider using `_entity` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `renderer` [INFO] [stderr] --> src/render.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | renderer: &component::render::Render, [INFO] [stderr] | ^^^^^^^^ help: consider using `_renderer` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time` [INFO] [stderr] --> src/game.rs:155:26 [INFO] [stderr] | [INFO] [stderr] 155 | fn update(&mut self, time: &GameTime) { [INFO] [stderr] | ^^^^ help: consider using `_time` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time` [INFO] [stderr] --> src/game.rs:165:24 [INFO] [stderr] | [INFO] [stderr] 165 | fn draw(&mut self, time: &GameTime) { [INFO] [stderr] | ^^^^ help: consider using `_time` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pos` [INFO] [stderr] --> src/ecs/component/controller.rs:48:38 [INFO] [stderr] | [INFO] [stderr] 48 | for (mut entity, controller, pos, mut vel) in [INFO] [stderr] | ^^^ help: consider using `_pos` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `code` [INFO] [stderr] --> src/input/mod.rs:95:47 [INFO] [stderr] | [INFO] [stderr] 95 | WindowEvent::KeyboardInput(state, code, virt, modifiers) => { [INFO] [stderr] | ^^^^ help: consider using `_code` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `entity` [INFO] [stderr] --> src/controller/mod.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | entity: &mut specs::Entity, [INFO] [stderr] | ^^^^^^ help: consider using `_entity` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time` [INFO] [stderr] --> src/controller/mod.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | time: &GameTime, [INFO] [stderr] | ^^^^ help: consider using `_time` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `vel` [INFO] [stderr] --> src/controller/mod.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | vel: &mut Vector2, [INFO] [stderr] | ^^^ help: consider using `_vel` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `input` [INFO] [stderr] --> src/controller/mod.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | input: &InputManager, [INFO] [stderr] | ^^^^^ help: consider using `_input` instead [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/game.rs:139:21 [INFO] [stderr] | [INFO] [stderr] 139 | / match e { [INFO] [stderr] 140 | | WindowEvent::Closed => is_running = false, [INFO] [stderr] 141 | | _ => (), [INFO] [stderr] 142 | | } [INFO] [stderr] | |_____________________^ help: try this: `if let WindowEvent::Closed = e { is_running = 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: variable does not need to be mutable [INFO] [stderr] --> src/game.rs:166:13 [INFO] [stderr] | [INFO] [stderr] 166 | let mut gl_ctx = self.gl_context.as_mut().unwrap(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/game.rs:167:13 [INFO] [stderr] | [INFO] [stderr] 167 | let mut world = &mut self.world; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ecs/component/render.rs:13:17 [INFO] [stderr] | [INFO] [stderr] 13 | entity: &specs::Entity, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider passing by value instead: `specs::Entity` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/render.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | entity: &specs::Entity, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider passing by value instead: `specs::Entity` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/input/mod.rs:190:24 [INFO] [stderr] | [INFO] [stderr] 190 | (&self.events).into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `controller::HumanController` [INFO] [stderr] --> src/controller/mod.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | / pub fn new() -> HumanController { [INFO] [stderr] 22 | | HumanController {} [INFO] [stderr] 23 | | } [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] 18 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: method is never used: `post_frame` [INFO] [stderr] --> src/game.rs:174:5 [INFO] [stderr] | [INFO] [stderr] 174 | fn post_frame(&mut self, time: &GameTime, fps_counter: &C) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `pos` [INFO] [stderr] --> src/ecs/component/render.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | pos: ReadStorage<'a, super::pos::Position>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `renderer` [INFO] [stderr] --> src/ecs/component/render.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | renderer: ReadStorage<'a, Render>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `entities` [INFO] [stderr] --> src/ecs/component/render.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | entities: specs::Entities<'a>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `time` [INFO] [stderr] --> src/ecs/component/render.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | time: specs::Fetch<'a, GameTime>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `ctx` [INFO] [stderr] --> src/ecs/component/render.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | ctx: specs::Fetch<'a, graphics::Context>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `entity` [INFO] [stderr] --> src/render.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | entity: specs::Entity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `pos` [INFO] [stderr] --> src/render.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | pos: cgmath::Vector2, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `state` [INFO] [stderr] --> src/render.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | state: RenderGraphicState, [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/game.rs:139:21 [INFO] [stderr] | [INFO] [stderr] 139 | / match e { [INFO] [stderr] 140 | | WindowEvent::Closed => is_running = false, [INFO] [stderr] 141 | | _ => (), [INFO] [stderr] 142 | | } [INFO] [stderr] | |_____________________^ help: try this: `if let WindowEvent::Closed = e { is_running = 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ecs/component/render.rs:13:17 [INFO] [stderr] | [INFO] [stderr] 13 | entity: &specs::Entity, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider passing by value instead: `specs::Entity` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/render.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | entity: &specs::Entity, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider passing by value instead: `specs::Entity` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/input/mod.rs:190:24 [INFO] [stderr] | [INFO] [stderr] 190 | (&self.events).into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `controller::HumanController` [INFO] [stderr] --> src/controller/mod.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | / pub fn new() -> HumanController { [INFO] [stderr] 22 | | HumanController {} [INFO] [stderr] 23 | | } [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] 18 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 04s [INFO] running `"docker" "inspect" "12602ab47c6596184f7c79b77d912e751bf18f6472aaf5ae3007d2a5acd03358"` [INFO] running `"docker" "rm" "-f" "12602ab47c6596184f7c79b77d912e751bf18f6472aaf5ae3007d2a5acd03358"` [INFO] [stdout] 12602ab47c6596184f7c79b77d912e751bf18f6472aaf5ae3007d2a5acd03358