From 889a02ddd64276a062d5d15b819621acc465efa5 Mon Sep 17 00:00:00 2001 From: Anand Krishnamoorthi Date: Fri, 19 Dec 2025 11:12:31 -0600 Subject: [PATCH] fix: Avoid unwrap when accesssing current module Signed-off-by: Anand Krishnamoorthi --- src/interpreter.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/interpreter.rs b/src/interpreter.rs index 8da660a..fe1974a 100644 --- a/src/interpreter.rs +++ b/src/interpreter.rs @@ -2858,7 +2858,8 @@ impl Interpreter { Ok(Self::get_value_chained(self.data.clone(), fields)) } else if !self.compiled_policy.modules.is_empty() { - let path = Parser::get_path_ref_components(&self.module.clone().unwrap().package.refr)?; + let module = self.current_module()?; + let path = Parser::get_path_ref_components(&module.package.refr)?; let mut path: Vec<&str> = path.iter().map(|s| s.text()).collect(); path.push(name.text()); @@ -3036,7 +3037,8 @@ impl Interpreter { } fn make_rule_context(&self, head: &RuleHead) -> Result<(Context, Vec)> { - let mut path = Parser::get_path_ref_components(&self.module.clone().unwrap().package.refr)?; + let module = self.current_module()?; + let mut path = Parser::get_path_ref_components(&module.package.refr)?; match head { RuleHead::Compr { refr, assign, .. } => { let output_expr = assign.as_ref().map(|assign| assign.value.clone()); @@ -3356,8 +3358,8 @@ impl Interpreter { let scopes = core::mem::take(&mut self.scopes); - let mut path = - Parser::get_path_ref_components(&self.module.clone().unwrap().package.refr)?; + let module = self.current_module()?; + let mut path = Parser::get_path_ref_components(&module.package.refr)?; let (refr, index) = match refr.as_ref() { Expr::RefBrack { refr, index, .. } => (refr, Some(index.clone())),