[INFO] updating cached repository dannyfritz/niagara-rs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/dannyfritz/niagara-rs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/dannyfritz/niagara-rs" "work/ex/clippy-test-run/sources/stable/gh/dannyfritz/niagara-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/dannyfritz/niagara-rs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/dannyfritz/niagara-rs" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/dannyfritz/niagara-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/dannyfritz/niagara-rs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 02e05376c07e5537640ac6dc1b0db55e0b39e200 [INFO] sha for GitHub repo dannyfritz/niagara-rs: 02e05376c07e5537640ac6dc1b0db55e0b39e200 [INFO] validating manifest of dannyfritz/niagara-rs 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 dannyfritz/niagara-rs 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 dannyfritz/niagara-rs [INFO] finished frobbing dannyfritz/niagara-rs [INFO] frobbed toml for dannyfritz/niagara-rs written to work/ex/clippy-test-run/sources/stable/gh/dannyfritz/niagara-rs/Cargo.toml [INFO] started frobbing dannyfritz/niagara-rs [INFO] finished frobbing dannyfritz/niagara-rs [INFO] frobbed toml for dannyfritz/niagara-rs written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/dannyfritz/niagara-rs/Cargo.toml [INFO] crate dannyfritz/niagara-rs 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 dannyfritz/niagara-rs against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/dannyfritz/niagara-rs:/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] 360df3523afc5cc142df2739ca9f19bc45bf28ae539439d5be062e8c890642cb [INFO] running `"docker" "start" "-a" "360df3523afc5cc142df2739ca9f19bc45bf28ae539439d5be062e8c890642cb"` [INFO] [stderr] Checking wayland-sys v0.20.12 [INFO] [stderr] Checking ash v0.24.4 [INFO] [stderr] Checking parking_lot_core v0.3.1 [INFO] [stderr] Checking wayland-commons v0.20.12 [INFO] [stderr] Checking parking_lot v0.6.4 [INFO] [stderr] Checking wayland-client v0.20.12 [INFO] [stderr] Checking wayland-protocols v0.20.12 [INFO] [stderr] Checking smithay-client-toolkit v0.3.0 [INFO] [stderr] Checking winit v0.17.2 [INFO] [stderr] Checking niagara-rs v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:281:9 [INFO] [stderr] | [INFO] [stderr] 281 | surface: surface, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `surface` [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/main.rs:288:9 [INFO] [stderr] | [INFO] [stderr] 288 | pre_transform: pre_transform, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pre_transform` [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:290:9 [INFO] [stderr] | [INFO] [stderr] 290 | present_mode: present_mode, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `present_mode` [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:281:9 [INFO] [stderr] | [INFO] [stderr] 281 | surface: surface, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `surface` [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/main.rs:288:9 [INFO] [stderr] | [INFO] [stderr] 288 | pre_transform: pre_transform, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pre_transform` [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:290:9 [INFO] [stderr] | [INFO] [stderr] 290 | present_mode: present_mode, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `present_mode` [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: unused import: `WaylandSurface` [INFO] [stderr] --> src/main.rs:3:23 [INFO] [stderr] | [INFO] [stderr] 3 | use ash::extensions::{WaylandSurface, XlibSurface}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:130:9 [INFO] [stderr] | [INFO] [stderr] 130 | return instance; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `instance` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:152:5 [INFO] [stderr] | [INFO] [stderr] 152 | return *physical_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `*physical_device` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 196 | return device; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `device` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused variable: `present_images` [INFO] [stderr] --> src/main.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | let present_images = unsafe { get_present_images(&swapchain_loader, swapchain).unwrap() }; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using `_present_images` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rendering_complete_semaphore` [INFO] [stderr] --> src/main.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | let rendering_complete_semaphore = unsafe { create_semaphore(&device).unwrap() }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `_rendering_complete_semaphore` 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/main.rs:44:41 [INFO] [stderr] | [INFO] [stderr] 44 | events_loop.poll_events(|event| match event { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 45 | | winit::Event::WindowEvent { event, .. } => match event { [INFO] [stderr] 46 | | winit::WindowEvent::CloseRequested => closed = true, [INFO] [stderr] 47 | | _ => {} [INFO] [stderr] 48 | | }, [INFO] [stderr] 49 | | _ => {} [INFO] [stderr] 50 | | }); [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 44 | events_loop.poll_events(|event| if let winit::Event::WindowEvent { event, .. } = event { match event { [INFO] [stderr] 45 | winit::WindowEvent::CloseRequested => closed = true, [INFO] [stderr] 46 | _ => {} [INFO] [stderr] 47 | } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:45:56 [INFO] [stderr] | [INFO] [stderr] 45 | winit::Event::WindowEvent { event, .. } => match event { [INFO] [stderr] | ________________________________________________________^ [INFO] [stderr] 46 | | winit::WindowEvent::CloseRequested => closed = true, [INFO] [stderr] 47 | | _ => {} [INFO] [stderr] 48 | | }, [INFO] [stderr] | |_____________^ help: try this: `if let winit::WindowEvent::CloseRequested = event { closed = true }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:138:8 [INFO] [stderr] | [INFO] [stderr] 138 | if physical_devices.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `physical_devices.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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:164:62 [INFO] [stderr] | [INFO] [stderr] 164 | fn create_device(instance: &Instance, physical_device: &vk::PhysicalDevice) -> Device { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `vk::PhysicalDevice` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:285:23 [INFO] [stderr] | [INFO] [stderr] 285 | image_extent: surface_resolution.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `surface_resolution` [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: unused import: `WaylandSurface` [INFO] [stderr] --> src/main.rs:3:23 [INFO] [stderr] | [INFO] [stderr] 3 | use ash::extensions::{WaylandSurface, XlibSurface}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:130:9 [INFO] [stderr] | [INFO] [stderr] 130 | return instance; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `instance` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:152:5 [INFO] [stderr] | [INFO] [stderr] 152 | return *physical_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `*physical_device` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 196 | return device; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `device` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused variable: `present_images` [INFO] [stderr] --> src/main.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | let present_images = unsafe { get_present_images(&swapchain_loader, swapchain).unwrap() }; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using `_present_images` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rendering_complete_semaphore` [INFO] [stderr] --> src/main.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | let rendering_complete_semaphore = unsafe { create_semaphore(&device).unwrap() }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `_rendering_complete_semaphore` 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/main.rs:44:41 [INFO] [stderr] | [INFO] [stderr] 44 | events_loop.poll_events(|event| match event { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 45 | | winit::Event::WindowEvent { event, .. } => match event { [INFO] [stderr] 46 | | winit::WindowEvent::CloseRequested => closed = true, [INFO] [stderr] 47 | | _ => {} [INFO] [stderr] 48 | | }, [INFO] [stderr] 49 | | _ => {} [INFO] [stderr] 50 | | }); [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 44 | events_loop.poll_events(|event| if let winit::Event::WindowEvent { event, .. } = event { match event { [INFO] [stderr] 45 | winit::WindowEvent::CloseRequested => closed = true, [INFO] [stderr] 46 | _ => {} [INFO] [stderr] 47 | } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:45:56 [INFO] [stderr] | [INFO] [stderr] 45 | winit::Event::WindowEvent { event, .. } => match event { [INFO] [stderr] | ________________________________________________________^ [INFO] [stderr] 46 | | winit::WindowEvent::CloseRequested => closed = true, [INFO] [stderr] 47 | | _ => {} [INFO] [stderr] 48 | | }, [INFO] [stderr] | |_____________^ help: try this: `if let winit::WindowEvent::CloseRequested = event { closed = true }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:138:8 [INFO] [stderr] | [INFO] [stderr] 138 | if physical_devices.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `physical_devices.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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:164:62 [INFO] [stderr] | [INFO] [stderr] 164 | fn create_device(instance: &Instance, physical_device: &vk::PhysicalDevice) -> Device { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `vk::PhysicalDevice` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:285:23 [INFO] [stderr] | [INFO] [stderr] 285 | image_extent: surface_resolution.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `surface_resolution` [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] Finished dev [unoptimized + debuginfo] target(s) in 23.12s [INFO] running `"docker" "inspect" "360df3523afc5cc142df2739ca9f19bc45bf28ae539439d5be062e8c890642cb"` [INFO] running `"docker" "rm" "-f" "360df3523afc5cc142df2739ca9f19bc45bf28ae539439d5be062e8c890642cb"` [INFO] [stdout] 360df3523afc5cc142df2739ca9f19bc45bf28ae539439d5be062e8c890642cb