From 9cb781f04c0343a44b2ccfdc65b0dfb794fc4e54 Mon Sep 17 00:00:00 2001 From: rebenkoy Date: Sun, 19 Nov 2023 15:42:39 +0300 Subject: [PATCH] fixed most warnings --- benches/bench_ecmul.rs | 2 +- benches/bench_poseidons.rs | 2 +- gate_macro/src/lib.rs | 2 +- src/circuit.rs | 4 ++-- src/constraint_system.rs | 3 ++- src/folding/hasher.rs | 4 ++-- src/folding/oracle.rs | 6 +++--- src/folding/poseidon.rs | 14 +++++++------- src/folding/shape.rs | 6 +++--- src/gadgets/input.rs | 2 +- src/gadgets/lc.rs | 2 +- src/gadgets/lookup.rs | 2 +- src/gadgets/nonzero_check.rs | 2 +- src/test.rs | 15 ++++----------- src/utils/cross_terms_combination.rs | 6 +++--- 15 files changed, 33 insertions(+), 39 deletions(-) diff --git a/benches/bench_ecmul.rs b/benches/bench_ecmul.rs index 33eb7bf..0500a01 100644 --- a/benches/bench_ecmul.rs +++ b/benches/bench_ecmul.rs @@ -4,7 +4,7 @@ use criterion::{Criterion, criterion_main, criterion_group, black_box}; use ff::Field; use group::{Group, Curve}; use halo2::halo2curves::{bn256, grumpkin, CurveExt}; -use protostar_works::{circuit::{ExternalValue, Circuit, Advice}, gate::{Gatebb, Gate}, gadgets::{ecmul::{EcAffinePoint, escalarmul_gadget_9}, nonzero_check::nonzero_gadget, input::input}, utils::poly_utils::bits_le, commitment::CkRound, witness::CSSystemCommit}; +use protostar_works::{circuit::{ExternalValue, Circuit}, gate::{Gatebb, Gate}, gadgets::{ecmul::{EcAffinePoint, escalarmul_gadget_9}, nonzero_check::nonzero_gadget, input::input}, utils::poly_utils::bits_le, commitment::CkRound, witness::CSSystemCommit}; use rand_core::OsRng; type F = bn256::Fr; diff --git a/benches/bench_poseidons.rs b/benches/bench_poseidons.rs index ec2d586..98ee383 100644 --- a/benches/bench_poseidons.rs +++ b/benches/bench_poseidons.rs @@ -3,7 +3,7 @@ use std::{rc::Rc, iter::repeat_with}; use criterion::{criterion_group, criterion_main, Criterion}; use ff::Field; use halo2::halo2curves::bn256; -use protostar_works::{gadgets::{poseidon::{poseidon_gadget_internal}, input::input}, circuit::{ExternalValue, Circuit, Advice}, gate::{Gatebb, Gate}, utils::poly_utils::bits_le, commitment::CkRound, witness::CSSystemCommit, folding::poseidon::Poseidon}; +use protostar_works::{gadgets::{poseidon::poseidon_gadget_internal, input::input}, circuit::{ExternalValue, Circuit}, gate::{Gatebb, Gate}, utils::poly_utils::bits_le, commitment::CkRound, witness::CSSystemCommit, folding::poseidon::Poseidon}; use rand_core::OsRng; diff --git a/gate_macro/src/lib.rs b/gate_macro/src/lib.rs index 3a1c16c..470eeb8 100644 --- a/gate_macro/src/lib.rs +++ b/gate_macro/src/lib.rs @@ -9,7 +9,7 @@ use syn::token::Comma; #[proc_macro_attribute] -pub fn make_gate(args: TokenStream, input: TokenStream) -> TokenStream { +pub fn make_gate(_args: TokenStream, input: TokenStream) -> TokenStream { let input = parse_macro_input!(input as ItemFn); let mut initializer = input.clone(); let generics = input.sig.generics; diff --git a/src/circuit.rs b/src/circuit.rs index 94445f7..52ac8f1 100644 --- a/src/circuit.rs +++ b/src/circuit.rs @@ -1,8 +1,8 @@ -use std::{rc::Rc, cell::OnceCell, marker::PhantomData, iter::repeat_with}; +use std::{rc::Rc, marker::PhantomData, iter::repeat_with}; use elsa::map::FrozenMap; use ff::PrimeField; -use crate::{witness::CSWtns, gate::{Gatebb, Gate}, constraint_system::{Variable, ConstraintSystem, CommitKind, Visibility, CS, Constraint}, utils::poly_utils::check_poly, circuit::circuit_operations::{AttachedAdvice, AttachedPolynomialAdvice, AttachedAdvicePub}, folding::poseidon_constants::constants}; +use crate::{witness::CSWtns, gate::{Gatebb, Gate}, constraint_system::{Variable, ConstraintSystem, CommitKind, Visibility, CS, Constraint}, utils::poly_utils::check_poly, circuit::circuit_operations::{AttachedAdvice, AttachedPolynomialAdvice, AttachedAdvicePub}}; use self::circuit_operations::CircuitOperation; diff --git a/src/constraint_system.rs b/src/constraint_system.rs index 26da0fa..45c7c4c 100644 --- a/src/constraint_system.rs +++ b/src/constraint_system.rs @@ -45,8 +45,9 @@ pub struct Constraint<'c, F: PrimeField, G: Gate<'c, F>>{ /// Currently this struct has some additional information. This will probably /// be moved in the near future #[derive(Debug, Clone)] -struct ConstraintGroup<'c, F: PrimeField, G: Gate<'c, F>>{ +struct ConstraintGroup<'c, F: PrimeField, G: Gate<'c, F>> { pub entries: Vec>, + #[allow(dead_code)] pub kind: CommitKind, pub num_rhs: usize, pub max_degree: usize, diff --git a/src/folding/hasher.rs b/src/folding/hasher.rs index f8cea4e..e107db4 100644 --- a/src/folding/hasher.rs +++ b/src/folding/hasher.rs @@ -1,6 +1,6 @@ -use std::marker::PhantomData; + use ff::Field; -use halo2::{halo2curves::bn256, transcript}; +use halo2::{halo2curves::bn256}; use super::poseidon::Poseidon; pub trait HashConfig { diff --git a/src/folding/oracle.rs b/src/folding/oracle.rs index f20dae6..b8bb485 100644 --- a/src/folding/oracle.rs +++ b/src/folding/oracle.rs @@ -32,7 +32,7 @@ impl Oracle for MockOracle { fn new() -> Self { Self{ _marker: PhantomData:: } } - fn update(&mut self, msg: ProverMsg) {} + fn update(&mut self, _msg: ProverMsg) {} fn response(&self) -> R { trunc128(R::random(OsRng)) } @@ -41,9 +41,9 @@ impl Oracle for MockOracle { mod tests{ - use ff::{Field, PrimeField}; + use super::*; use halo2::halo2curves::bn256; - use rand_core::OsRng; + type R = bn256::Fr; diff --git a/src/folding/poseidon.rs b/src/folding/poseidon.rs index e1f92c8..5e3a687 100644 --- a/src/folding/poseidon.rs +++ b/src/folding/poseidon.rs @@ -1,12 +1,12 @@ -use std::rc::Rc; -use elsa::map::FrozenMap; + + use ff::{Field, PrimeField}; -use gate_macro::make_gate; -use crate::{circuit::{Advice}}; + + use halo2::halo2curves::bn256; -use crate::{circuit::{Circuit, PolyOp}, constraint_system::Variable, gate::Gatebb}; -use num_traits::pow; -use crate::utils::field_precomp::FieldUtils; + + + use super::poseidon_constants; diff --git a/src/folding/shape.rs b/src/folding/shape.rs index 0e26551..dd26dfc 100644 --- a/src/folding/shape.rs +++ b/src/folding/shape.rs @@ -1,10 +1,10 @@ // This file also implements folding utils like shape. Should split into parts later. -use std::iter::repeat; + use ff::PrimeField; -use halo2::halo2curves::{CurveExt, CurveAffine, bn256}; +use halo2::halo2curves::CurveAffine; use itertools::Itertools; -use crate::{utils::{field_precomp::FieldUtils, arith_helper::{log2_ceil, ev}}, constraint_system::{WitnessSpec, ConstraintSystem, CS, ConstrSpec}, gate::Gate}; +use crate::{utils::arith_helper::{log2_ceil, ev}, constraint_system::{WitnessSpec, ConstraintSystem, CS, ConstrSpec}, gate::Gate}; /// Encode value as field elements. pub trait FEncoding { diff --git a/src/gadgets/input.rs b/src/gadgets/input.rs index af16a8f..989251c 100644 --- a/src/gadgets/input.rs +++ b/src/gadgets/input.rs @@ -1,6 +1,6 @@ use ff::PrimeField; -use crate::{circuit::{Circuit, ExternalValue, Advice, AdvicePub}, utils::field_precomp::FieldUtils, gate::Gatebb, constraint_system::Variable}; +use crate::{circuit::{Circuit, ExternalValue, AdvicePub}, utils::field_precomp::FieldUtils, gate::Gatebb, constraint_system::Variable}; pub fn input<'a, F: PrimeField+FieldUtils>( circuit: &mut Circuit<'a,F,Gatebb<'a,F>>, diff --git a/src/gadgets/lc.rs b/src/gadgets/lc.rs index 824377f..2b0c582 100644 --- a/src/gadgets/lc.rs +++ b/src/gadgets/lc.rs @@ -6,7 +6,7 @@ use std::rc::Rc; use ff::PrimeField; use itertools::Itertools; -use crate::{utils::field_precomp::FieldUtils, circuit::{Circuit, Advice, PolyOp}, gate::Gatebb, constraint_system::Variable}; +use crate::{utils::field_precomp::FieldUtils, circuit::{Circuit, PolyOp}, gate::Gatebb, constraint_system::Variable}; pub fn inner_prod(a: &[F], b: &[F]) -> F { a.iter().zip_eq(b.iter()).fold(F::ZERO, |acc, (x,y)|acc+*x*y) diff --git a/src/gadgets/lookup.rs b/src/gadgets/lookup.rs index ac8fa73..c4b946d 100644 --- a/src/gadgets/lookup.rs +++ b/src/gadgets/lookup.rs @@ -5,7 +5,7 @@ // 2. Table right now is implemented as priveleged subset of variables. Considering it is the same for all // step instances, it is not, actually, getting folded. This should be made a primitive. -use std::{iter::{repeat_with, once}, rc::Rc}; +use std::{iter::{once}, rc::Rc}; use ff::{PrimeField, BatchInvert}; use itertools::Itertools; diff --git a/src/gadgets/nonzero_check.rs b/src/gadgets/nonzero_check.rs index a93baa9..be8a0e6 100644 --- a/src/gadgets/nonzero_check.rs +++ b/src/gadgets/nonzero_check.rs @@ -1,4 +1,4 @@ -use std::{rc::Rc, cmp::max}; +use std::{cmp::max}; use ff::PrimeField; use crate::{utils::field_precomp::FieldUtils, circuit::{Circuit, Advice}, gate::Gatebb, constraint_system::Variable}; use super::running_prod::prod_run_gadget; diff --git a/src/test.rs b/src/test.rs index 70ffd42..69bb41f 100644 --- a/src/test.rs +++ b/src/test.rs @@ -1,11 +1,11 @@ #[cfg(test)] mod tests { - use std::{rc::Rc, iter::repeat}; + use std::rc::Rc; use crate::{ gate::Gatebb, - constraint_system::{Variable, Visibility, CS}, - circuit::{Circuit, ExternalValue, PolyOp, Advice}, + constraint_system::{Variable, Visibility}, + circuit::{Circuit, PolyOp, Advice}, gadgets::{ poseidon::{ poseidon_gadget_mixstrat, @@ -141,7 +141,6 @@ mod tests { let cfg = Poseidon::new(); let mut circuit = Circuit::new(25, 1); let pi_ext = circuit.ext_val(1)[0]; - let read_pi_advice = Advice::new(0, 1, 1, |_, iext: &[F]| vec![iext[0]]); let pi = input(&mut circuit, pi_ext, 0); let ret = poseidon_gadget_internal(&mut circuit, &cfg, 1, 0, vec![pi]); @@ -160,7 +159,6 @@ mod tests { let cfg = Poseidon::new(); let mut circuit = Circuit::new(25, 1); let pi_ext = circuit.ext_val(1)[0]; - let read_pi_advice = Advice::new(0, 1, 1, |_, iext: &[F]| vec![iext[0]]); let pi = input(&mut circuit, pi_ext, 0); let ret = poseidon_gadget_internal(&mut circuit, &cfg, 2, 0, vec![pi]); @@ -179,7 +177,6 @@ mod tests { let cfg = Poseidon::new(); let mut circuit = Circuit::new(25, 1); let pi_ext = circuit.ext_val(1)[0]; - let read_pi_advice = Advice::new(0, 1, 1, |_, iext: &[F]| vec![iext[0]]); let pi = input(&mut circuit, pi_ext, 0); let ret = poseidon_gadget_mixstrat(&mut circuit, &cfg, 0, vec![pi]); @@ -203,9 +200,7 @@ mod tests { let mut circuit = Circuit::new(2, 1); let pi_ext = circuit.ext_val(1)[0]; - let read_pi_advice = Advice::new(0, 1, 1, |_, iext: &[F]| vec![iext[0]]); let pi = input(&mut circuit, pi_ext, 0); - let bits = bit_decomposition_gadget(&mut circuit, 0, 3, pi); @@ -284,7 +279,6 @@ mod tests { let mut circuit = Circuit::new(9, 1); let pi_ext = circuit.ext_val(1)[0]; - let read_pi_advice = Advice::new(0, 1, 1, |_, iext: &[F]| vec![iext[0]]); let pi = input(&mut circuit, pi_ext, 0); @@ -341,11 +335,10 @@ mod tests { let mut pi_ext = vec![]; let pi_id_ext = circuit.ext_val(1)[0]; - for i in 0..9 { + for _ in 0..9 { pi_ext.push(circuit.ext_val(3)); } - let read_pi_advice = Advice::new(0, 1, 1, |_, iext: &[F]| vec![iext[0]]); let mut pi = vec![]; for i in 0..9 { pi.push(vec![]); diff --git a/src/utils/cross_terms_combination.rs b/src/utils/cross_terms_combination.rs index 4f079fa..aa7d013 100644 --- a/src/utils/cross_terms_combination.rs +++ b/src/utils/cross_terms_combination.rs @@ -3,7 +3,7 @@ // This is a bit similar to protogalaxy; main reason why we are doing it is to skip a commitment // to an additional round. -use std::{iter::{once, zip}, fmt::Debug}; +use std::{iter::once, fmt::Debug}; use super::field_precomp::FieldUtils; use itertools::Itertools; @@ -344,8 +344,8 @@ mod tests { let mut arr2 : Vec<_> = (0..13*5).collect(); parallelize_with_alignment(&mut arr1, &mut arr2, |chunk_v, chunk_w, offset|{ - chunk_v.iter_mut().enumerate().map(|(i, x)| *x -= (i + offset * 7)).count(); - chunk_w.iter_mut().enumerate().map(|(i, x)| *x -= (i + offset * 5)).count(); + chunk_v.iter_mut().enumerate().map(|(i, x)| *x -= i + offset * 7).count(); + chunk_w.iter_mut().enumerate().map(|(i, x)| *x -= i + offset * 5).count(); }, 7, 5); for v in arr1 {assert!(v==0)}