From a906655c04a3cd13a14333cffdbf29d50ea1f8e8 Mon Sep 17 00:00:00 2001 From: Maddiaa0 <47148561+Maddiaa0@users.noreply.github.com> Date: Thu, 31 Aug 2023 13:55:21 +0000 Subject: [PATCH 1/2] feat: imply the open keyword when using a public function --- crates/noirc_frontend/src/hir/def_map/aztec_library.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/crates/noirc_frontend/src/hir/def_map/aztec_library.rs b/crates/noirc_frontend/src/hir/def_map/aztec_library.rs index 42927e16b85..12aa60276ce 100644 --- a/crates/noirc_frontend/src/hir/def_map/aztec_library.rs +++ b/crates/noirc_frontend/src/hir/def_map/aztec_library.rs @@ -212,8 +212,11 @@ fn transform_function(ty: &str, func: &mut NoirFunction) { func.def.return_visibility = Visibility::Public; // Distinct return types are only required for private functions - if ty == "Private" { - func.def.return_distinctness = Distinctness::Distinct; + // Public functions should have open auto-inferred + match ty { + "Private" => func.def.return_distinctness = Distinctness::Distinct, + "Public" => func.def.is_open = true, + _ => (), } } From af13661b76b37efe1543fc97e0f91000e33cf161 Mon Sep 17 00:00:00 2001 From: Maddiaa0 <47148561+Maddiaa0@users.noreply.github.com> Date: Thu, 31 Aug 2023 14:02:05 +0000 Subject: [PATCH 2/2] fix: merge fix --- crates/noirc_frontend/src/hir/def_map/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/noirc_frontend/src/hir/def_map/mod.rs b/crates/noirc_frontend/src/hir/def_map/mod.rs index 66a65c09157..c7cc02b8dac 100644 --- a/crates/noirc_frontend/src/hir/def_map/mod.rs +++ b/crates/noirc_frontend/src/hir/def_map/mod.rs @@ -89,7 +89,7 @@ impl CrateDefMap { let ast = parse_file(&mut context.file_manager, root_file_id, errors); #[cfg(feature = "aztec")] - let ast = aztec_library::transform(ast); + let ast = aztec_library::transform(ast, &crate_id, context, errors); // Allocate a default Module for the root, giving it a ModuleId let mut modules: Arena = Arena::default();