diff --git a/crates/noirc_driver/src/lib.rs b/crates/noirc_driver/src/lib.rs index 9fa5f41c65f..2fbf080ce2d 100644 --- a/crates/noirc_driver/src/lib.rs +++ b/crates/noirc_driver/src/lib.rs @@ -301,8 +301,8 @@ impl Driver { let function_type = ContractFunctionType::new(func_type, func_meta.is_unconstrained); - let is_internal = match func_meta.is_contract_function_internal.is_some() { - true => func_meta.is_contract_function_internal.unwrap(), + let is_internal = match func_meta.is_internal.is_some() { + true => func_meta.is_internal.unwrap(), false => false, }; diff --git a/crates/noirc_frontend/src/hir/resolution/resolver.rs b/crates/noirc_frontend/src/hir/resolution/resolver.rs index 9d7c0cff61d..54e465f7f5f 100644 --- a/crates/noirc_frontend/src/hir/resolution/resolver.rs +++ b/crates/noirc_frontend/src/hir/resolution/resolver.rs @@ -659,7 +659,7 @@ impl<'a> Resolver<'a> { kind: func.kind, attributes, contract_function_type: self.handle_function_type(func), - is_contract_function_internal: self.handle_is_function_internal(func), + is_internal: self.handle_is_function_internal(func), is_unconstrained: func.def.is_unconstrained, location, typ, @@ -706,15 +706,16 @@ impl<'a> Resolver<'a> { } fn handle_is_function_internal(&mut self, func: &NoirFunction) -> Option { -if self.in_contract() { - Some(func.def.is_internal) -} else { - if func.def.is_internal { - self.push_err(ResolverError::ContractFunctionInternalInNormalFunction { - span: func.name_ident().span(), - }); - None -} + if self.in_contract() { + Some(func.def.is_internal) + } else { + if func.def.is_internal { + self.push_err(ResolverError::ContractFunctionInternalInNormalFunction { + span: func.name_ident().span(), + }); + } + None + } } fn declare_numeric_generics(&mut self, params: &[Type], return_type: &Type) { diff --git a/crates/noirc_frontend/src/hir/type_check/mod.rs b/crates/noirc_frontend/src/hir/type_check/mod.rs index 9b6c20284f0..b8bb6c788e9 100644 --- a/crates/noirc_frontend/src/hir/type_check/mod.rs +++ b/crates/noirc_frontend/src/hir/type_check/mod.rs @@ -232,7 +232,7 @@ mod test { attributes: None, location, contract_function_type: None, - is_contract_function_internal: None, + is_internal: None, is_unconstrained: false, typ: Type::Function(vec![Type::field(None), Type::field(None)], Box::new(Type::Unit)), parameters: vec![ diff --git a/crates/noirc_frontend/src/hir_def/function.rs b/crates/noirc_frontend/src/hir_def/function.rs index c654df2dfcd..304772f1d0e 100644 --- a/crates/noirc_frontend/src/hir_def/function.rs +++ b/crates/noirc_frontend/src/hir_def/function.rs @@ -127,7 +127,8 @@ pub struct FuncMeta { /// This function's visibility. /// If this function is internal can only be called by itself. - pub is_contract_function_internal: Option, + /// Will be None if not in contract. + pub is_internal: Option, pub is_unconstrained: bool,