diff --git a/compiler/noirc_frontend/src/hir/comptime/interpreter/builtin.rs b/compiler/noirc_frontend/src/hir/comptime/interpreter/builtin.rs index faeb45ba7ec..8380d0391a9 100644 --- a/compiler/noirc_frontend/src/hir/comptime/interpreter/builtin.rs +++ b/compiler/noirc_frontend/src/hir/comptime/interpreter/builtin.rs @@ -154,6 +154,7 @@ impl Interpreter<'_, '_> { "function_def_set_unconstrained" => { function_def_set_unconstrained(self, arguments, location) } + "function_def_visibility" => function_def_visibility(interner, arguments, location), "module_add_item" => module_add_item(self, arguments, location), "module_eq" => module_eq(arguments, location), "module_functions" => module_functions(self, arguments, location), @@ -2830,6 +2831,18 @@ fn function_def_set_unconstrained( Ok(Value::Unit) } +// fn visibility(self) -> Quoted +fn function_def_visibility( + interner: &NodeInterner, + arguments: Vec<(Value, Location)>, + location: Location, +) -> IResult { + let self_argument = check_one_argument(arguments, location)?; + let func_id = get_function_def(self_argument)?; + let visibility = interner.function_visibility(func_id); + Ok(visibility_to_quoted(visibility, location)) +} + // fn add_item(self, item: Quoted) fn module_add_item( interpreter: &mut Interpreter, diff --git a/docs/docs/noir/standard_library/meta/function_def.md b/docs/docs/noir/standard_library/meta/function_def.md index ad6212b8e36..c6c49a3bcec 100644 --- a/docs/docs/noir/standard_library/meta/function_def.md +++ b/docs/docs/noir/standard_library/meta/function_def.md @@ -113,6 +113,15 @@ Mutates the function to be unconstrained (if `true` is given) or not (if `false` This is only valid on functions in the current crate which have not yet been resolved. This means any functions called at compile-time are invalid targets for this method. +### visibility + +#include_code visibility noir_stdlib/src/meta/function_def.nr rust + +Returns the function's visibility as a `Quoted` value, which will be one of: +- `quote { }`: the function is private +- `quote { pub }`: the function is `pub` +- `quote { pub(crate) }`: the function is `pub(crate)` + ## Trait Implementations ```rust diff --git a/noir_stdlib/src/meta/function_def.nr b/noir_stdlib/src/meta/function_def.nr index e68e17cc1ac..5e2c81e6e27 100644 --- a/noir_stdlib/src/meta/function_def.nr +++ b/noir_stdlib/src/meta/function_def.nr @@ -71,6 +71,11 @@ impl FunctionDefinition { // docs:start:set_unconstrained pub comptime fn set_unconstrained(self, value: bool) {} // docs:end:set_unconstrained + + #[builtin(function_def_visibility)] + // docs:start:visibility + pub comptime fn visibility(self) -> Quoted {} + // docs:end:visibility } impl crate::hash::Hash for FunctionDefinition { diff --git a/test_programs/compile_success_empty/comptime_function_definition/src/main.nr b/test_programs/compile_success_empty/comptime_function_definition/src/main.nr index 59b0ee70f7a..f29a0522023 100644 --- a/test_programs/compile_success_empty/comptime_function_definition/src/main.nr +++ b/test_programs/compile_success_empty/comptime_function_definition/src/main.nr @@ -22,6 +22,9 @@ pub fn foo( #[check_named_attribute] fn some_test() {} +#[check_visibility] +pub(crate) fn pub_crate_fn() {} + comptime fn function_attr(f: FunctionDefinition) { // Check FunctionDefinition::parameters let parameters = f.parameters(); @@ -48,11 +51,18 @@ comptime fn function_attr(f: FunctionDefinition) { assert_eq(f.name(), quote { foo }); assert(f.has_named_attribute("function_attr")); + + assert_eq(f.visibility(), quote { pub }) } comptime fn check_named_attribute(f: FunctionDefinition) { assert(f.has_named_attribute("test")); assert(f.has_named_attribute("deprecated")); + assert_eq(f.visibility(), quote { }) +} + +comptime fn check_visibility(f: FunctionDefinition) { + assert_eq(f.visibility(), quote { pub(crate) }) } #[mutate_add_one] @@ -75,6 +85,7 @@ comptime fn mutate_add_one(f: FunctionDefinition) { fn main() { assert_eq(add_one(41), 42); + pub_crate_fn(); } contract some_contract { diff --git a/tooling/nargo_cli/tests/snapshots/compile_success_empty/arithmetic_generics/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/compile_success_empty/arithmetic_generics/execute__tests__expanded.snap index 4c71b503157..6e52cb836cf 100644 --- a/tooling/nargo_cli/tests/snapshots/compile_success_empty/arithmetic_generics/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/compile_success_empty/arithmetic_generics/execute__tests__expanded.snap @@ -24,8 +24,8 @@ fn split_first(array: [T; N]) -> (T, [T; N - 1]) { fn push(array: [Field; N], element: Field) -> [Field; N + 1] { let mut result: [Field; N + 1] = std::mem::zeroed(); { - let i_3842: u32 = array.len(); - result[i_3842] = element; + let i_3844: u32 = array.len(); + result[i_3844] = element; }; for i in 0_u32..array.len() { result[i] = array[i]; diff --git a/tooling/nargo_cli/tests/snapshots/compile_success_empty/assign_mutation_in_lvalue/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/compile_success_empty/assign_mutation_in_lvalue/execute__tests__expanded.snap index c040142ec7a..fb84c5e988e 100644 --- a/tooling/nargo_cli/tests/snapshots/compile_success_empty/assign_mutation_in_lvalue/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/compile_success_empty/assign_mutation_in_lvalue/execute__tests__expanded.snap @@ -10,11 +10,11 @@ fn main() { fn bug() { let mut a: ([Field; 2], Field) = ([1_Field, 2_Field], 3_Field); { - let i_3811: u32 = { + let i_3813: u32 = { a = ([4_Field, 5_Field], 6_Field); 1_u32 }; - a.0[i_3811] = 7_Field; + a.0[i_3813] = 7_Field; }; assert(a == ([4_Field, 7_Field], 6_Field)); } diff --git a/tooling/nargo_cli/tests/snapshots/compile_success_empty/comptime_function_definition/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/compile_success_empty/comptime_function_definition/execute__tests__expanded.snap index f2e2e4c7009..edb59a3705c 100644 --- a/tooling/nargo_cli/tests/snapshots/compile_success_empty/comptime_function_definition/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/compile_success_empty/comptime_function_definition/execute__tests__expanded.snap @@ -24,6 +24,8 @@ pub fn foo( #[deprecated] fn some_test() {} +pub(crate) fn pub_crate_fn() {} + comptime fn function_attr(f: FunctionDefinition) { let parameters: [(Quoted, Type)] = f.parameters(); assert(parameters.len() == 5_u32); @@ -48,11 +50,17 @@ comptime fn function_attr(f: FunctionDefinition) { assert(f.return_type() == type_of(an_i32)); assert(f.name() == quote { foo }); assert(f.has_named_attribute("function_attr")); + assert(f.visibility() == quote { pub }) } comptime fn check_named_attribute(f: FunctionDefinition) { assert(f.has_named_attribute("test")); assert(f.has_named_attribute("deprecated")); + assert(f.visibility() == quote { }) +} + +comptime fn check_visibility(f: FunctionDefinition) { + assert(f.visibility() == quote { pub(crate) }) } fn add_one(x: Field) -> Field { @@ -71,6 +79,7 @@ comptime fn mutate_add_one(f: FunctionDefinition) { fn main() { assert(add_one(41_Field) == 42_Field); + pub_crate_fn(); } contract some_contract { diff --git a/tooling/nargo_cli/tests/snapshots/compile_success_empty/numeric_generics/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/compile_success_empty/numeric_generics/execute__tests__expanded.snap index 74d940f775d..e8f45f07d57 100644 --- a/tooling/nargo_cli/tests/snapshots/compile_success_empty/numeric_generics/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/compile_success_empty/numeric_generics/execute__tests__expanded.snap @@ -27,8 +27,8 @@ impl MyStruct { fn insert(mut self, index: Field, elem: Field) -> Self { assert((index as u64) < (S as u64)); { - let i_3825: u32 = index as u32; - self.data[i_3825] = elem; + let i_3827: u32 = index as u32; + self.data[i_3827] = elem; }; self } diff --git a/tooling/nargo_cli/tests/snapshots/compile_success_empty/numeric_generics_explicit/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/compile_success_empty/numeric_generics_explicit/execute__tests__expanded.snap index 0f7fade4686..f48edbaa438 100644 --- a/tooling/nargo_cli/tests/snapshots/compile_success_empty/numeric_generics_explicit/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/compile_success_empty/numeric_generics_explicit/execute__tests__expanded.snap @@ -36,8 +36,8 @@ impl MyStruct { fn insert(mut self, index: Field, elem: Field) -> Self { assert((index as u32) < S); { - let i_3843: u32 = index as u32; - self.data[i_3843] = elem; + let i_3845: u32 = index as u32; + self.data[i_3845] = elem; }; self } diff --git a/tooling/nargo_cli/tests/snapshots/compile_success_empty/regression_bignum/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/compile_success_empty/regression_bignum/execute__tests__expanded.snap index 8dcc3b5f93b..27f3b3b09dc 100644 --- a/tooling/nargo_cli/tests/snapshots/compile_success_empty/regression_bignum/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/compile_success_empty/regression_bignum/execute__tests__expanded.snap @@ -53,8 +53,8 @@ unconstrained fn shl(shift: u32) -> [u64; 6] { result[num_shifted_limbs] = 1_u64 << limb_shift; for i in 1_u32..6_u32 - num_shifted_limbs { { - let i_3832: u32 = i + num_shifted_limbs; - result[i_3832] = 0_u64; + let i_3834: u32 = i + num_shifted_limbs; + result[i_3834] = 0_u64; } } result diff --git a/tooling/nargo_cli/tests/snapshots/compile_success_empty/serialize_1/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/compile_success_empty/serialize_1/execute__tests__expanded.snap index 8476e6a6424..f0a1761a163 100644 --- a/tooling/nargo_cli/tests/snapshots/compile_success_empty/serialize_1/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/compile_success_empty/serialize_1/execute__tests__expanded.snap @@ -25,8 +25,8 @@ where } for i in 0_u32..b.len() { { - let i_3834: u32 = i + a.len(); - array[i_3834] = b[i]; + let i_3836: u32 = i + a.len(); + array[i_3836] = b[i]; } } array diff --git a/tooling/nargo_cli/tests/snapshots/compile_success_empty/serialize_4/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/compile_success_empty/serialize_4/execute__tests__expanded.snap index e1ef52bbebc..7d7870fd3fb 100644 --- a/tooling/nargo_cli/tests/snapshots/compile_success_empty/serialize_4/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/compile_success_empty/serialize_4/execute__tests__expanded.snap @@ -25,8 +25,8 @@ where } for i in 0_u32..b.len() { { - let i_3834: u32 = i + a.len(); - array[i_3834] = b[i]; + let i_3836: u32 = i + a.len(); + array[i_3836] = b[i]; } } array diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/aes128_encrypt/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/aes128_encrypt/execute__tests__expanded.snap index 9a982e0ee41..303888b8ee8 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/aes128_encrypt/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/aes128_encrypt/execute__tests__expanded.snap @@ -18,8 +18,8 @@ unconstrained fn decode_hex(s: str) -> [u8; M] { for i in 0_u32..N { if (i % 2_u32) != 0_u32 { continue; }; { - let i_3826: u32 = i / 2_u32; - result[i_3826] = + let i_3828: u32 = i / 2_u32; + result[i_3828] = (decode_ascii(as_bytes[i]) * 16_u8) + decode_ascii(as_bytes[i + 1_u32]); } } diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/array_dedup_regression/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/array_dedup_regression/execute__tests__expanded.snap index 8575fe82c2e..23c4d3a03f7 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/array_dedup_regression/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/array_dedup_regression/execute__tests__expanded.snap @@ -7,8 +7,8 @@ unconstrained fn main(x: u32) { for i in 0_u32..5_u32 { let mut a2: [Field; 5] = [1_Field, 2_Field, 3_Field, 4_Field, 5_Field]; { - let i_3813: u32 = x + i; - a2[i_3813] = 128_Field; + let i_3815: u32 = x + i; + a2[i_3815] = 128_Field; }; println(a2); if i != 0_u32 { diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/array_dynamic_blackbox_input/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/array_dynamic_blackbox_input/execute__tests__expanded.snap index 06545c1c8fa..7c1831e5cb5 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/array_dynamic_blackbox_input/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/array_dynamic_blackbox_input/execute__tests__expanded.snap @@ -17,12 +17,12 @@ fn compute_root(leaf: [u8; 32], path: [u8; 64], _index: u32, root: [u8; 32]) { let b: u32 = if is_right { 0_u32 } else { 32_u32 }; for j in 0_u32..32_u32 { { - let i_3827: u32 = j + a; - hash_input[i_3827] = current[j]; + let i_3829: u32 = j + a; + hash_input[i_3829] = current[j]; }; { - let i_3828: u32 = j + b; - hash_input[i_3828] = path[offset + j]; + let i_3830: u32 = j + b; + hash_input[i_3830] = path[offset + j]; } } current = std::hash::blake3(hash_input); diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/array_dynamic_nested_blackbox_input/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/array_dynamic_nested_blackbox_input/execute__tests__expanded.snap index 67fb150b951..582038a5408 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/array_dynamic_nested_blackbox_input/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/array_dynamic_nested_blackbox_input/execute__tests__expanded.snap @@ -14,13 +14,13 @@ struct Foo { fn main(mut x: [Foo; 3], y: pub u32, hash_result: pub [u8; 32]) { { - let i_3812: u32 = y - 1_u32; - x[i_3812].bar.inner = [106_u8, 107_u8, 10_u8]; + let i_3814: u32 = y - 1_u32; + x[i_3814].bar.inner = [106_u8, 107_u8, 10_u8]; }; let mut hash_input: [u8; 3] = x[y - 1_u32].bar.inner; { - let i_3814: u32 = y - 1_u32; - hash_input[i_3814] = 0_u8; + let i_3816: u32 = y - 1_u32; + hash_input[i_3816] = 0_u8; }; let hash: [u8; 32] = std::hash::blake3(hash_input); assert(hash == hash_result); diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/brillig_cow/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/brillig_cow/execute__tests__expanded.snap index 201759621fe..c74c239a8b3 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/brillig_cow/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/brillig_cow/execute__tests__expanded.snap @@ -22,8 +22,8 @@ fn modify_in_inlined_constrained(original: [Field; 5], index: u32) -> ExecutionR modified[index] = 27_Field; let modified_once: [Field; 5] = modified; { - let i_3824: u32 = index + 1_u32; - modified[i_3824] = 27_Field; + let i_3826: u32 = index + 1_u32; + modified[i_3826] = 27_Field; }; ExecutionResult { original: original, modified_once: modified_once, modified_twice: modified } } @@ -33,8 +33,8 @@ unconstrained fn modify_in_unconstrained(original: [Field; 5], index: u32) -> Ex modified[index] = 27_Field; let modified_once: [Field; 5] = modified; { - let i_3827: u32 = index + 1_u32; - modified[i_3827] = 27_Field; + let i_3829: u32 = index + 1_u32; + modified[i_3829] = 27_Field; }; ExecutionResult { original: original, modified_once: modified_once, modified_twice: modified } } diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/brillig_cow_regression/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/brillig_cow_regression/execute__tests__expanded.snap index 976a5b93d0c..574f62caa63 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/brillig_cow_regression/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/brillig_cow_regression/execute__tests__expanded.snap @@ -149,33 +149,33 @@ unconstrained fn main(kernel_data: DataToHash) -> pub [Field; 2] { let mut offset: u32 = 0_u32; for j in 0_u32..MAX_NOTE_HASHES_PER_TX { { - let i_3836: u32 = offset + j; - tx_effects_hash_inputs[i_3836] = new_note_hashes[j]; + let i_3838: u32 = offset + j; + tx_effects_hash_inputs[i_3838] = new_note_hashes[j]; } } offset = offset + MAX_NOTE_HASHES_PER_TX; for j in 0_u32..MAX_NULLIFIERS_PER_TX { { - let i_3838: u32 = offset + j; - tx_effects_hash_inputs[i_3838] = new_nullifiers[j]; + let i_3840: u32 = offset + j; + tx_effects_hash_inputs[i_3840] = new_nullifiers[j]; } } offset = offset + MAX_NULLIFIERS_PER_TX; for j in 0_u32..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX { { - let i_3840: u32 = offset + (j * 2_u32); - tx_effects_hash_inputs[i_3840] = public_data_update_requests[j].leaf_slot; + let i_3842: u32 = offset + (j * 2_u32); + tx_effects_hash_inputs[i_3842] = public_data_update_requests[j].leaf_slot; }; { - let i_3841: u32 = (offset + (j * 2_u32)) + 1_u32; - tx_effects_hash_inputs[i_3841] = public_data_update_requests[j].new_value; + let i_3843: u32 = (offset + (j * 2_u32)) + 1_u32; + tx_effects_hash_inputs[i_3843] = public_data_update_requests[j].new_value; } } offset = offset + (MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX * 2_u32); for j in 0_u32..MAX_L2_TO_L1_MSGS_PER_TX { { - let i_3843: u32 = offset + j; - tx_effects_hash_inputs[i_3843] = l2ToL1Msgs[j]; + let i_3845: u32 = offset + j; + tx_effects_hash_inputs[i_3845] = l2ToL1Msgs[j]; } } offset = offset + MAX_L2_TO_L1_MSGS_PER_TX; @@ -185,21 +185,21 @@ unconstrained fn main(kernel_data: DataToHash) -> pub [Field; 2] { let new_contracts: [NewContractData; 1] = kernel_data.new_contracts; tx_effects_hash_inputs[offset] = new_contracts[0_u32].contract_address; { - let i_3846: u32 = offset + 1_u32; - tx_effects_hash_inputs[i_3846] = new_contracts[0_u32].portal_contract_address; + let i_3848: u32 = offset + 1_u32; + tx_effects_hash_inputs[i_3848] = new_contracts[0_u32].portal_contract_address; }; offset = offset + (MAX_NEW_CONTRACTS_PER_TX * 2_u32); for j in 0_u32..NUM_FIELDS_PER_SHA256 { { - let i_3848: u32 = offset + j; - tx_effects_hash_inputs[i_3848] = encryptedLogsHash[j]; + let i_3850: u32 = offset + j; + tx_effects_hash_inputs[i_3850] = encryptedLogsHash[j]; } } offset = offset + (NUM_ENCRYPTED_LOGS_HASHES_PER_TX * NUM_FIELDS_PER_SHA256); for j in 0_u32..NUM_FIELDS_PER_SHA256 { { - let i_3850: u32 = offset + j; - tx_effects_hash_inputs[i_3850] = unencryptedLogsHash[j]; + let i_3852: u32 = offset + j; + tx_effects_hash_inputs[i_3852] = unencryptedLogsHash[j]; } } offset = offset + (NUM_UNENCRYPTED_LOGS_HASHES_PER_TX * NUM_FIELDS_PER_SHA256); @@ -209,8 +209,8 @@ unconstrained fn main(kernel_data: DataToHash) -> pub [Field; 2] { let input_as_bytes: [u8; 32] = tx_effects_hash_inputs[offset].to_be_bytes(); for byte_index in 0_u32..32_u32 { { - let i_3855: u32 = (offset * 32_u32) + byte_index; - hash_input_flattened[i_3855] = input_as_bytes[byte_index]; + let i_3857: u32 = (offset * 32_u32) + byte_index; + hash_input_flattened[i_3857] = input_as_bytes[byte_index]; } } } @@ -219,11 +219,11 @@ unconstrained fn main(kernel_data: DataToHash) -> pub [Field; 2] { tx_effects_hash_inputs[TX_EFFECT_HASH_FULL_FIELDS + log_field_index].to_be_bytes(); for byte_index in 0_u32..16_u32 { { - let i_3859: u32 = ( + let i_3861: u32 = ( (TX_EFFECT_HASH_FULL_FIELDS * 32_u32) + (log_field_index * 16_u32) ) + byte_index; - hash_input_flattened[i_3859] = input_as_bytes[byte_index]; + hash_input_flattened[i_3861] = input_as_bytes[byte_index]; } } } diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/conditional_1/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/conditional_1/execute__tests__expanded.snap index 883ea927eaa..6c75c2c3b22 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/conditional_1/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/conditional_1/execute__tests__expanded.snap @@ -27,8 +27,8 @@ fn main(a: u32, mut c: [u32; 4], x: [u8; 5], result: pub [u8; 32]) { if i_u32 == a { for j in 0_u32..4_u32 { { - let i_3825: u32 = i + j; - data[i_3825] = c[(4_u32 - 1_u32) - j]; + let i_3827: u32 = i + j; + data[i_3827] = c[(4_u32 - 1_u32) - j]; }; for k in 0_u32..4_u32 { ba = ba + data[k]; diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/databus_two_calldata/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/databus_two_calldata/execute__tests__expanded.snap index 19f9013ea21..bc25c7553dd 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/databus_two_calldata/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/databus_two_calldata/execute__tests__expanded.snap @@ -9,8 +9,8 @@ fn main(mut x: [u32; 4], y: [u32; 3], z: [u32; 4]) -> return_data [u32; 4] { result[idx] = y[idx] + z[idx]; } { - let i_3815: u32 = x[3_u32]; - result[i_3815] = z[x[3_u32]]; + let i_3817: u32 = x[3_u32]; + result[i_3817] = z[x[3_u32]]; }; result } diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/encrypted_log_regression/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/encrypted_log_regression/execute__tests__expanded.snap index dc8141c7a23..8385784e498 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/encrypted_log_regression/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/encrypted_log_regression/execute__tests__expanded.snap @@ -39,15 +39,15 @@ fn compute_encrypted_log( if flag { for i in 0_u32..EPH_PK_SIZE { { - let i_3828: u32 = offset + i; - encrypted_bytes[i_3828] = eph_pk_bytes[i]; + let i_3830: u32 = offset + i; + encrypted_bytes[i_3830] = eph_pk_bytes[i]; } } offset = offset + EPH_PK_SIZE; for i in 0_u32..HEADER_SIZE { { - let i_3830: u32 = offset + i; - encrypted_bytes[i_3830] = incoming_header_ciphertext[i]; + let i_3832: u32 = offset + i; + encrypted_bytes[i_3832] = incoming_header_ciphertext[i]; } } offset = offset + HEADER_SIZE; @@ -56,8 +56,8 @@ fn compute_encrypted_log( assert(size == incoming_body_ciphertext.len(), "ciphertext length mismatch"); for i in 0_u32..size { { - let i_3833: u32 = offset + i; - encrypted_bytes[i_3833] = incoming_body_ciphertext[i]; + let i_3835: u32 = offset + i; + encrypted_bytes[i_3835] = incoming_body_ciphertext[i]; } } }; diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/nested_array_dynamic/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/nested_array_dynamic/execute__tests__expanded.snap index 2143ebab75e..0ec40f45299 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/nested_array_dynamic/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/nested_array_dynamic/execute__tests__expanded.snap @@ -35,13 +35,13 @@ fn main(mut x: [Foo; 4], y: pub u32) { assert(x[3_u32].a == 50_Field); if y == 2_u32 { { - let i_3811: u32 = y - 1_u32; - x[i_3811].b = [50_Field, 51_Field, 52_Field]; + let i_3813: u32 = y - 1_u32; + x[i_3813].b = [50_Field, 51_Field, 52_Field]; } } else { { - let i_3812: u32 = y - 1_u32; - x[i_3812].b = [100_Field, 101_Field, 102_Field]; + let i_3814: u32 = y - 1_u32; + x[i_3814].b = [100_Field, 101_Field, 102_Field]; } }; assert(x[2_u32].b == [100_Field, 101_Field, 102_Field]); @@ -60,39 +60,39 @@ fn main(mut x: [Foo; 4], y: pub u32) { assert(foo_parents[1_u32].foos[1_u32].b == [5_Field, 6_Field, 21_Field]); if y == 2_u32 { { - let i_3816: u32 = y - 2_u32; - let i_3817: u32 = y - 2_u32; - foo_parents[i_3816].foos[i_3817].b = [10_Field, 9_Field, 8_Field]; + let i_3818: u32 = y - 2_u32; + let i_3819: u32 = y - 2_u32; + foo_parents[i_3818].foos[i_3819].b = [10_Field, 9_Field, 8_Field]; } } else { { - let i_3818: u32 = y - 2_u32; - let i_3819: u32 = y - 2_u32; - foo_parents[i_3818].foos[i_3819].b = [20_Field, 19_Field, 18_Field]; + let i_3820: u32 = y - 2_u32; + let i_3821: u32 = y - 2_u32; + foo_parents[i_3820].foos[i_3821].b = [20_Field, 19_Field, 18_Field]; } }; assert(foo_parents[1_u32].foos[1_u32].b == [20_Field, 19_Field, 18_Field]); assert(foo_parents[1_u32].foos[1_u32].b[2_u32] == 18_Field); if y == 3_u32 { { - let i_3820: u32 = y - 2_u32; - let i_3821: u32 = y - 2_u32; - let i_3822: u32 = y - 1_u32; - foo_parents[i_3820].foos[i_3821].b[i_3822] = 5000_Field; + let i_3822: u32 = y - 2_u32; + let i_3823: u32 = y - 2_u32; + let i_3824: u32 = y - 1_u32; + foo_parents[i_3822].foos[i_3823].b[i_3824] = 5000_Field; } } else { { - let i_3823: u32 = y - 2_u32; - let i_3824: u32 = y - 2_u32; - let i_3825: u32 = y - 1_u32; - foo_parents[i_3823].foos[i_3824].b[i_3825] = 1000_Field; + let i_3825: u32 = y - 2_u32; + let i_3826: u32 = y - 2_u32; + let i_3827: u32 = y - 1_u32; + foo_parents[i_3825].foos[i_3826].b[i_3827] = 1000_Field; } }; assert(foo_parents[1_u32].foos[1_u32].b[2_u32] == 5000_Field); { - let i_3826: u32 = y - 2_u32; - let i_3827: u32 = y - 3_u32; - foo_parents[i_3826].foos[i_3827].b = foo_parents[y - 2_u32].foos[y - 2_u32].b; + let i_3828: u32 = y - 2_u32; + let i_3829: u32 = y - 3_u32; + foo_parents[i_3828].foos[i_3829].b = foo_parents[y - 2_u32].foos[y - 2_u32].b; }; assert(foo_parents[1_u32].foos[0_u32].b == [20_Field, 19_Field, 5000_Field]); } diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/nested_array_in_slice/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/nested_array_in_slice/execute__tests__expanded.snap index 7381831cd26..b05333eead8 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/nested_array_in_slice/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/nested_array_in_slice/execute__tests__expanded.snap @@ -48,25 +48,25 @@ fn main(y: u32) { assert(x[y].bar.inner == [109_Field, 110_Field, 111_Field]); if y != 2_u32 { { - let i_3815: u32 = y - 2_u32; - x[i_3815].a = 50_Field; + let i_3817: u32 = y - 2_u32; + x[i_3817].a = 50_Field; } } else { { - let i_3816: u32 = y - 2_u32; - x[i_3816].a = 100_Field; + let i_3818: u32 = y - 2_u32; + x[i_3818].a = 100_Field; } }; assert(x[y - 2_u32].a == 50_Field); if y == 2_u32 { { - let i_3817: u32 = y - 1_u32; - x[i_3817].b = [50_Field, 51_Field, 52_Field]; + let i_3819: u32 = y - 1_u32; + x[i_3819].b = [50_Field, 51_Field, 52_Field]; } } else { { - let i_3818: u32 = y - 1_u32; - x[i_3818].b = [100_Field, 101_Field, 102_Field]; + let i_3820: u32 = y - 1_u32; + x[i_3820].b = [100_Field, 101_Field, 102_Field]; } }; assert(x[2_u32].b == [100_Field, 101_Field, 102_Field]); diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/ram_blowup_regression/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/ram_blowup_regression/execute__tests__expanded.snap index 20bc25ee9ab..8706693285f 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/ram_blowup_regression/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/ram_blowup_regression/execute__tests__expanded.snap @@ -29,8 +29,8 @@ fn main(tx_effects_hash_input: [Field; 256]) -> pub Field { let input_as_bytes: [u8; 32] = tx_effects_hash_input[offset].to_be_bytes(); for byte_index in 0_u32..32_u32 { { - let i_3826: u32 = (offset * 32_u32) + byte_index; - hash_input_flattened[i_3826] = input_as_bytes[byte_index]; + let i_3828: u32 = (offset * 32_u32) + byte_index; + hash_input_flattened[i_3828] = input_as_bytes[byte_index]; } } } diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_1144_1169_2399_6609/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_1144_1169_2399_6609/execute__tests__expanded.snap index f7d6c3ae963..ec437ba1945 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_1144_1169_2399_6609/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_1144_1169_2399_6609/execute__tests__expanded.snap @@ -36,12 +36,12 @@ fn compact_decode(input: [u8; N], length: Field) -> ([U4; 16], Field if (i as u32) < (length as u32) { let x: u8 = input[i]; { - let i_3837: u32 = (2_u32 * i) - 1_u32; - nibble[i_3837] = U4::from_u8(x >> 4_u8); + let i_3839: u32 = (2_u32 * i) - 1_u32; + nibble[i_3839] = U4::from_u8(x >> 4_u8); }; { - let i_3838: u32 = 2_u32 * i; - nibble[i_3838] = U4::from_u8(x & 15_u8); + let i_3840: u32 = 2_u32 * i; + nibble[i_3840] = U4::from_u8(x & 15_u8); } } } @@ -50,12 +50,12 @@ fn compact_decode(input: [u8; N], length: Field) -> ([U4; 16], Field if (i as u32) < ((length as u32) - 1_u32) { let x: u8 = input[i + 1_u32]; { - let i_3841: u32 = 2_u32 * i; - nibble[i_3841] = U4::from_u8(x >> 4_u8); + let i_3843: u32 = 2_u32 * i; + nibble[i_3843] = U4::from_u8(x >> 4_u8); }; { - let i_3842: u32 = (2_u32 * i) + 1_u32; - nibble[i_3842] = U4::from_u8(x & 15_u8); + let i_3844: u32 = (2_u32 * i) + 1_u32; + nibble[i_3844] = U4::from_u8(x & 15_u8); } } } diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_6674_1/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_6674_1/execute__tests__expanded.snap index 6d1439a38a5..85e14f30388 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_6674_1/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_6674_1/execute__tests__expanded.snap @@ -16,8 +16,8 @@ impl BoundedVec4 { pub fn push(&mut self, elem: Field) { { - let i_3831: u32 = self.len; - self.storage[i_3831] = elem; + let i_3833: u32 = self.len; + self.storage[i_3833] = elem; }; self.len = self.len + 1_u32; } diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_6674_2/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_6674_2/execute__tests__expanded.snap index b3bf1c51261..c5925ebb4b7 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_6674_2/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_6674_2/execute__tests__expanded.snap @@ -16,8 +16,8 @@ impl BoundedVec4 { pub fn push(&mut self, elem: Field) { { - let i_3831: u32 = self.len; - self.storage[i_3831] = elem; + let i_3833: u32 = self.len; + self.storage[i_3833] = elem; }; self.len = self.len + 1_u32; } diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_capacity_tracker/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_capacity_tracker/execute__tests__expanded.snap index 750ffb7b276..cef74b865a9 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_capacity_tracker/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_capacity_tracker/execute__tests__expanded.snap @@ -8,13 +8,13 @@ fn main(expected: pub Field, first: Field, input: [Field; 20]) { assert(hasher_slice[0_u32] == expected); if (expected as u32) > 10_u32 { { - let i_3813: u32 = (expected - 10_Field) as u32; - hasher_slice[i_3813] = 100_Field; + let i_3815: u32 = (expected - 10_Field) as u32; + hasher_slice[i_3815] = 100_Field; } } else { { - let i_3814: u32 = expected as u32; - hasher_slice[i_3814] = 100_Field; + let i_3816: u32 = expected as u32; + hasher_slice[i_3816] = 100_Field; } }; assert(hasher_slice[0_u32] == expected); diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/slice_dynamic_index/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/slice_dynamic_index/execute__tests__expanded.snap index b73a67cd310..59385b45d4a 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/slice_dynamic_index/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/slice_dynamic_index/execute__tests__expanded.snap @@ -36,8 +36,8 @@ fn dynamic_slice_index_set_if(mut slice: [Field], x: u32, y: u32) { assert(slice[x] == 4_Field); slice[x] = slice[x] - 2_Field; { - let i_3857: u32 = x - 1_u32; - slice[i_3857] = slice[x]; + let i_3859: u32 = x - 1_u32; + slice[i_3859] = slice[x]; } } else { slice[x] = 0_Field; @@ -56,8 +56,8 @@ fn dynamic_slice_index_set_else(mut slice: [Field], x: u32, y: u32) { assert(slice[x] == 4_Field); slice[x] = slice[x] - 2_Field; { - let i_3858: u32 = x - 1_u32; - slice[i_3858] = slice[x]; + let i_3860: u32 = x - 1_u32; + slice[i_3860] = slice[x]; } } else { slice[x] = 0_Field;