From 9cb781f04c0343a44b2ccfdc65b0dfb794fc4e54 Mon Sep 17 00:00:00 2001
From: rebenkoy <yarebenko@gmail.com>
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<Constraint<'c, F, G>>,
+    #[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<R: Field> {
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<ProverMsg, R: PrimeField> Oracle<ProverMsg, R> for MockOracle<R> {
     fn new() -> Self {
         Self{ _marker: PhantomData::<R> }
     }
-    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<ProverMsg, R: PrimeField> Oracle<ProverMsg, R> for MockOracle<R> {
 
 
 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 <F: PrimeField> {
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<F: PrimeField+FieldUtils>(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)}