[INFO] updating cached repository PlasmaPower/nano-vanity [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/PlasmaPower/nano-vanity [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/PlasmaPower/nano-vanity" "work/ex/clippy-test-run/sources/stable/gh/PlasmaPower/nano-vanity"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/PlasmaPower/nano-vanity'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/PlasmaPower/nano-vanity" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/PlasmaPower/nano-vanity"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/PlasmaPower/nano-vanity'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] d77d9e0e815c69928798727ef4684fb1cd465de6 [INFO] sha for GitHub repo PlasmaPower/nano-vanity: d77d9e0e815c69928798727ef4684fb1cd465de6 [INFO] validating manifest of PlasmaPower/nano-vanity 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 PlasmaPower/nano-vanity 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 PlasmaPower/nano-vanity [INFO] finished frobbing PlasmaPower/nano-vanity [INFO] frobbed toml for PlasmaPower/nano-vanity written to work/ex/clippy-test-run/sources/stable/gh/PlasmaPower/nano-vanity/Cargo.toml [INFO] started frobbing PlasmaPower/nano-vanity [INFO] finished frobbing PlasmaPower/nano-vanity [INFO] frobbed toml for PlasmaPower/nano-vanity written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/PlasmaPower/nano-vanity/Cargo.toml [INFO] crate PlasmaPower/nano-vanity 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 PlasmaPower/nano-vanity against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/PlasmaPower/nano-vanity:/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] 454c6f9657b21d3581f837827bc27333f81f0bc68f74201992c590cd12c8b6b7 [INFO] running `"docker" "start" "-a" "454c6f9657b21d3581f837827bc27333f81f0bc68f74201992c590cd12c8b6b7"` [INFO] [stderr] Compiling arrayref v0.3.4 [INFO] [stderr] Compiling byteorder v1.2.6 [INFO] [stderr] Compiling subtle v1.0.0 [INFO] [stderr] Checking subtle v0.5.1 [INFO] [stderr] Compiling clear_on_drop v0.2.3 [INFO] [stderr] Checking qutex v0.2.0 [INFO] [stderr] Compiling typenum v1.9.0 [INFO] [stderr] Checking subtle v0.3.0 [INFO] [stderr] Compiling rand v0.5.5 [INFO] [stderr] Compiling ocl-core v0.9.0 [INFO] [stderr] Checking cl-sys v0.4.1 [INFO] [stderr] Compiling generic-array v0.9.0 [INFO] [stderr] Checking blake2 v0.7.0 [INFO] [stderr] Checking ocl-core-vector v0.1.0 [INFO] [stderr] Compiling digest v0.7.2 [INFO] [stderr] Compiling curve25519-dalek v0.14.4 [INFO] [stderr] Compiling curve25519-dalek v0.21.0 [INFO] [stderr] Checking ed25519-dalek v0.6.1 [INFO] [stderr] Checking ocl v0.18.0 [INFO] [stderr] Checking nano-vanity v0.4.6 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/pubkey_matcher.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | req: req, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `req` [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/pubkey_matcher.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | mask: mask, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mask` [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] --> src/pubkey_matcher.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | req: req, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `req` [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/pubkey_matcher.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | mask: mask, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mask` [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: needlessly taken reference of both operands [INFO] [stderr] --> src/derivation.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | (&curvepoint + &offset).compress().to_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 45 | (curvepoint + offset).compress().to_bytes() [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `pubkey` [INFO] [stderr] --> src/pubkey_matcher.rs:51:18 [INFO] [stderr] | [INFO] [stderr] 51 | for i in 0..cmp::min(self.prefix_len, 32) { [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] 51 | for (i, ) in pubkey.iter().enumerate().take(cmp::min(self.prefix_len, 32)) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/gpu.rs:35:12 [INFO] [stderr] | [INFO] [stderr] 35 | if platforms.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `platforms.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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:372:5 [INFO] [stderr] | [INFO] [stderr] 372 | / let mut gpu_thread = None; [INFO] [stderr] 373 | | if args.is_present("gpu") { [INFO] [stderr] 374 | | let gpu_platform = args [INFO] [stderr] 375 | | .value_of("gpu_platform") [INFO] [stderr] ... | [INFO] [stderr] 432 | | })); [INFO] [stderr] 433 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] help: it is more idiomatic to write [INFO] [stderr] | [INFO] [stderr] 372 | let gpu_thread = if args.is_present("gpu") { ..; Some(thread::spawn(move || { [INFO] [stderr] 373 | let mut rng = OsRng::new().expect("Failed to get RNG for seed"); [INFO] [stderr] 374 | let mut found_private_key = [0u8; 32]; [INFO] [stderr] 375 | loop { [INFO] [stderr] 376 | rng.fill_bytes(&mut key_base); [INFO] [stderr] 377 | let found = gpu [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:351:32 [INFO] [stderr] | [INFO] [stderr] 351 | generate_key_type: gen_key_ty.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `gen_key_ty` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:394:32 [INFO] [stderr] | [INFO] [stderr] 394 | generate_key_type: gen_key_ty.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `gen_key_ty` [INFO] [stderr] | [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:444:47 [INFO] [stderr] | [INFO] [stderr] 444 | / (runtime.as_secs() as f64 + runtime.subsec_millis() as f64 / 1000.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(runtime.subsec_millis())` [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: needlessly taken reference of both operands [INFO] [stderr] --> src/derivation.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | (&curvepoint + &offset).compress().to_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 45 | (curvepoint + offset).compress().to_bytes() [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `pubkey` [INFO] [stderr] --> src/pubkey_matcher.rs:51:18 [INFO] [stderr] | [INFO] [stderr] 51 | for i in 0..cmp::min(self.prefix_len, 32) { [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] 51 | for (i, ) in pubkey.iter().enumerate().take(cmp::min(self.prefix_len, 32)) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/gpu.rs:35:12 [INFO] [stderr] | [INFO] [stderr] 35 | if platforms.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `platforms.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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:372:5 [INFO] [stderr] | [INFO] [stderr] 372 | / let mut gpu_thread = None; [INFO] [stderr] 373 | | if args.is_present("gpu") { [INFO] [stderr] 374 | | let gpu_platform = args [INFO] [stderr] 375 | | .value_of("gpu_platform") [INFO] [stderr] ... | [INFO] [stderr] 432 | | })); [INFO] [stderr] 433 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] help: it is more idiomatic to write [INFO] [stderr] | [INFO] [stderr] 372 | let gpu_thread = if args.is_present("gpu") { ..; Some(thread::spawn(move || { [INFO] [stderr] 373 | let mut rng = OsRng::new().expect("Failed to get RNG for seed"); [INFO] [stderr] 374 | let mut found_private_key = [0u8; 32]; [INFO] [stderr] 375 | loop { [INFO] [stderr] 376 | rng.fill_bytes(&mut key_base); [INFO] [stderr] 377 | let found = gpu [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:351:32 [INFO] [stderr] | [INFO] [stderr] 351 | generate_key_type: gen_key_ty.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `gen_key_ty` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:394:32 [INFO] [stderr] | [INFO] [stderr] 394 | generate_key_type: gen_key_ty.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `gen_key_ty` [INFO] [stderr] | [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:444:47 [INFO] [stderr] | [INFO] [stderr] 444 | / (runtime.as_secs() as f64 + runtime.subsec_millis() as f64 / 1000.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(runtime.subsec_millis())` [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 41.83s [INFO] running `"docker" "inspect" "454c6f9657b21d3581f837827bc27333f81f0bc68f74201992c590cd12c8b6b7"` [INFO] running `"docker" "rm" "-f" "454c6f9657b21d3581f837827bc27333f81f0bc68f74201992c590cd12c8b6b7"` [INFO] [stdout] 454c6f9657b21d3581f837827bc27333f81f0bc68f74201992c590cd12c8b6b7