Skip to content

Commit

Permalink
Merge 72254bf into 335de05
Browse files Browse the repository at this point in the history
  • Loading branch information
vezenovm authored Aug 23, 2024
2 parents 335de05 + 72254bf commit bd70ba1
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 2 deletions.
15 changes: 13 additions & 2 deletions compiler/noirc_evaluator/src/ssa/acir_gen/acir_ir/acir_variable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1933,6 +1933,9 @@ impl<F: AcirField> AcirContext<F> {
}
Some(optional_value) => {
let mut values = Vec::new();
if let AcirValue::DynamicArray(_) = optional_value {
unreachable!("Dynamic array should already be initialized");
}
self.initialize_array_inner(&mut values, optional_value)?;
values
}
Expand Down Expand Up @@ -1962,8 +1965,16 @@ impl<F: AcirField> AcirContext<F> {
self.initialize_array_inner(witnesses, value)?;
}
}
AcirValue::DynamicArray(_) => {
unreachable!("Dynamic array should already be initialized");
AcirValue::DynamicArray(AcirDynamicArray { block_id, len, .. }) => {
let dynamic_array_values = try_vecmap(0..len, |i| {
let index_var = self.add_constant(i);

let read = self.read_from_memory(block_id, &index_var)?;
Ok::<AcirValue, InternalError>(AcirValue::Var(read, AcirType::field()))
})?;
for value in dynamic_array_values {
self.initialize_array_inner(witnesses, value)?;
}
}
}
Ok(())
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[package]
name = "nested_dyn_array_regression_5782"
type = "bin"
authors = [""]
compiler_version = ">=0.33.0"

[dependencies]
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
array = [5, 10]
i = 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
fn main(mut array: [Field; 2], i: u32) {
assert_eq(array[i - 1], 5);
assert_eq(array[i], 10);

array[i] = 2;

let array2 = [array, array];

assert_eq(array2[0][0], 5);
assert_eq(array2[0][i], 2);
assert_eq(array2[i][0], 5);
assert_eq(array2[i][i], 2);
}

0 comments on commit bd70ba1

Please sign in to comment.