[INFO] updating cached repository radix/circles [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/radix/circles [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/radix/circles" "work/ex/clippy-test-run/sources/stable/gh/radix/circles"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/radix/circles'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/radix/circles" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/radix/circles"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/radix/circles'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 3c60c5819dbef07816ccbeac0071f5c8e817e1ad [INFO] sha for GitHub repo radix/circles: 3c60c5819dbef07816ccbeac0071f5c8e817e1ad [INFO] validating manifest of radix/circles 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 radix/circles 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 radix/circles [INFO] finished frobbing radix/circles [INFO] frobbed toml for radix/circles written to work/ex/clippy-test-run/sources/stable/gh/radix/circles/Cargo.toml [INFO] started frobbing radix/circles [INFO] finished frobbing radix/circles [INFO] frobbed toml for radix/circles written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/radix/circles/Cargo.toml [INFO] crate radix/circles 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 radix/circles against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/radix/circles:/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] 35b10ab8067c3a12a11338e6bf5e199c0ba4eb12f5eca0e16e9e0e30319d2ab6 [INFO] running `"docker" "start" "-a" "35b10ab8067c3a12a11338e6bf5e199c0ba4eb12f5eca0e16e9e0e30319d2ab6"` [INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently [INFO] [stderr] disables Cargo from automatically inferring other binary targets. [INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following [INFO] [stderr] files will be included as a binary target: [INFO] [stderr] [INFO] [stderr] * /opt/crater/workdir/src/main.rs [INFO] [stderr] [INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be [INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself [INFO] [stderr] and disable this warning by adding `autobins = false` to your [package] [INFO] [stderr] section. You may also move the files to a location where Cargo would not [INFO] [stderr] automatically infer them to be a target, such as in subfolders. [INFO] [stderr] [INFO] [stderr] For more information on this warning you can consult [INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330 [INFO] [stderr] warning: path `/opt/crater/workdir/src/main.rs` was erroneously implicitly accepted for binary `main`, [INFO] [stderr] please set bin.path in Cargo.toml [INFO] [stderr] Compiling libc v0.2.18 [INFO] [stderr] Compiling phf_shared v0.7.20 [INFO] [stderr] Compiling serde v0.8.19 [INFO] [stderr] Compiling gcc v0.3.39 [INFO] [stderr] Checking shader_version v0.2.1 [INFO] [stderr] Compiling xml-rs v0.3.5 [INFO] [stderr] Checking shared_library v0.1.5 [INFO] [stderr] Checking nodrop v0.1.8 [INFO] [stderr] Checking stb_truetype v0.2.0 [INFO] [stderr] Checking num-bigint v0.1.35 [INFO] [stderr] Checking pistoncore-input v0.15.0 [INFO] [stderr] Checking arrayvec v0.3.20 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Compiling rand v0.3.15 [INFO] [stderr] Checking x11-dl v2.11.0 [INFO] [stderr] Compiling phf v0.7.20 [INFO] [stderr] Checking gfx v0.12.2 [INFO] [stderr] Checking fs2 v0.2.5 [INFO] [stderr] Checking jpeg-decoder v0.1.8 [INFO] [stderr] Checking num-rational v0.1.35 [INFO] [stderr] Checking tempfile v2.1.4 [INFO] [stderr] Checking rusttype v0.2.1 [INFO] [stderr] Compiling miniz-sys v0.1.7 [INFO] [stderr] Checking memmap v0.4.0 [INFO] [stderr] Checking pistoncore-window v0.24.0 [INFO] [stderr] Checking fps_counter v0.2.0 [INFO] [stderr] Compiling wayland-scanner v0.7.6 [INFO] [stderr] Compiling gl_generator v0.5.2 [INFO] [stderr] Checking num v0.1.36 [INFO] [stderr] Compiling phf_generator v0.7.20 [INFO] [stderr] Checking pistoncore-event_loop v0.27.0 [INFO] [stderr] Checking piston v0.27.0 [INFO] [stderr] Checking nalgebra v0.9.0 [INFO] [stderr] Checking enum_primitive v0.1.0 [INFO] [stderr] Compiling phf_codegen v0.7.20 [INFO] [stderr] Compiling target_build_utils v0.1.2 [INFO] [stderr] Compiling wayland-client v0.7.6 [INFO] [stderr] Checking flate2 v0.2.14 [INFO] [stderr] Compiling serde_json v0.8.3 [INFO] [stderr] Checking png v0.5.2 [INFO] [stderr] Compiling gfx_gl v0.3.1 [INFO] [stderr] Compiling gl v0.6.1 [INFO] [stderr] Compiling glutin v0.7.0 [INFO] [stderr] Checking image v0.10.4 [INFO] [stderr] Checking piston-gfx_texture v0.18.0 [INFO] [stderr] Compiling libloading v0.3.1 [INFO] [stderr] Checking piston2d-gfx_graphics v0.33.1 [INFO] [stderr] Checking dlib v0.3.1 [INFO] [stderr] Checking wayland-sys v0.7.6 [INFO] [stderr] Checking gfx_device_gl v0.11.2 [INFO] [stderr] Checking wayland-window v0.4.2 [INFO] [stderr] Checking wayland-kbd v0.6.2 [INFO] [stderr] Checking ncollide_math v0.5.0 [INFO] [stderr] Checking ncollide_utils v0.5.0 [INFO] [stderr] Checking winit v0.5.6 [INFO] [stderr] Checking ncollide_procedural v0.5.0 [INFO] [stderr] Checking ncollide_geometry v0.2.0 [INFO] [stderr] Checking pistoncore-glutin_window v0.33.0 [INFO] [stderr] Checking piston_window v0.59.0 [INFO] [stderr] Checking ncollide_pipeline v0.9.0 [INFO] [stderr] Checking ncollide_transformation v0.5.0 [INFO] [stderr] Checking ncollide v0.10.0 [INFO] [stderr] Checking circles v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/space.rs:258:17 [INFO] [stderr] | [INFO] [stderr] 258 | pos: pos, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pos` [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/space.rs:259:17 [INFO] [stderr] | [INFO] [stderr] 259 | radius: radius, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `radius` [INFO] [stderr] | [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/space.rs:282:37 [INFO] [stderr] | [INFO] [stderr] 282 | area: area, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `area` [INFO] [stderr] | [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/calc.rs:14:17 [INFO] [stderr] | [INFO] [stderr] 14 | Point { x: x, y: y } [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [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/calc.rs:14:23 [INFO] [stderr] | [INFO] [stderr] 14 | Point { x: x, y: y } [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [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/game.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | space_bounds: space_bounds, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `space_bounds` [INFO] [stderr] | [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/game.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | space: space, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `space` [INFO] [stderr] | [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/space.rs:258:17 [INFO] [stderr] | [INFO] [stderr] 258 | pos: pos, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pos` [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/space.rs:259:17 [INFO] [stderr] | [INFO] [stderr] 259 | radius: radius, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `radius` [INFO] [stderr] | [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/space.rs:282:37 [INFO] [stderr] | [INFO] [stderr] 282 | area: area, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `area` [INFO] [stderr] | [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/calc.rs:14:17 [INFO] [stderr] | [INFO] [stderr] 14 | Point { x: x, y: y } [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [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/calc.rs:14:23 [INFO] [stderr] | [INFO] [stderr] 14 | Point { x: x, y: y } [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [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/game.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | space_bounds: space_bounds, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `space_bounds` [INFO] [stderr] | [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/game.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | space: space, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `space` [INFO] [stderr] | [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: unnecessary parentheses around method argument [INFO] [stderr] --> src/space.rs:116:60 [INFO] [stderr] | [INFO] [stderr] 116 | let center_ball = Ball::new((height / 2.0).max((width / 2.0))); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/space.rs:116:60 [INFO] [stderr] | [INFO] [stderr] 116 | let center_ball = Ball::new((height / 2.0).max((width / 2.0))); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/game.rs:226:13 [INFO] [stderr] | [INFO] [stderr] 226 | / if !self.input.jump { [INFO] [stderr] 227 | | if self.exit_speed > (JUMP_SPEED / 2.0) { [INFO] [stderr] 228 | | self.exit_speed = JUMP_SPEED / 2.0; [INFO] [stderr] 229 | | } [INFO] [stderr] 230 | | } [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] 226 | if !self.input.jump && self.exit_speed > (JUMP_SPEED / 2.0) { [INFO] [stderr] 227 | self.exit_speed = JUMP_SPEED / 2.0; [INFO] [stderr] 228 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/space.rs:116:60 [INFO] [stderr] | [INFO] [stderr] 116 | let center_ball = Ball::new((height / 2.0).max((width / 2.0))); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/space.rs:116:60 [INFO] [stderr] | [INFO] [stderr] 116 | let center_ball = Ball::new((height / 2.0).max((width / 2.0))); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/game.rs:226:13 [INFO] [stderr] | [INFO] [stderr] 226 | / if !self.input.jump { [INFO] [stderr] 227 | | if self.exit_speed > (JUMP_SPEED / 2.0) { [INFO] [stderr] 228 | | self.exit_speed = JUMP_SPEED / 2.0; [INFO] [stderr] 229 | | } [INFO] [stderr] 230 | | } [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] 226 | if !self.input.jump && self.exit_speed > (JUMP_SPEED / 2.0) { [INFO] [stderr] 227 | self.exit_speed = JUMP_SPEED / 2.0; [INFO] [stderr] 228 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/render.rs:37:19 [INFO] [stderr] | [INFO] [stderr] 37 | mut window: &mut PistonWindow, [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: type alias is never used: `BoundingBox` [INFO] [stderr] --> src/space.rs:68:1 [INFO] [stderr] | [INFO] [stderr] 68 | type BoundingBox = ncollide::bounding_volume::AABB>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/space.rs:147:40 [INFO] [stderr] | [INFO] [stderr] 147 | area: area.clone(), [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*area` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/space.rs:167:42 [INFO] [stderr] | [INFO] [stderr] 167 | bugs.keys().map(|i| (area.clone(), i.clone())).collect() [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*area` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/space.rs:167:56 [INFO] [stderr] | [INFO] [stderr] 167 | bugs.keys().map(|i| (area.clone(), i.clone())).collect() [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*i` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/space.rs:177:9 [INFO] [stderr] | [INFO] [stderr] 177 | self.areas[&area].1.get(&idx).unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.areas[&area].1[&idx]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/space.rs:185:13 [INFO] [stderr] | [INFO] [stderr] 185 | let ref mut bugs = self.areas.get_mut(&area).unwrap().1; [INFO] [stderr] | ----^^^^^^^^^^^^---------------------------------------- help: try: `let bugs = &mut self.areas.get_mut(&area).unwrap().1;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `y` [INFO] [stderr] --> src/space.rs:199:22 [INFO] [stderr] | [INFO] [stderr] 199 | (x - 1, y + 0), [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: the operation is ineffective. Consider reducing it to `x` [INFO] [stderr] --> src/space.rs:201:15 [INFO] [stderr] | [INFO] [stderr] 201 | (x + 0, y - 1), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `x` [INFO] [stderr] --> src/space.rs:202:15 [INFO] [stderr] | [INFO] [stderr] 202 | (x + 0, y + 0), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `y` [INFO] [stderr] --> src/space.rs:202:22 [INFO] [stderr] | [INFO] [stderr] 202 | (x + 0, y + 0), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `x` [INFO] [stderr] --> src/space.rs:203:15 [INFO] [stderr] | [INFO] [stderr] 203 | (x + 0, y + 1), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `y` [INFO] [stderr] --> src/space.rs:205:22 [INFO] [stderr] | [INFO] [stderr] 205 | (x + 1, y + 0), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/game.rs:108:36 [INFO] [stderr] | [INFO] [stderr] 108 | pub fn update(&mut self, args: &UpdateArgs, window: &mut PistonWindow) { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `UpdateArgs` [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: manual implementation of an assign operation [INFO] [stderr] --> src/game.rs:183:13 [INFO] [stderr] | [INFO] [stderr] 183 | bullet.pos.x = bullet.pos.x + (bullet.speed * time_delta * bullet.dir.cos()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bullet.pos.x += (bullet.speed * time_delta * bullet.dir.cos())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/game.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | bullet.pos.y = bullet.pos.y + (bullet.speed * time_delta * bullet.dir.sin()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bullet.pos.y += (bullet.speed * time_delta * bullet.dir.sin())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/game.rs:283:20 [INFO] [stderr] | [INFO] [stderr] 283 | if let Some(_) = query::contact(&na_ship_pos, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 283 | if query::contact(&na_ship_pos, [INFO] [stderr] 284 | &ship_ball, [INFO] [stderr] 285 | &planet_pos, [INFO] [stderr] 286 | &planet_ball, [INFO] [stderr] 287 | 0.0).is_some() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/game.rs:306:20 [INFO] [stderr] | [INFO] [stderr] 306 | if let Some(_) = collided { [INFO] [stderr] | _____________- ^^^^^^^ [INFO] [stderr] 307 | | // We are landing on a new planet [INFO] [stderr] 308 | | self.attached_planet = planet_index; [INFO] [stderr] 309 | | self.flying = false; [INFO] [stderr] ... | [INFO] [stderr] 319 | | } [INFO] [stderr] 320 | | } [INFO] [stderr] | |_____________- help: try this: `if collided.is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/game.rs:352:44 [INFO] [stderr] | [INFO] [stderr] 352 | planet_center.x - (view_size.width as f64 / 2.0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(view_size.width)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/game.rs:355:44 [INFO] [stderr] | [INFO] [stderr] 355 | planet_center.y - (view_size.height as f64 / 2.0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(view_size.height)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/game.rs:359:46 [INFO] [stderr] | [INFO] [stderr] 359 | let x_margin = (1.0 / 3.0) * view_size.width as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(view_size.width)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/game.rs:360:46 [INFO] [stderr] | [INFO] [stderr] 360 | let y_margin = (1.0 / 3.0) * view_size.height as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(view_size.height)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/game.rs:361:46 [INFO] [stderr] | [INFO] [stderr] 361 | let view_width_with_margin = view_size.width as f64 * (2.0 / 3.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(view_size.width)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/game.rs:362:47 [INFO] [stderr] | [INFO] [stderr] 362 | let view_height_with_margin = view_size.height as f64 * (2.0 / 3.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(view_size.height)` [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/game.rs:411:24 [INFO] [stderr] | [INFO] [stderr] 411 | if let Some(_) = uhoh { [INFO] [stderr] | _________________- ^^^^^^^ [INFO] [stderr] 412 | | self.update_reset(&mut window, false); [INFO] [stderr] 413 | | return; [INFO] [stderr] 414 | | } [INFO] [stderr] | |_________________- help: try this: `if uhoh.is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/game.rs:419:24 [INFO] [stderr] | [INFO] [stderr] 419 | if let Some(_) = collided { [INFO] [stderr] | _________________- ^^^^^^^ [INFO] [stderr] 420 | | self.space.delete_bug(area, crawler_idx); [INFO] [stderr] 421 | | } [INFO] [stderr] | |_________________- help: try this: `if collided.is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `2` [INFO] [stderr] --> src/game.rs:507:16 [INFO] [stderr] | [INFO] [stderr] 507 | err += 1 * 2 * y; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | trans.trans(mini_x as f64, mini_y as f64).rot_rad(self.rotation), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(mini_x)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:93:50 [INFO] [stderr] | [INFO] [stderr] 93 | trans.trans(mini_x as f64, mini_y as f64).rot_rad(self.rotation), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(mini_y)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:246:66 [INFO] [stderr] | [INFO] [stderr] 246 | point.x + radius > camera.x && point.x - radius < camera.x + view_size.width as f64 || [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(view_size.width)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:247:66 [INFO] [stderr] | [INFO] [stderr] 247 | point.y + radius > camera.y && point.y - radius < camera.y + view_size.height as f64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(view_size.height)` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/main.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | let ref font = assets.join("FiraSans-Regular.ttf"); [INFO] [stderr] | ----^^^^^^^^--------------------------------------- help: try: `let font = &assets.join("FiraSans-Regular.ttf");` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/render.rs:37:19 [INFO] [stderr] | [INFO] [stderr] 37 | mut window: &mut PistonWindow, [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: type alias is never used: `BoundingBox` [INFO] [stderr] --> src/space.rs:68:1 [INFO] [stderr] | [INFO] [stderr] 68 | type BoundingBox = ncollide::bounding_volume::AABB>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/space.rs:147:40 [INFO] [stderr] | [INFO] [stderr] 147 | area: area.clone(), [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*area` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/space.rs:167:42 [INFO] [stderr] | [INFO] [stderr] 167 | bugs.keys().map(|i| (area.clone(), i.clone())).collect() [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*area` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/space.rs:167:56 [INFO] [stderr] | [INFO] [stderr] 167 | bugs.keys().map(|i| (area.clone(), i.clone())).collect() [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*i` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/space.rs:177:9 [INFO] [stderr] | [INFO] [stderr] 177 | self.areas[&area].1.get(&idx).unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.areas[&area].1[&idx]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/space.rs:185:13 [INFO] [stderr] | [INFO] [stderr] 185 | let ref mut bugs = self.areas.get_mut(&area).unwrap().1; [INFO] [stderr] | ----^^^^^^^^^^^^---------------------------------------- help: try: `let bugs = &mut self.areas.get_mut(&area).unwrap().1;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `y` [INFO] [stderr] --> src/space.rs:199:22 [INFO] [stderr] | [INFO] [stderr] 199 | (x - 1, y + 0), [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: the operation is ineffective. Consider reducing it to `x` [INFO] [stderr] --> src/space.rs:201:15 [INFO] [stderr] | [INFO] [stderr] 201 | (x + 0, y - 1), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `x` [INFO] [stderr] --> src/space.rs:202:15 [INFO] [stderr] | [INFO] [stderr] 202 | (x + 0, y + 0), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `y` [INFO] [stderr] --> src/space.rs:202:22 [INFO] [stderr] | [INFO] [stderr] 202 | (x + 0, y + 0), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `x` [INFO] [stderr] --> src/space.rs:203:15 [INFO] [stderr] | [INFO] [stderr] 203 | (x + 0, y + 1), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `y` [INFO] [stderr] --> src/space.rs:205:22 [INFO] [stderr] | [INFO] [stderr] 205 | (x + 1, y + 0), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/game.rs:108:36 [INFO] [stderr] | [INFO] [stderr] 108 | pub fn update(&mut self, args: &UpdateArgs, window: &mut PistonWindow) { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `UpdateArgs` [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: manual implementation of an assign operation [INFO] [stderr] --> src/game.rs:183:13 [INFO] [stderr] | [INFO] [stderr] 183 | bullet.pos.x = bullet.pos.x + (bullet.speed * time_delta * bullet.dir.cos()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bullet.pos.x += (bullet.speed * time_delta * bullet.dir.cos())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/game.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | bullet.pos.y = bullet.pos.y + (bullet.speed * time_delta * bullet.dir.sin()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bullet.pos.y += (bullet.speed * time_delta * bullet.dir.sin())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/game.rs:283:20 [INFO] [stderr] | [INFO] [stderr] 283 | if let Some(_) = query::contact(&na_ship_pos, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 283 | if query::contact(&na_ship_pos, [INFO] [stderr] 284 | &ship_ball, [INFO] [stderr] 285 | &planet_pos, [INFO] [stderr] 286 | &planet_ball, [INFO] [stderr] 287 | 0.0).is_some() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/game.rs:306:20 [INFO] [stderr] | [INFO] [stderr] 306 | if let Some(_) = collided { [INFO] [stderr] | _____________- ^^^^^^^ [INFO] [stderr] 307 | | // We are landing on a new planet [INFO] [stderr] 308 | | self.attached_planet = planet_index; [INFO] [stderr] 309 | | self.flying = false; [INFO] [stderr] ... | [INFO] [stderr] 319 | | } [INFO] [stderr] 320 | | } [INFO] [stderr] | |_____________- help: try this: `if collided.is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/game.rs:352:44 [INFO] [stderr] | [INFO] [stderr] 352 | planet_center.x - (view_size.width as f64 / 2.0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(view_size.width)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/game.rs:355:44 [INFO] [stderr] | [INFO] [stderr] 355 | planet_center.y - (view_size.height as f64 / 2.0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(view_size.height)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/game.rs:359:46 [INFO] [stderr] | [INFO] [stderr] 359 | let x_margin = (1.0 / 3.0) * view_size.width as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(view_size.width)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/game.rs:360:46 [INFO] [stderr] | [INFO] [stderr] 360 | let y_margin = (1.0 / 3.0) * view_size.height as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(view_size.height)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/game.rs:361:46 [INFO] [stderr] | [INFO] [stderr] 361 | let view_width_with_margin = view_size.width as f64 * (2.0 / 3.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(view_size.width)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/game.rs:362:47 [INFO] [stderr] | [INFO] [stderr] 362 | let view_height_with_margin = view_size.height as f64 * (2.0 / 3.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(view_size.height)` [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/game.rs:411:24 [INFO] [stderr] | [INFO] [stderr] 411 | if let Some(_) = uhoh { [INFO] [stderr] | _________________- ^^^^^^^ [INFO] [stderr] 412 | | self.update_reset(&mut window, false); [INFO] [stderr] 413 | | return; [INFO] [stderr] 414 | | } [INFO] [stderr] | |_________________- help: try this: `if uhoh.is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/game.rs:419:24 [INFO] [stderr] | [INFO] [stderr] 419 | if let Some(_) = collided { [INFO] [stderr] | _________________- ^^^^^^^ [INFO] [stderr] 420 | | self.space.delete_bug(area, crawler_idx); [INFO] [stderr] 421 | | } [INFO] [stderr] | |_________________- help: try this: `if collided.is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `2` [INFO] [stderr] --> src/game.rs:507:16 [INFO] [stderr] | [INFO] [stderr] 507 | err += 1 * 2 * y; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | trans.trans(mini_x as f64, mini_y as f64).rot_rad(self.rotation), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(mini_x)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:93:50 [INFO] [stderr] | [INFO] [stderr] 93 | trans.trans(mini_x as f64, mini_y as f64).rot_rad(self.rotation), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(mini_y)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:246:66 [INFO] [stderr] | [INFO] [stderr] 246 | point.x + radius > camera.x && point.x - radius < camera.x + view_size.width as f64 || [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(view_size.width)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:247:66 [INFO] [stderr] | [INFO] [stderr] 247 | point.y + radius > camera.y && point.y - radius < camera.y + view_size.height as f64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(view_size.height)` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/main.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | let ref font = assets.join("FiraSans-Regular.ttf"); [INFO] [stderr] | ----^^^^^^^^--------------------------------------- help: try: `let font = &assets.join("FiraSans-Regular.ttf");` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 31s [INFO] running `"docker" "inspect" "35b10ab8067c3a12a11338e6bf5e199c0ba4eb12f5eca0e16e9e0e30319d2ab6"` [INFO] running `"docker" "rm" "-f" "35b10ab8067c3a12a11338e6bf5e199c0ba4eb12f5eca0e16e9e0e30319d2ab6"` [INFO] [stdout] 35b10ab8067c3a12a11338e6bf5e199c0ba4eb12f5eca0e16e9e0e30319d2ab6