[INFO] updating cached repository bddap/watch-stl-rust [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/bddap/watch-stl-rust [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/bddap/watch-stl-rust" "work/ex/clippy-test-run/sources/stable/gh/bddap/watch-stl-rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/bddap/watch-stl-rust'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/bddap/watch-stl-rust" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/bddap/watch-stl-rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/bddap/watch-stl-rust'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] b8d63276bd9fe0429762a8d021e200a703ac9f1b [INFO] sha for GitHub repo bddap/watch-stl-rust: b8d63276bd9fe0429762a8d021e200a703ac9f1b [INFO] validating manifest of bddap/watch-stl-rust 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 bddap/watch-stl-rust 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 bddap/watch-stl-rust [INFO] finished frobbing bddap/watch-stl-rust [INFO] frobbed toml for bddap/watch-stl-rust written to work/ex/clippy-test-run/sources/stable/gh/bddap/watch-stl-rust/Cargo.toml [INFO] started frobbing bddap/watch-stl-rust [INFO] finished frobbing bddap/watch-stl-rust [INFO] frobbed toml for bddap/watch-stl-rust written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/bddap/watch-stl-rust/Cargo.toml [INFO] crate bddap/watch-stl-rust 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 bddap/watch-stl-rust against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/bddap/watch-stl-rust:/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] 4cf86f885ae5b4c2749ac154e7bd4f728aa38a7759ac04d47059795e45614154 [INFO] running `"docker" "start" "-a" "4cf86f885ae5b4c2749ac154e7bd4f728aa38a7759ac04d47059795e45614154"` [INFO] [stderr] Compiling freetype-sys v0.4.0 [INFO] [stderr] Checking stl_io v0.3.6 [INFO] [stderr] Compiling glfw-sys v3.2.2 [INFO] [stderr] Compiling gl_generator v0.6.1 [INFO] [stderr] Checking png v0.8.0 [INFO] [stderr] Checking libz-sys v1.0.18 [INFO] [stderr] Checking image v0.14.0 [INFO] [stderr] Checking freetype-rs v0.13.0 [INFO] [stderr] Compiling gl v0.6.5 [INFO] [stderr] Checking glfw v0.15.0 [INFO] [stderr] Checking kiss3d v0.11.0 [INFO] [stderr] Checking watch-stl v0.1.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/file_watcher.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | rx: rx, [INFO] [stderr] | ^^^^^^ help: replace it with: `rx` [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/file_watcher.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | watcher: watcher, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `watcher` [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/file_watcher.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | rx: rx, [INFO] [stderr] | ^^^^^^ help: replace it with: `rx` [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/file_watcher.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | watcher: watcher, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `watcher` [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 imports: `Error`, `watcher` [INFO] [stderr] --> src/file_watcher.rs:2:14 [INFO] [stderr] | [INFO] [stderr] 2 | use notify::{watcher, DebouncedEvent, Error, RecommendedWatcher, RecursiveMode, Watcher}; [INFO] [stderr] | ^^^^^^^ ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `RecursiveMode`, `watcher` [INFO] [stderr] --> src/main.rs:9:14 [INFO] [stderr] | [INFO] [stderr] 9 | use notify::{watcher, RecursiveMode, Watcher}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::channel` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::sync::mpsc::channel; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/main.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | return 1.0 / m; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `1.0 / m` [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: unused import: `Watcher` [INFO] [stderr] --> src/main.rs:9:38 [INFO] [stderr] | [INFO] [stderr] 9 | use notify::{watcher, RecursiveMode, Watcher}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/file_watcher.rs:46:17 [INFO] [stderr] | [INFO] [stderr] 46 | Err(a) => None, [INFO] [stderr] | ^ help: consider using `_a` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:114:30 [INFO] [stderr] | [INFO] [stderr] 114 | fn swap_mesh(w: &mut Window, mut c: &mut SceneNode, f: &Path) -> SceneNode { [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: field is never used: `watcher` [INFO] [stderr] --> src/file_watcher.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | watcher: RecommendedWatcher, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | center.x = center.x / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `center.x /= 2.0` [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/main.rs:97:5 [INFO] [stderr] | [INFO] [stderr] 97 | center.y = center.y / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `center.y /= 2.0` [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: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:98:5 [INFO] [stderr] | [INFO] [stderr] 98 | center.z = center.z / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `center.z /= 2.0` [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: The function/method `to_resized_kiss_mesh` doesn't need a mutable reference [INFO] [stderr] --> src/main.rs:133:51 [INFO] [stderr] | [INFO] [stderr] 133 | .map(|mut m| to_resized_kiss_mesh(&mut m)) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [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:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | / match mshs.next() { [INFO] [stderr] 142 | | Some(Ok(mesh)) => { [INFO] [stderr] 143 | | c = set_mesh(&mut window, &mut c, mesh); [INFO] [stderr] 144 | | } [INFO] [stderr] 145 | | _ => {} [INFO] [stderr] 146 | | } [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] 141 | if let Some(Ok(mesh)) = mshs.next() { [INFO] [stderr] 142 | c = set_mesh(&mut window, &mut c, mesh); [INFO] [stderr] 143 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error`, `watcher` [INFO] [stderr] --> src/file_watcher.rs:2:14 [INFO] [stderr] | [INFO] [stderr] 2 | use notify::{watcher, DebouncedEvent, Error, RecommendedWatcher, RecursiveMode, Watcher}; [INFO] [stderr] | ^^^^^^^ ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `RecursiveMode`, `watcher` [INFO] [stderr] --> src/main.rs:9:14 [INFO] [stderr] | [INFO] [stderr] 9 | use notify::{watcher, RecursiveMode, Watcher}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::channel` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::sync::mpsc::channel; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/main.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | return 1.0 / m; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `1.0 / m` [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: unused import: `Watcher` [INFO] [stderr] --> src/main.rs:9:38 [INFO] [stderr] | [INFO] [stderr] 9 | use notify::{watcher, RecursiveMode, Watcher}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/file_watcher.rs:46:17 [INFO] [stderr] | [INFO] [stderr] 46 | Err(a) => None, [INFO] [stderr] | ^ help: consider using `_a` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:114:30 [INFO] [stderr] | [INFO] [stderr] 114 | fn swap_mesh(w: &mut Window, mut c: &mut SceneNode, f: &Path) -> SceneNode { [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: field is never used: `watcher` [INFO] [stderr] --> src/file_watcher.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | watcher: RecommendedWatcher, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | center.x = center.x / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `center.x /= 2.0` [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/main.rs:97:5 [INFO] [stderr] | [INFO] [stderr] 97 | center.y = center.y / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `center.y /= 2.0` [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: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:98:5 [INFO] [stderr] | [INFO] [stderr] 98 | center.z = center.z / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `center.z /= 2.0` [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: The function/method `to_resized_kiss_mesh` doesn't need a mutable reference [INFO] [stderr] --> src/main.rs:133:51 [INFO] [stderr] | [INFO] [stderr] 133 | .map(|mut m| to_resized_kiss_mesh(&mut m)) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [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:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | / match mshs.next() { [INFO] [stderr] 142 | | Some(Ok(mesh)) => { [INFO] [stderr] 143 | | c = set_mesh(&mut window, &mut c, mesh); [INFO] [stderr] 144 | | } [INFO] [stderr] 145 | | _ => {} [INFO] [stderr] 146 | | } [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] 141 | if let Some(Ok(mesh)) = mshs.next() { [INFO] [stderr] 142 | c = set_mesh(&mut window, &mut c, mesh); [INFO] [stderr] 143 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 26.39s [INFO] running `"docker" "inspect" "4cf86f885ae5b4c2749ac154e7bd4f728aa38a7759ac04d47059795e45614154"` [INFO] running `"docker" "rm" "-f" "4cf86f885ae5b4c2749ac154e7bd4f728aa38a7759ac04d47059795e45614154"` [INFO] [stdout] 4cf86f885ae5b4c2749ac154e7bd4f728aa38a7759ac04d47059795e45614154