[INFO] updating cached repository eric-sundell/particle_test [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/eric-sundell/particle_test [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/eric-sundell/particle_test" "work/ex/clippy-test-run/sources/stable/gh/eric-sundell/particle_test"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/eric-sundell/particle_test'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/eric-sundell/particle_test" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/eric-sundell/particle_test"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/eric-sundell/particle_test'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 0332c62896768134dbd6f64d85552f34d5f67cff [INFO] sha for GitHub repo eric-sundell/particle_test: 0332c62896768134dbd6f64d85552f34d5f67cff [INFO] validating manifest of eric-sundell/particle_test 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 eric-sundell/particle_test 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 eric-sundell/particle_test [INFO] finished frobbing eric-sundell/particle_test [INFO] frobbed toml for eric-sundell/particle_test written to work/ex/clippy-test-run/sources/stable/gh/eric-sundell/particle_test/Cargo.toml [INFO] started frobbing eric-sundell/particle_test [INFO] finished frobbing eric-sundell/particle_test [INFO] frobbed toml for eric-sundell/particle_test written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/eric-sundell/particle_test/Cargo.toml [INFO] crate eric-sundell/particle_test 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 eric-sundell/particle_test against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/eric-sundell/particle_test:/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] 3ce858a8146fa71c82293db39d4ee52bc34ca9d95807263b3bd496cb56aee5d8 [INFO] running `"docker" "start" "-a" "3ce858a8146fa71c82293db39d4ee52bc34ca9d95807263b3bd496cb56aee5d8"` [INFO] [stderr] Compiling glium v0.22.0 [INFO] [stderr] Checking wayland-sys v0.20.12 [INFO] [stderr] Checking wayland-commons v0.20.12 [INFO] [stderr] Checking wayland-client v0.20.12 [INFO] [stderr] Checking wayland-protocols v0.20.12 [INFO] [stderr] Checking smithay-client-toolkit v0.2.6 [INFO] [stderr] Checking winit v0.16.2 [INFO] [stderr] Checking glutin v0.17.0 [INFO] [stderr] Checking particle_test v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/particle.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | spawners: spawners, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `spawners` [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/particle.rs:133:13 [INFO] [stderr] | [INFO] [stderr] 133 | attractors: attractors [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `attractors` [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/renderer/mod.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | display: display, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `display` [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/renderer/mod.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | buffer: buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `buffer` [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/renderer/mod.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | program: program [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `program` [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/systems.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | position: position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [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/systems.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | velocity: velocity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `velocity` [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/particle.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | spawners: spawners, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `spawners` [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/particle.rs:133:13 [INFO] [stderr] | [INFO] [stderr] 133 | attractors: attractors [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `attractors` [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/renderer/mod.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | display: display, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `display` [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/renderer/mod.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | buffer: buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `buffer` [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/renderer/mod.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | program: program [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `program` [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/systems.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | position: position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [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/systems.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | velocity: velocity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `velocity` [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: long literal lacking separators [INFO] [stderr] --> src/main.rs:132:22 [INFO] [stderr] | [INFO] [stderr] 132 | (secs + (nanos / 1000000000.0)) as f32 [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `1_000_000_000.0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:132:22 [INFO] [stderr] | [INFO] [stderr] 132 | (secs + (nanos / 1000000000.0)) as f32 [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `1_000_000_000.0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/particle.rs:125:17 [INFO] [stderr] | [INFO] [stderr] 125 | let foo = &spawners; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::blacklisted_name)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `matrix` [INFO] [stderr] --> src/renderer/mod.rs:100:14 [INFO] [stderr] | [INFO] [stderr] 100 | for i in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 100 | for (i, ) in matrix.iter_mut().enumerate() { [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:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | / match ev { [INFO] [stderr] 29 | | glutin::Event::WindowEvent { event, .. } => match event { [INFO] [stderr] 30 | | glutin::WindowEvent::CloseRequested => closed = true, [INFO] [stderr] 31 | | glutin::WindowEvent::KeyboardInput{input, ..} => match input.virtual_keycode { [INFO] [stderr] ... | [INFO] [stderr] 57 | | _ => (), [INFO] [stderr] 58 | | } [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] 28 | if let glutin::Event::WindowEvent { event, .. } = ev { match event { [INFO] [stderr] 29 | glutin::WindowEvent::CloseRequested => closed = true, [INFO] [stderr] 30 | glutin::WindowEvent::KeyboardInput{input, ..} => match input.virtual_keycode { [INFO] [stderr] 31 | Some(key) => match key { [INFO] [stderr] 32 | glium::glutin::VirtualKeyCode::D => dump_verts = true, [INFO] [stderr] 33 | _ => () [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:31:70 [INFO] [stderr] | [INFO] [stderr] 31 | glutin::WindowEvent::KeyboardInput{input, ..} => match input.virtual_keycode { [INFO] [stderr] | ______________________________________________________________________^ [INFO] [stderr] 32 | | Some(key) => match key { [INFO] [stderr] 33 | | glium::glutin::VirtualKeyCode::D => dump_verts = true, [INFO] [stderr] 34 | | _ => () [INFO] [stderr] 35 | | }, [INFO] [stderr] 36 | | _ => () [INFO] [stderr] 37 | | }, [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [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] 31 | glutin::WindowEvent::KeyboardInput{input, ..} => if let Some(key) = input.virtual_keycode { match key { [INFO] [stderr] 32 | glium::glutin::VirtualKeyCode::D => dump_verts = true, [INFO] [stderr] 33 | _ => () [INFO] [stderr] 34 | } }, [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:32:38 [INFO] [stderr] | [INFO] [stderr] 32 | Some(key) => match key { [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 33 | | glium::glutin::VirtualKeyCode::D => dump_verts = true, [INFO] [stderr] 34 | | _ => () [INFO] [stderr] 35 | | }, [INFO] [stderr] | |_________________________^ help: try this: `if let glium::glutin::VirtualKeyCode::D = key { dump_verts = 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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:131:17 [INFO] [stderr] | [INFO] [stderr] 131 | let nanos = delta_time.subsec_nanos() as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(delta_time.subsec_nanos())` [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: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/particle.rs:125:17 [INFO] [stderr] | [INFO] [stderr] 125 | let foo = &spawners; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::blacklisted_name)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `matrix` [INFO] [stderr] --> src/renderer/mod.rs:100:14 [INFO] [stderr] | [INFO] [stderr] 100 | for i in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 100 | for (i, ) in matrix.iter_mut().enumerate() { [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:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | / match ev { [INFO] [stderr] 29 | | glutin::Event::WindowEvent { event, .. } => match event { [INFO] [stderr] 30 | | glutin::WindowEvent::CloseRequested => closed = true, [INFO] [stderr] 31 | | glutin::WindowEvent::KeyboardInput{input, ..} => match input.virtual_keycode { [INFO] [stderr] ... | [INFO] [stderr] 57 | | _ => (), [INFO] [stderr] 58 | | } [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] 28 | if let glutin::Event::WindowEvent { event, .. } = ev { match event { [INFO] [stderr] 29 | glutin::WindowEvent::CloseRequested => closed = true, [INFO] [stderr] 30 | glutin::WindowEvent::KeyboardInput{input, ..} => match input.virtual_keycode { [INFO] [stderr] 31 | Some(key) => match key { [INFO] [stderr] 32 | glium::glutin::VirtualKeyCode::D => dump_verts = true, [INFO] [stderr] 33 | _ => () [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:31:70 [INFO] [stderr] | [INFO] [stderr] 31 | glutin::WindowEvent::KeyboardInput{input, ..} => match input.virtual_keycode { [INFO] [stderr] | ______________________________________________________________________^ [INFO] [stderr] 32 | | Some(key) => match key { [INFO] [stderr] 33 | | glium::glutin::VirtualKeyCode::D => dump_verts = true, [INFO] [stderr] 34 | | _ => () [INFO] [stderr] 35 | | }, [INFO] [stderr] 36 | | _ => () [INFO] [stderr] 37 | | }, [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [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] 31 | glutin::WindowEvent::KeyboardInput{input, ..} => if let Some(key) = input.virtual_keycode { match key { [INFO] [stderr] 32 | glium::glutin::VirtualKeyCode::D => dump_verts = true, [INFO] [stderr] 33 | _ => () [INFO] [stderr] 34 | } }, [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:32:38 [INFO] [stderr] | [INFO] [stderr] 32 | Some(key) => match key { [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 33 | | glium::glutin::VirtualKeyCode::D => dump_verts = true, [INFO] [stderr] 34 | | _ => () [INFO] [stderr] 35 | | }, [INFO] [stderr] | |_________________________^ help: try this: `if let glium::glutin::VirtualKeyCode::D = key { dump_verts = 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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:131:17 [INFO] [stderr] | [INFO] [stderr] 131 | let nanos = delta_time.subsec_nanos() as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(delta_time.subsec_nanos())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 45.27s [INFO] running `"docker" "inspect" "3ce858a8146fa71c82293db39d4ee52bc34ca9d95807263b3bd496cb56aee5d8"` [INFO] running `"docker" "rm" "-f" "3ce858a8146fa71c82293db39d4ee52bc34ca9d95807263b3bd496cb56aee5d8"` [INFO] [stdout] 3ce858a8146fa71c82293db39d4ee52bc34ca9d95807263b3bd496cb56aee5d8