diff --git a/crates/noirc_evaluator/src/ssa/acir_gen/acir_ir/acir_variable.rs b/crates/noirc_evaluator/src/ssa/acir_gen/acir_ir/acir_variable.rs index 6803166486c..f00218457ad 100644 --- a/crates/noirc_evaluator/src/ssa/acir_gen/acir_ir/acir_variable.rs +++ b/crates/noirc_evaluator/src/ssa/acir_gen/acir_ir/acir_variable.rs @@ -927,16 +927,16 @@ impl AcirContext { &mut self, code: Vec, inputs: &[BrilligInputs], - outputs: &[AcirType], + outputs_types: &[AcirType], ) -> Option> { - let results = execute_brillig(code, inputs, outputs)?; + let results = execute_brillig(code, inputs, outputs_types)?; - let mut b_outputs: Vec = Vec::new(); - for (output, result) in outputs.iter().zip(results) { - match (output, result) { + let mut outputs: Vec = Vec::with_capacity(outputs_types.len()); + for (output_type, result) in outputs_types.iter().zip(results) { + match (output_type, result) { (typ @ AcirType::NumericType(_), BrilligOutputValue::Simple(value)) => { let var = self.add_data(AcirVarData::Const(value)); - b_outputs.push(AcirValue::Var(var, typ.clone())); + outputs.push(AcirValue::Var(var, typ.clone())); } (AcirType::Array(elem_types, len), BrilligOutputValue::Array(values)) => { assert_eq!(values.len(), *len); @@ -954,14 +954,14 @@ impl AcirContext { array_outputs.push(AcirValue::Var(var, elem_type.clone())); } - b_outputs.push(AcirValue::Array(array_outputs.into())); + outputs.push(AcirValue::Array(array_outputs.into())); } _ => unreachable!("Invalid type combination"), }; } - Some(b_outputs) + Some(outputs) } fn brillig_array_input(