[INFO] updating cached repository novemberisms/RustyBird [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/novemberisms/RustyBird [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/novemberisms/RustyBird" "work/ex/clippy-test-run/sources/stable/gh/novemberisms/RustyBird"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/novemberisms/RustyBird'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/novemberisms/RustyBird" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/novemberisms/RustyBird"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/novemberisms/RustyBird'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 6663c31c0a5b5e2f278ee68629f6d33be88f9f22 [INFO] sha for GitHub repo novemberisms/RustyBird: 6663c31c0a5b5e2f278ee68629f6d33be88f9f22 [INFO] validating manifest of novemberisms/RustyBird 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 novemberisms/RustyBird 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 novemberisms/RustyBird [INFO] finished frobbing novemberisms/RustyBird [INFO] frobbed toml for novemberisms/RustyBird written to work/ex/clippy-test-run/sources/stable/gh/novemberisms/RustyBird/Cargo.toml [INFO] started frobbing novemberisms/RustyBird [INFO] finished frobbing novemberisms/RustyBird [INFO] frobbed toml for novemberisms/RustyBird written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/novemberisms/RustyBird/Cargo.toml [INFO] crate novemberisms/RustyBird 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 novemberisms/RustyBird 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/novemberisms/RustyBird:/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] 3a849e5e29256d8a97d24c69b9062e6e04642b61ea12815fd9c5ef485b7af866 [INFO] running `"docker" "start" "-a" "3a849e5e29256d8a97d24c69b9062e6e04642b61ea12815fd9c5ef485b7af866"` [INFO] [stderr] Checking glutin v0.14.0 [INFO] [stderr] Checking piston2d-opengl_graphics v0.53.0 [INFO] [stderr] Checking pistoncore-glutin_window v0.47.0 [INFO] [stderr] Checking flappy v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/assets.rs:57:4 [INFO] [stderr] | [INFO] [stderr] 57 | position: position, // we do need copies of position, size, and quad [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [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/assets.rs:61:4 [INFO] [stderr] | [INFO] [stderr] 61 | texture: texture, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `texture` [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/bird.rs:39:4 [INFO] [stderr] | [INFO] [stderr] 39 | sprite: sprite, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `sprite` [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/pipe.rs:32:4 [INFO] [stderr] | [INFO] [stderr] 32 | assets: assets, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `assets` [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/main.rs:142:4 [INFO] [stderr] | [INFO] [stderr] 142 | thread_rng: thread_rng, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `thread_rng` [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/main.rs:143:4 [INFO] [stderr] | [INFO] [stderr] 143 | assets: assets, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `assets` [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/assets.rs:57:4 [INFO] [stderr] | [INFO] [stderr] 57 | position: position, // we do need copies of position, size, and quad [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [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/assets.rs:61:4 [INFO] [stderr] | [INFO] [stderr] 61 | texture: texture, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `texture` [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/bird.rs:39:4 [INFO] [stderr] | [INFO] [stderr] 39 | sprite: sprite, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `sprite` [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/pipe.rs:32:4 [INFO] [stderr] | [INFO] [stderr] 32 | assets: assets, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `assets` [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/main.rs:142:4 [INFO] [stderr] | [INFO] [stderr] 142 | thread_rng: thread_rng, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `thread_rng` [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/main.rs:143:4 [INFO] [stderr] | [INFO] [stderr] 143 | assets: assets, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `assets` [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: this if statement can be collapsed [INFO] [stderr] --> src/pipe.rs:50:3 [INFO] [stderr] | [INFO] [stderr] 50 | if self.pipes.len() > 0 { [INFO] [stderr] | _________^ [INFO] [stderr] 51 | | if self.pipes[0].to_be_deleted { [INFO] [stderr] 52 | | self.pipes.remove(0); [INFO] [stderr] 53 | | self.signal_score_up = true; [INFO] [stderr] 54 | | } [INFO] [stderr] 55 | | } [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] 50 | if self.pipes.len() > 0 && self.pipes[0].to_be_deleted { [INFO] [stderr] 51 | self.pipes.remove(0); [INFO] [stderr] 52 | self.signal_score_up = true; [INFO] [stderr] 53 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `SCREENWIDTH` [INFO] [stderr] --> src/score_drawer.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use SCREENWIDTH; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/pipe.rs:50:3 [INFO] [stderr] | [INFO] [stderr] 50 | if self.pipes.len() > 0 { [INFO] [stderr] | _________^ [INFO] [stderr] 51 | | if self.pipes[0].to_be_deleted { [INFO] [stderr] 52 | | self.pipes.remove(0); [INFO] [stderr] 53 | | self.signal_score_up = true; [INFO] [stderr] 54 | | } [INFO] [stderr] 55 | | } [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] 50 | if self.pipes.len() > 0 && self.pipes[0].to_be_deleted { [INFO] [stderr] 51 | self.pipes.remove(0); [INFO] [stderr] 52 | self.signal_score_up = true; [INFO] [stderr] 53 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `SCREENWIDTH` [INFO] [stderr] --> src/score_drawer.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use SCREENWIDTH; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/assets.rs:110:7 [INFO] [stderr] | [INFO] [stderr] 110 | let mut transform = context.transform; [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: use of `expect` followed by a function call [INFO] [stderr] --> src/assets.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | ).expect(format!("Could not find path for texture: {}", path).as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Could not find path for texture: {}", path))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/assets.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | .expect(format!("No texture named {}", name).as_str()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| panic!("No texture named {}", name))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/assets.rs:51:15 [INFO] [stderr] | [INFO] [stderr] 51 | let width = texture.get_width() as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture.get_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/assets.rs:52:16 [INFO] [stderr] | [INFO] [stderr] 52 | let height = texture.get_height() as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture.get_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: length comparison to zero [INFO] [stderr] --> src/pipe.rs:50:6 [INFO] [stderr] | [INFO] [stderr] 50 | if self.pipes.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.pipes.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/pipe.rs:118:37 [INFO] [stderr] | [INFO] [stderr] 118 | let upper_height: f64 = START_Y + thread_rng.gen_range(0, 5) as f64 * Y_INCREMENT; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(thread_rng.gen_range(0, 5))` [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/pipe.rs:131:17 [INFO] [stderr] | [INFO] [stderr] 131 | upper_rect: [SCREENWIDTH as f64, 0.0, PIPE_WIDTH, upper_height], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(SCREENWIDTH)` [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/pipe.rs:132:17 [INFO] [stderr] | [INFO] [stderr] 132 | lower_rect: [SCREENWIDTH as f64, lower_y, PIPE_WIDTH, lower_height], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(SCREENWIDTH)` [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/main.rs:158:5 [INFO] [stderr] | [INFO] [stderr] 158 | (SCREENWIDTH as f64 - title_size[0]) / 2.0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(SCREENWIDTH)` [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/main.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | (SCREENHEIGHT as f64 - title_size[1]) / 2.0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(SCREENHEIGHT)` [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/main.rs:164:5 [INFO] [stderr] | [INFO] [stderr] 164 | (SCREENWIDTH as f64 - gameover_size[0]) / 2.0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(SCREENWIDTH)` [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/main.rs:165:5 [INFO] [stderr] | [INFO] [stderr] 165 | (SCREENHEIGHT as f64 - gameover_size[1]) / 2.0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(SCREENHEIGHT)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:171:29 [INFO] [stderr] | [INFO] [stderr] 171 | fn update(&mut self, args: &UpdateArgs) { [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: variable does not need to be mutable [INFO] [stderr] --> src/assets.rs:110:7 [INFO] [stderr] | [INFO] [stderr] 110 | let mut transform = context.transform; [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: use of `expect` followed by a function call [INFO] [stderr] --> src/assets.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | ).expect(format!("Could not find path for texture: {}", path).as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Could not find path for texture: {}", path))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/assets.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | .expect(format!("No texture named {}", name).as_str()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| panic!("No texture named {}", name))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/assets.rs:51:15 [INFO] [stderr] | [INFO] [stderr] 51 | let width = texture.get_width() as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture.get_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/assets.rs:52:16 [INFO] [stderr] | [INFO] [stderr] 52 | let height = texture.get_height() as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture.get_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: length comparison to zero [INFO] [stderr] --> src/pipe.rs:50:6 [INFO] [stderr] | [INFO] [stderr] 50 | if self.pipes.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.pipes.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/pipe.rs:118:37 [INFO] [stderr] | [INFO] [stderr] 118 | let upper_height: f64 = START_Y + thread_rng.gen_range(0, 5) as f64 * Y_INCREMENT; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(thread_rng.gen_range(0, 5))` [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/pipe.rs:131:17 [INFO] [stderr] | [INFO] [stderr] 131 | upper_rect: [SCREENWIDTH as f64, 0.0, PIPE_WIDTH, upper_height], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(SCREENWIDTH)` [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/pipe.rs:132:17 [INFO] [stderr] | [INFO] [stderr] 132 | lower_rect: [SCREENWIDTH as f64, lower_y, PIPE_WIDTH, lower_height], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(SCREENWIDTH)` [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/main.rs:158:5 [INFO] [stderr] | [INFO] [stderr] 158 | (SCREENWIDTH as f64 - title_size[0]) / 2.0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(SCREENWIDTH)` [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/main.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | (SCREENHEIGHT as f64 - title_size[1]) / 2.0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(SCREENHEIGHT)` [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/main.rs:164:5 [INFO] [stderr] | [INFO] [stderr] 164 | (SCREENWIDTH as f64 - gameover_size[0]) / 2.0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(SCREENWIDTH)` [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/main.rs:165:5 [INFO] [stderr] | [INFO] [stderr] 165 | (SCREENHEIGHT as f64 - gameover_size[1]) / 2.0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(SCREENHEIGHT)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:171:29 [INFO] [stderr] | [INFO] [stderr] 171 | fn update(&mut self, args: &UpdateArgs) { [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] Finished dev [unoptimized + debuginfo] target(s) in 6.83s [INFO] running `"docker" "inspect" "3a849e5e29256d8a97d24c69b9062e6e04642b61ea12815fd9c5ef485b7af866"` [INFO] running `"docker" "rm" "-f" "3a849e5e29256d8a97d24c69b9062e6e04642b61ea12815fd9c5ef485b7af866"` [INFO] [stdout] 3a849e5e29256d8a97d24c69b9062e6e04642b61ea12815fd9c5ef485b7af866