diff --git a/src/gates/gmimc.rs b/src/gates/gmimc.rs index 03fdef56..e953809b 100644 --- a/src/gates/gmimc.rs +++ b/src/gates/gmimc.rs @@ -345,7 +345,7 @@ mod tests { let permutation_inputs = (0..W).map(F::from_canonical_usize).collect::>(); - let mut witness = PartialWitness::new(126); + let mut witness = PartialWitness::new(gate.num_wires()); witness.set_wire( Wire { gate: 0, diff --git a/src/iop/witness.rs b/src/iop/witness.rs index da7ee73f..49950a72 100644 --- a/src/iop/witness.rs +++ b/src/iop/witness.rs @@ -204,7 +204,8 @@ impl PartialWitness { pub fn full_witness(self, degree: usize, num_wires: usize) -> Witness { let mut wire_values = vec![vec![F::ZERO; degree]; num_wires]; - for i in 0..self.wire_values.len().min(degree) { + assert!(self.wire_values.len() <= degree); + for i in 0..self.wire_values.len() { for j in 0..num_wires { wire_values[j][i] = self.wire_values[i][j].unwrap_or(F::ZERO); }