From 7a2afb511954e8e72ffee1b6757375c8aa2cc6fc Mon Sep 17 00:00:00 2001 From: wborgeaud Date: Thu, 16 Dec 2021 15:30:40 +0100 Subject: [PATCH] Clippy --- benches/hashing.rs | 25 +++++++++++++------------ src/gadgets/arithmetic.rs | 2 +- src/gadgets/arithmetic_extension.rs | 3 +-- src/gadgets/biguint.rs | 6 ------ src/gadgets/curve.rs | 7 ------- src/gadgets/interpolation.rs | 1 - src/gadgets/multiple_comparison.rs | 2 -- src/gadgets/nonnative.rs | 1 - src/gadgets/sorting.rs | 3 +-- src/gates/arithmetic_base.rs | 2 +- src/gates/arithmetic_u32.rs | 2 +- src/gates/assert_le.rs | 4 +--- src/gates/gate_tree.rs | 1 - src/gates/low_degree_interpolation.rs | 2 +- src/gates/multiplication_extension.rs | 2 +- src/gates/poseidon_mds.rs | 2 -- src/gates/reducing_extension.rs | 2 +- src/gates/subtraction_u32.rs | 2 +- src/hash/hash_types.rs | 4 ++-- src/hash/poseidon.rs | 9 --------- src/hash/poseidon_goldilocks.rs | 2 +- src/lib.rs | 1 + 22 files changed, 27 insertions(+), 58 deletions(-) diff --git a/benches/hashing.rs b/benches/hashing.rs index 583c36b6..b1193516 100644 --- a/benches/hashing.rs +++ b/benches/hashing.rs @@ -3,6 +3,7 @@ use criterion::{criterion_group, criterion_main, BatchSize, Criterion}; use plonky2::field::goldilocks_field::GoldilocksField; use plonky2::hash::gmimc::GMiMC; +use plonky2::hash::hashing::SPONGE_WIDTH; use plonky2::hash::poseidon::Poseidon; use tynm::type_name; @@ -16,22 +17,22 @@ pub(crate) fn bench_gmimc, const WIDTH: usize>(c: &mut Criterion }); } -pub(crate) fn bench_poseidon, const WIDTH: usize>(c: &mut Criterion) -where - [(); WIDTH - 1]:, -{ - c.bench_function(&format!("poseidon<{}, {}>", type_name::(), WIDTH), |b| { - b.iter_batched( - || F::rand_arr::(), - |state| F::poseidon(state), - BatchSize::SmallInput, - ) - }); +pub(crate) fn bench_poseidon(c: &mut Criterion) { + c.bench_function( + &format!("poseidon<{}, {}>", type_name::(), SPONGE_WIDTH), + |b| { + b.iter_batched( + || F::rand_arr::(), + |state| F::poseidon(state), + BatchSize::SmallInput, + ) + }, + ); } fn criterion_benchmark(c: &mut Criterion) { bench_gmimc::(c); - bench_poseidon::(c); + bench_poseidon::(c); } criterion_group!(benches, criterion_benchmark); diff --git a/src/gadgets/arithmetic.rs b/src/gadgets/arithmetic.rs index 69a39bda..1ea2f769 100644 --- a/src/gadgets/arithmetic.rs +++ b/src/gadgets/arithmetic.rs @@ -1,7 +1,7 @@ use std::borrow::Borrow; use crate::field::extension_field::Extendable; -use crate::field::field_types::{PrimeField, RichField}; +use crate::field::field_types::PrimeField; use crate::gates::arithmetic_base::ArithmeticGate; use crate::gates::exponentiation::ExponentiationGate; use crate::iop::target::{BoolTarget, Target}; diff --git a/src/gadgets/arithmetic_extension.rs b/src/gadgets/arithmetic_extension.rs index ce1e4460..32c80bc4 100644 --- a/src/gadgets/arithmetic_extension.rs +++ b/src/gadgets/arithmetic_extension.rs @@ -1,7 +1,7 @@ use crate::field::extension_field::target::{ExtensionAlgebraTarget, ExtensionTarget}; use crate::field::extension_field::FieldExtension; use crate::field::extension_field::{Extendable, OEF}; -use crate::field::field_types::{Field, PrimeField, RichField}; +use crate::field::field_types::{Field, PrimeField}; use crate::gates::arithmetic_extension::ArithmeticExtensionGate; use crate::gates::multiplication_extension::MulExtensionGate; use crate::iop::generator::{GeneratedValues, SimpleGenerator}; @@ -553,7 +553,6 @@ mod tests { use anyhow::Result; use crate::field::extension_field::algebra::ExtensionAlgebra; - use crate::field::extension_field::quartic::QuarticExtension; use crate::field::extension_field::target::ExtensionAlgebraTarget; use crate::field::field_types::Field; use crate::iop::witness::{PartialWitness, Witness}; diff --git a/src/gadgets/biguint.rs b/src/gadgets/biguint.rs index bb81d9c7..ec70ec3f 100644 --- a/src/gadgets/biguint.rs +++ b/src/gadgets/biguint.rs @@ -250,7 +250,6 @@ mod tests { use crate::iop::witness::Witness; use crate::plonk::config::{GenericConfig, PoseidonGoldilocksConfig}; use crate::{ - field::goldilocks_field::GoldilocksField, iop::witness::PartialWitness, plonk::{circuit_builder::CircuitBuilder, circuit_data::CircuitConfig, verifier::verify}, }; @@ -260,7 +259,6 @@ mod tests { const D: usize = 2; type C = PoseidonGoldilocksConfig; type F = >::F; - type FF = >::FE; let mut rng = rand::thread_rng(); let x_value = BigUint::from_u128(rng.gen()).unwrap(); @@ -291,7 +289,6 @@ mod tests { const D: usize = 2; type C = PoseidonGoldilocksConfig; type F = >::F; - type FF = >::FE; let mut rng = rand::thread_rng(); let mut x_value = BigUint::from_u128(rng.gen()).unwrap(); @@ -322,7 +319,6 @@ mod tests { const D: usize = 2; type C = PoseidonGoldilocksConfig; type F = >::F; - type FF = >::FE; let mut rng = rand::thread_rng(); let x_value = BigUint::from_u128(rng.gen()).unwrap(); @@ -353,7 +349,6 @@ mod tests { const D: usize = 2; type C = PoseidonGoldilocksConfig; type F = >::F; - type FF = >::FE; let mut rng = rand::thread_rng(); let x_value = BigUint::from_u128(rng.gen()).unwrap(); @@ -380,7 +375,6 @@ mod tests { const D: usize = 2; type C = PoseidonGoldilocksConfig; type F = >::F; - type FF = >::FE; let mut rng = rand::thread_rng(); let mut x_value = BigUint::from_u128(rng.gen()).unwrap(); diff --git a/src/gadgets/curve.rs b/src/gadgets/curve.rs index c50589ef..6ffe7ec4 100644 --- a/src/gadgets/curve.rs +++ b/src/gadgets/curve.rs @@ -180,7 +180,6 @@ mod tests { use crate::curve::curve_types::{AffinePoint, Curve, CurveScalar}; use crate::curve::secp256k1::Secp256K1; use crate::field::field_types::Field; - use crate::field::goldilocks_field::GoldilocksField; use crate::field::secp256k1_base::Secp256K1Base; use crate::field::secp256k1_scalar::Secp256K1Scalar; use crate::iop::witness::PartialWitness; @@ -194,7 +193,6 @@ mod tests { const D: usize = 2; type C = PoseidonGoldilocksConfig; type F = >::F; - type FF = >::FE; let config = CircuitConfig::standard_recursion_config(); @@ -220,7 +218,6 @@ mod tests { const D: usize = 2; type C = PoseidonGoldilocksConfig; type F = >::F; - type FF = >::FE; let config = CircuitConfig::standard_recursion_config(); @@ -248,7 +245,6 @@ mod tests { const D: usize = 2; type C = PoseidonGoldilocksConfig; type F = >::F; - type FF = >::FE; let config = CircuitConfig::standard_recursion_config(); @@ -286,7 +282,6 @@ mod tests { const D: usize = 2; type C = PoseidonGoldilocksConfig; type F = >::F; - type FF = >::FE; let config = CircuitConfig::standard_recursion_config(); @@ -318,7 +313,6 @@ mod tests { const D: usize = 2; type C = PoseidonGoldilocksConfig; type F = >::F; - type FF = >::FE; let config = CircuitConfig { num_routed_wires: 33, @@ -354,7 +348,6 @@ mod tests { const D: usize = 2; type C = PoseidonGoldilocksConfig; type F = >::F; - type FF = >::FE; let config = CircuitConfig { num_routed_wires: 33, diff --git a/src/gadgets/interpolation.rs b/src/gadgets/interpolation.rs index 8d241fc8..1d092631 100644 --- a/src/gadgets/interpolation.rs +++ b/src/gadgets/interpolation.rs @@ -108,7 +108,6 @@ impl, const D: usize> CircuitBuilder { mod tests { use anyhow::Result; - use crate::field::extension_field::quadratic::QuadraticExtension; use crate::field::extension_field::FieldExtension; use crate::field::field_types::Field; use crate::field::interpolation::interpolant; diff --git a/src/gadgets/multiple_comparison.rs b/src/gadgets/multiple_comparison.rs index 38e2e82d..cd66720c 100644 --- a/src/gadgets/multiple_comparison.rs +++ b/src/gadgets/multiple_comparison.rs @@ -72,7 +72,6 @@ mod tests { use rand::Rng; use crate::field::field_types::Field; - use crate::field::goldilocks_field::GoldilocksField; use crate::iop::witness::PartialWitness; use crate::plonk::circuit_builder::CircuitBuilder; use crate::plonk::circuit_data::CircuitConfig; @@ -83,7 +82,6 @@ mod tests { const D: usize = 2; type C = PoseidonGoldilocksConfig; type F = >::F; - type FF = >::FE; let config = CircuitConfig::standard_recursion_config(); let pw = PartialWitness::new(); let mut builder = CircuitBuilder::::new(config); diff --git a/src/gadgets/nonnative.rs b/src/gadgets/nonnative.rs index ffbfa40c..d5a01961 100644 --- a/src/gadgets/nonnative.rs +++ b/src/gadgets/nonnative.rs @@ -214,7 +214,6 @@ mod tests { use anyhow::Result; use crate::field::field_types::Field; - use crate::field::goldilocks_field::GoldilocksField; use crate::field::secp256k1_base::Secp256K1Base; use crate::iop::witness::PartialWitness; use crate::plonk::circuit_builder::CircuitBuilder; diff --git a/src/gadgets/sorting.rs b/src/gadgets/sorting.rs index 81cdee10..46cfc5b4 100644 --- a/src/gadgets/sorting.rs +++ b/src/gadgets/sorting.rs @@ -3,9 +3,8 @@ use std::marker::PhantomData; use itertools::izip; use crate::field::extension_field::Extendable; -use crate::field::field_types::{Field, RichField}; +use crate::field::field_types::Field; use crate::gates::assert_le::AssertLessThanGate; -use crate::gates::comparison::ComparisonGate; use crate::iop::generator::{GeneratedValues, SimpleGenerator}; use crate::iop::target::{BoolTarget, Target}; use crate::iop::witness::{PartitionWitness, Witness}; diff --git a/src/gates/arithmetic_base.rs b/src/gates/arithmetic_base.rs index b50af7a1..eb4f8225 100644 --- a/src/gates/arithmetic_base.rs +++ b/src/gates/arithmetic_base.rs @@ -211,6 +211,6 @@ mod tests { type C = PoseidonGoldilocksConfig; type F = >::F; let gate = ArithmeticGate::new_from_config(&CircuitConfig::standard_recursion_config()); - test_eval_fns::(gate) + test_eval_fns::(gate) } } diff --git a/src/gates/arithmetic_u32.rs b/src/gates/arithmetic_u32.rs index d99a4f31..77b2bf97 100644 --- a/src/gates/arithmetic_u32.rs +++ b/src/gates/arithmetic_u32.rs @@ -347,7 +347,7 @@ mod tests { const D: usize = 2; type C = PoseidonGoldilocksConfig; type F = >::F; - test_eval_fns::(U32ArithmeticGate:: { + test_eval_fns::(U32ArithmeticGate:: { num_ops: 3, _phantom: PhantomData, }) diff --git a/src/gates/assert_le.rs b/src/gates/assert_le.rs index de52b298..078585fc 100644 --- a/src/gates/assert_le.rs +++ b/src/gates/assert_le.rs @@ -488,9 +488,7 @@ mod tests { let num_bits = 20; let num_chunks = 4; - test_eval_fns::(AssertLessThanGate::<_, D>::new( - num_bits, num_chunks, - )) + test_eval_fns::(AssertLessThanGate::<_, D>::new(num_bits, num_chunks)) } #[test] diff --git a/src/gates/gate_tree.rs b/src/gates/gate_tree.rs index a73587b8..eb1b5ad7 100644 --- a/src/gates/gate_tree.rs +++ b/src/gates/gate_tree.rs @@ -224,7 +224,6 @@ mod tests { use log::info; use super::*; - use crate::field::goldilocks_field::GoldilocksField; use crate::gadgets::interpolation::InterpolationGate; use crate::gates::arithmetic_extension::ArithmeticExtensionGate; use crate::gates::base_sum::BaseSumGate; diff --git a/src/gates/low_degree_interpolation.rs b/src/gates/low_degree_interpolation.rs index 9f158191..47b43359 100644 --- a/src/gates/low_degree_interpolation.rs +++ b/src/gates/low_degree_interpolation.rs @@ -406,7 +406,7 @@ mod tests { const D: usize = 2; type C = PoseidonGoldilocksConfig; type F = >::F; - test_eval_fns::(LowDegreeInterpolationGate::new(4)) + test_eval_fns::(LowDegreeInterpolationGate::new(4)) } #[test] diff --git a/src/gates/multiplication_extension.rs b/src/gates/multiplication_extension.rs index ddec9509..e532f804 100644 --- a/src/gates/multiplication_extension.rs +++ b/src/gates/multiplication_extension.rs @@ -203,6 +203,6 @@ mod tests { type C = PoseidonGoldilocksConfig; type F = >::F; let gate = MulExtensionGate::new_from_config(&CircuitConfig::standard_recursion_config()); - test_eval_fns::(gate) + test_eval_fns::(gate) } } diff --git a/src/gates/poseidon_mds.rs b/src/gates/poseidon_mds.rs index 400c0716..a9234619 100644 --- a/src/gates/poseidon_mds.rs +++ b/src/gates/poseidon_mds.rs @@ -230,10 +230,8 @@ impl + Poseidon, const D: usize> SimpleGenerator #[cfg(test)] mod tests { - use crate::field::goldilocks_field::GoldilocksField; use crate::gates::gate_testing::{test_eval_fns, test_low_degree}; use crate::gates::poseidon_mds::PoseidonMdsGate; - use crate::hash::hashing::SPONGE_WIDTH; use crate::plonk::config::{GenericConfig, PoseidonGoldilocksConfig}; #[test] diff --git a/src/gates/reducing_extension.rs b/src/gates/reducing_extension.rs index 1d09585c..09b5420b 100644 --- a/src/gates/reducing_extension.rs +++ b/src/gates/reducing_extension.rs @@ -221,6 +221,6 @@ mod tests { const D: usize = 2; type C = PoseidonGoldilocksConfig; type F = >::F; - test_eval_fns::(ReducingExtensionGate::new(22)) + test_eval_fns::(ReducingExtensionGate::new(22)) } } diff --git a/src/gates/subtraction_u32.rs b/src/gates/subtraction_u32.rs index 23c086ba..a15cf6e8 100644 --- a/src/gates/subtraction_u32.rs +++ b/src/gates/subtraction_u32.rs @@ -337,7 +337,7 @@ mod tests { const D: usize = 2; type C = PoseidonGoldilocksConfig; type F = >::F; - test_eval_fns::(U32SubtractionGate:: { + test_eval_fns::(U32SubtractionGate:: { num_ops: 3, _phantom: PhantomData, }) diff --git a/src/hash/hash_types.rs b/src/hash/hash_types.rs index 7106a616..19228b41 100644 --- a/src/hash/hash_types.rs +++ b/src/hash/hash_types.rs @@ -126,7 +126,7 @@ pub struct MerkleCapTarget(pub Vec); #[derive(Eq, PartialEq, Copy, Clone, Debug)] pub struct BytesHash(pub [u8; N]); impl Serialize for BytesHash { - fn serialize(&self, serializer: S) -> Result + fn serialize(&self, _serializer: S) -> Result where S: Serializer, { @@ -134,7 +134,7 @@ impl Serialize for BytesHash { } } impl<'de, const N: usize> Deserialize<'de> for BytesHash { - fn deserialize(deserializer: D) -> Result + fn deserialize(_deserializer: D) -> Result where D: Deserializer<'de>, { diff --git a/src/hash/poseidon.rs b/src/hash/poseidon.rs index f8e7f78f..b00bfbce 100644 --- a/src/hash/poseidon.rs +++ b/src/hash/poseidon.rs @@ -174,7 +174,6 @@ pub trait Poseidon: PrimeField { let mut res = 0u128; // This is a hacky way of fully unrolling the loop. - assert!(WIDTH <= 12); for i in 0..12 { if i < WIDTH { res += (v[(i + r) % WIDTH] as u128) << Self::MDS_MATRIX_EXPS[i]; @@ -230,7 +229,6 @@ pub trait Poseidon: PrimeField { } // This is a hacky way of fully unrolling the loop. - assert!(WIDTH <= 12); for r in 0..12 { if r < WIDTH { let sum = Self::mds_row_shf(r, &state); @@ -296,7 +294,6 @@ pub trait Poseidon: PrimeField { fn partial_first_constant_layer, const D: usize>( state: &mut [F; WIDTH], ) { - assert!(WIDTH <= 12); for i in 0..12 { if i < WIDTH { state[i] += F::from_canonical_u64(Self::FAST_PARTIAL_FIRST_ROUND_CONSTANT[i]); @@ -331,10 +328,8 @@ pub trait Poseidon: PrimeField { // c = 0 result[0] = state[0]; - assert!(WIDTH <= 12); for r in 1..12 { if r < WIDTH { - assert!(WIDTH <= 12); for c in 1..12 { if c < WIDTH { // NB: FAST_PARTIAL_ROUND_INITIAL_MATRIX is stored in @@ -388,7 +383,6 @@ pub trait Poseidon: PrimeField { // Set d = [M_00 | w^] dot [state] let mut d_sum = (0u128, 0u32); // u160 accumulator - assert!(WIDTH <= 12); for i in 1..12 { if i < WIDTH { let t = Self::FAST_PARTIAL_ROUND_W_HATS[r][i - 1] as u128; @@ -403,7 +397,6 @@ pub trait Poseidon: PrimeField { // result = [d] concat [state[0] * v + state[shift up by 1]] let mut result = [Self::ZERO; WIDTH]; result[0] = d; - assert!(WIDTH <= 12); for i in 1..12 { if i < WIDTH { let t = Self::from_canonical_u64(Self::FAST_PARTIAL_ROUND_VS[r][i - 1]); @@ -470,7 +463,6 @@ pub trait Poseidon: PrimeField { #[inline(always)] #[unroll_for_loops] fn constant_layer(state: &mut [Self; WIDTH], round_ctr: usize) { - assert!(WIDTH <= 12); for i in 0..12 { if i < WIDTH { let round_constant = ALL_ROUND_CONSTANTS[i + WIDTH * round_ctr]; @@ -531,7 +523,6 @@ pub trait Poseidon: PrimeField { #[inline(always)] #[unroll_for_loops] fn sbox_layer(state: &mut [Self; WIDTH]) { - assert!(WIDTH <= 12); for i in 0..12 { if i < WIDTH { state[i] = Self::sbox_monomial(state[i]); diff --git a/src/hash/poseidon_goldilocks.rs b/src/hash/poseidon_goldilocks.rs index 743590f0..4c4221ee 100644 --- a/src/hash/poseidon_goldilocks.rs +++ b/src/hash/poseidon_goldilocks.rs @@ -285,7 +285,7 @@ mod tests { let neg_one: u64 = F::NEG_ONE.to_canonical_u64(); #[rustfmt::skip] - let test_vectors8: Vec<([u64; 8], [u64; 8])> = vec![ + let _test_vectors8: Vec<([u64; 8], [u64; 8])> = vec![ ([0, 0, 0, 0, 0, 0, 0, 0, ], [0x649eec3229475d06, 0x72afe85b8b600222, 0x816d0a50ddd39228, 0x5083133a721a187c, 0xbb69bd7d90c490a6, 0xea1d33a65d0a3287, 0xb4d27542d2fba3bc, 0xf9756d565d90c20a, ]), diff --git a/src/lib.rs b/src/lib.rs index 291e6422..f1014b73 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -2,6 +2,7 @@ #![allow(const_evaluatable_unchecked)] #![allow(clippy::new_without_default)] #![allow(clippy::too_many_arguments)] +#![allow(clippy::type_complexity)] #![allow(clippy::len_without_is_empty)] #![allow(clippy::needless_range_loop)] #![feature(asm_sym)]