[INFO] updating cached repository BlockchainIdentityLab/zero-knowledge-rust-example [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/BlockchainIdentityLab/zero-knowledge-rust-example [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/BlockchainIdentityLab/zero-knowledge-rust-example" "work/ex/clippy-test-run/sources/stable/gh/BlockchainIdentityLab/zero-knowledge-rust-example"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/BlockchainIdentityLab/zero-knowledge-rust-example'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/BlockchainIdentityLab/zero-knowledge-rust-example" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/BlockchainIdentityLab/zero-knowledge-rust-example"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/BlockchainIdentityLab/zero-knowledge-rust-example'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] fbdd17e79a054e629587885cd840263b6737b424 [INFO] sha for GitHub repo BlockchainIdentityLab/zero-knowledge-rust-example: fbdd17e79a054e629587885cd840263b6737b424 [INFO] validating manifest of BlockchainIdentityLab/zero-knowledge-rust-example 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 BlockchainIdentityLab/zero-knowledge-rust-example 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 BlockchainIdentityLab/zero-knowledge-rust-example [INFO] finished frobbing BlockchainIdentityLab/zero-knowledge-rust-example [INFO] frobbed toml for BlockchainIdentityLab/zero-knowledge-rust-example written to work/ex/clippy-test-run/sources/stable/gh/BlockchainIdentityLab/zero-knowledge-rust-example/Cargo.toml [INFO] started frobbing BlockchainIdentityLab/zero-knowledge-rust-example [INFO] finished frobbing BlockchainIdentityLab/zero-knowledge-rust-example [INFO] frobbed toml for BlockchainIdentityLab/zero-knowledge-rust-example written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/BlockchainIdentityLab/zero-knowledge-rust-example/Cargo.toml [INFO] crate BlockchainIdentityLab/zero-knowledge-rust-example 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 BlockchainIdentityLab/zero-knowledge-rust-example 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/BlockchainIdentityLab/zero-knowledge-rust-example:/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] 8b5c82349928ed2b68600f72aa33c800b6665236d4efdf4b95afb8911110e0af [INFO] running `"docker" "start" "-a" "8b5c82349928ed2b68600f72aa33c800b6665236d4efdf4b95afb8911110e0af"` [INFO] [stderr] Checking keccak v0.1.0 [INFO] [stderr] Checking sha3 v0.7.3 [INFO] [stderr] Checking zk-tutorial v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused imports: `Rng`, `thread_rng` [INFO] [stderr] --> src/lib.rs:2:12 [INFO] [stderr] | [INFO] [stderr] 2 | use rand::{thread_rng, Rng}; [INFO] [stderr] | ^^^^^^^^^^ ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/lib.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp` [INFO] [stderr] --> src/lib.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::cmp; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp` [INFO] [stderr] --> src/prover.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::cmp; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Sha3_256` [INFO] [stderr] --> src/prover.rs:6:26 [INFO] [stderr] | [INFO] [stderr] 6 | use self::sha3::{Digest, Sha3_256}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/prover.rs:93:16 [INFO] [stderr] | [INFO] [stderr] 93 | if (i != self.problem.partition_sizes.len() - 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `thread_rng` [INFO] [stderr] --> src/verifier.rs:3:12 [INFO] [stderr] | [INFO] [stderr] 3 | use rand::{thread_rng, Rng, SeedableRng, StdRng}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Digest` [INFO] [stderr] --> src/prover.rs:6:18 [INFO] [stderr] | [INFO] [stderr] 6 | use self::sha3::{Digest, Sha3_256}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Rng`, `thread_rng` [INFO] [stderr] --> src/lib.rs:2:12 [INFO] [stderr] | [INFO] [stderr] 2 | use rand::{thread_rng, Rng}; [INFO] [stderr] | ^^^^^^^^^^ ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/lib.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp` [INFO] [stderr] --> src/lib.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::cmp; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp` [INFO] [stderr] --> src/prover.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::cmp; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Sha3_256` [INFO] [stderr] --> src/prover.rs:6:26 [INFO] [stderr] | [INFO] [stderr] 6 | use self::sha3::{Digest, Sha3_256}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/prover.rs:93:16 [INFO] [stderr] | [INFO] [stderr] 93 | if (i != self.problem.partition_sizes.len() - 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `thread_rng` [INFO] [stderr] --> src/verifier.rs:3:12 [INFO] [stderr] | [INFO] [stderr] 3 | use rand::{thread_rng, Rng, SeedableRng, StdRng}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `abs_val` [INFO] [stderr] --> src/verifier.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let abs_val = (proof.merkle_proof_1.value - proof.merkle_proof_2.value).abs(); [INFO] [stderr] | ^^^^^^^ help: consider using `_abs_val` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `abs_problem` [INFO] [stderr] --> src/verifier.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | let abs_problem = problem[query_idx].abs(); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_abs_problem` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/prover.rs:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | for mut i in 0..num_queries { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/merkle.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | for i in 0..next_pow_2 { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/merkle.rs:58:17 [INFO] [stderr] | [INFO] [stderr] 58 | for (i, value) in leaf_node_data.iter().enumerate().rev() { [INFO] [stderr] | ^^^^^ help: consider using `_value` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hasher` [INFO] [stderr] --> src/merkle.rs:61:25 [INFO] [stderr] | [INFO] [stderr] 61 | let mut hasher = Sha3_256::new(); [INFO] [stderr] | ^^^^^^ help: consider using `_hasher` instead [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/prover.rs:104:38 [INFO] [stderr] | [INFO] [stderr] 104 | shifted_witness.push(x + shift as i64); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(shift)` [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: manual implementation of an assign operation [INFO] [stderr] --> src/merkle.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 89 | index = index + self.data.len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `index += self.data.len()` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/merkle.rs:115:60 [INFO] [stderr] | [INFO] [stderr] 115 | let mut tree_node_id = value_index * 2 + 2_u32.pow(((data_size * 2) as f64).log2().ceil() as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(data_size * 2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/merkle.rs:138:9 [INFO] [stderr] | [INFO] [stderr] 138 | root == ¤t [INFO] [stderr] | ^^^^^^^^-------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `current` [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] [INFO] [stderr] warning: unused import: `Digest` [INFO] [stderr] --> src/prover.rs:6:18 [INFO] [stderr] | [INFO] [stderr] 6 | use self::sha3::{Digest, Sha3_256}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `abs_val` [INFO] [stderr] --> src/verifier.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let abs_val = (proof.merkle_proof_1.value - proof.merkle_proof_2.value).abs(); [INFO] [stderr] | ^^^^^^^ help: consider using `_abs_val` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `abs_problem` [INFO] [stderr] --> src/verifier.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | let abs_problem = problem[query_idx].abs(); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_abs_problem` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/prover.rs:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | for mut i in 0..num_queries { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/merkle.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | for i in 0..next_pow_2 { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/merkle.rs:58:17 [INFO] [stderr] | [INFO] [stderr] 58 | for (i, value) in leaf_node_data.iter().enumerate().rev() { [INFO] [stderr] | ^^^^^ help: consider using `_value` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hasher` [INFO] [stderr] --> src/merkle.rs:61:25 [INFO] [stderr] | [INFO] [stderr] 61 | let mut hasher = Sha3_256::new(); [INFO] [stderr] | ^^^^^^ help: consider using `_hasher` instead [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/prover.rs:104:38 [INFO] [stderr] | [INFO] [stderr] 104 | shifted_witness.push(x + shift as i64); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(shift)` [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: manual implementation of an assign operation [INFO] [stderr] --> src/merkle.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 89 | index = index + self.data.len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `index += self.data.len()` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/merkle.rs:115:60 [INFO] [stderr] | [INFO] [stderr] 115 | let mut tree_node_id = value_index * 2 + 2_u32.pow(((data_size * 2) as f64).log2().ceil() as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(data_size * 2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/merkle.rs:138:9 [INFO] [stderr] | [INFO] [stderr] 138 | root == ¤t [INFO] [stderr] | ^^^^^^^^-------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `current` [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] [INFO] [stderr] warning: unused imports: `merkle`, `prover` [INFO] [stderr] --> src/main.rs:4:19 [INFO] [stderr] | [INFO] [stderr] 4 | use zkpartition::{merkle, prover, problem}; [INFO] [stderr] | ^^^^^^ ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `config` [INFO] [stderr] --> src/main.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | let config = problem::PartictionProblem::new(&problem, &assignment).unwrap_or_else(|err| { [INFO] [stderr] | ^^^^^^ help: consider using `_config` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `merkle`, `prover` [INFO] [stderr] --> src/main.rs:4:19 [INFO] [stderr] | [INFO] [stderr] 4 | use zkpartition::{merkle, prover, problem}; [INFO] [stderr] | ^^^^^^ ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `config` [INFO] [stderr] --> src/main.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | let config = problem::PartictionProblem::new(&problem, &assignment).unwrap_or_else(|err| { [INFO] [stderr] | ^^^^^^ help: consider using `_config` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3.26s [INFO] running `"docker" "inspect" "8b5c82349928ed2b68600f72aa33c800b6665236d4efdf4b95afb8911110e0af"` [INFO] running `"docker" "rm" "-f" "8b5c82349928ed2b68600f72aa33c800b6665236d4efdf4b95afb8911110e0af"` [INFO] [stdout] 8b5c82349928ed2b68600f72aa33c800b6665236d4efdf4b95afb8911110e0af