[INFO] updating cached repository Darksecond/rust-shadertoy [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/Darksecond/rust-shadertoy [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/Darksecond/rust-shadertoy" "work/ex/clippy-test-run/sources/stable/gh/Darksecond/rust-shadertoy"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/Darksecond/rust-shadertoy'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/Darksecond/rust-shadertoy" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Darksecond/rust-shadertoy"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Darksecond/rust-shadertoy'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] fcbcd771f4b3ab6d147c3abd749fe1e7b47b972b [INFO] sha for GitHub repo Darksecond/rust-shadertoy: fcbcd771f4b3ab6d147c3abd749fe1e7b47b972b [INFO] validating manifest of Darksecond/rust-shadertoy 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 Darksecond/rust-shadertoy 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 Darksecond/rust-shadertoy [INFO] finished frobbing Darksecond/rust-shadertoy [INFO] frobbed toml for Darksecond/rust-shadertoy written to work/ex/clippy-test-run/sources/stable/gh/Darksecond/rust-shadertoy/Cargo.toml [INFO] started frobbing Darksecond/rust-shadertoy [INFO] finished frobbing Darksecond/rust-shadertoy [INFO] frobbed toml for Darksecond/rust-shadertoy written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Darksecond/rust-shadertoy/Cargo.toml [INFO] crate Darksecond/rust-shadertoy 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 Darksecond/rust-shadertoy against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/Darksecond/rust-shadertoy:/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] 1ed85d2fa96376279d801afe3257b67651d4cddf4a9dcca69d4f814aba092bbb [INFO] running `"docker" "start" "-a" "1ed85d2fa96376279d801afe3257b67651d4cddf4a9dcca69d4f814aba092bbb"` [INFO] [stderr] Checking rust-rocket v0.3.2 [INFO] [stderr] Checking glium v0.16.0 [INFO] [stderr] Checking shadertoy v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/shader.rs:67:17 [INFO] [stderr] | [INFO] [stderr] 67 | write!(&mut output, "{}\n", self.parse(include)).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/shader.rs:67:17 [INFO] [stderr] | [INFO] [stderr] 67 | write!(&mut output, "{}\n", self.parse(include)).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/shader.rs:69:17 [INFO] [stderr] | [INFO] [stderr] 69 | write!(&mut output, "{}\n", line).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:175:9 [INFO] [stderr] | [INFO] [stderr] 175 | first: first, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `first` [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:176:9 [INFO] [stderr] | [INFO] [stderr] 176 | second: second, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `second` [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] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/shader.rs:69:17 [INFO] [stderr] | [INFO] [stderr] 69 | write!(&mut output, "{}\n", line).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:175:9 [INFO] [stderr] | [INFO] [stderr] 175 | first: first, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `first` [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:176:9 [INFO] [stderr] | [INFO] [stderr] 176 | second: second, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `second` [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:63:78 [INFO] [stderr] | [INFO] [stderr] 63 | let time = elapsed.as_secs() as f32 + elapsed.subsec_nanos() as f32/ 1000000000.0; [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: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:69:11 [INFO] [stderr] | [INFO] [stderr] 69 | if(row_count > 1.) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:71:15 [INFO] [stderr] | [INFO] [stderr] 71 | if(!self.paused) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `glium::uniforms::AsUniformValue` [INFO] [stderr] --> src/main.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | use glium::uniforms::AsUniformValue; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:137:78 [INFO] [stderr] | [INFO] [stderr] 137 | let time = elapsed.as_secs() as f32 + elapsed.subsec_nanos() as f32/ 1000000000.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `1_000_000_000.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:72:17 [INFO] [stderr] | [INFO] [stderr] 72 | self.row = self.row + (row_count.floor() as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.row += (row_count.floor() as u32)` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/main.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | for ref name in &self.tracks { [INFO] [stderr] | ^^^^^^^^ ------------ help: try: `let name = &&self.tracks;` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:252:13 [INFO] [stderr] | [INFO] [stderr] 252 | / match command { [INFO] [stderr] 253 | | &mut Command::Draw(pass) => { [INFO] [stderr] 254 | | target.draw(&vertex_buffer, &indices, &pass.program, [INFO] [stderr] 255 | | &combine_uniforms(&combine_uniforms(&state, pass), &sync), [INFO] [stderr] ... | [INFO] [stderr] 270 | | }, [INFO] [stderr] 271 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 252 | match *command { [INFO] [stderr] 253 | Command::Draw(pass) => { [INFO] [stderr] 254 | target.draw(&vertex_buffer, &indices, &pass.program, [INFO] [stderr] 255 | &combine_uniforms(&combine_uniforms(&state, pass), &sync), [INFO] [stderr] 256 | &Default::default()).unwrap(); [INFO] [stderr] 257 | }, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:63:78 [INFO] [stderr] | [INFO] [stderr] 63 | let time = elapsed.as_secs() as f32 + elapsed.subsec_nanos() as f32/ 1000000000.0; [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: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:69:11 [INFO] [stderr] | [INFO] [stderr] 69 | if(row_count > 1.) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:71:15 [INFO] [stderr] | [INFO] [stderr] 71 | if(!self.paused) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `glium::uniforms::AsUniformValue` [INFO] [stderr] --> src/main.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | use glium::uniforms::AsUniformValue; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:137:78 [INFO] [stderr] | [INFO] [stderr] 137 | let time = elapsed.as_secs() as f32 + elapsed.subsec_nanos() as f32/ 1000000000.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `1_000_000_000.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:72:17 [INFO] [stderr] | [INFO] [stderr] 72 | self.row = self.row + (row_count.floor() as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.row += (row_count.floor() as u32)` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/main.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | for ref name in &self.tracks { [INFO] [stderr] | ^^^^^^^^ ------------ help: try: `let name = &&self.tracks;` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:252:13 [INFO] [stderr] | [INFO] [stderr] 252 | / match command { [INFO] [stderr] 253 | | &mut Command::Draw(pass) => { [INFO] [stderr] 254 | | target.draw(&vertex_buffer, &indices, &pass.program, [INFO] [stderr] 255 | | &combine_uniforms(&combine_uniforms(&state, pass), &sync), [INFO] [stderr] ... | [INFO] [stderr] 270 | | }, [INFO] [stderr] 271 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 252 | match *command { [INFO] [stderr] 253 | Command::Draw(pass) => { [INFO] [stderr] 254 | target.draw(&vertex_buffer, &indices, &pass.program, [INFO] [stderr] 255 | &combine_uniforms(&combine_uniforms(&state, pass), &sync), [INFO] [stderr] 256 | &Default::default()).unwrap(); [INFO] [stderr] 257 | }, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 23.61s [INFO] running `"docker" "inspect" "1ed85d2fa96376279d801afe3257b67651d4cddf4a9dcca69d4f814aba092bbb"` [INFO] running `"docker" "rm" "-f" "1ed85d2fa96376279d801afe3257b67651d4cddf4a9dcca69d4f814aba092bbb"` [INFO] [stdout] 1ed85d2fa96376279d801afe3257b67651d4cddf4a9dcca69d4f814aba092bbb