From 52724ea0e0bc7ace21faa49dc1bca1bff61d2d3f Mon Sep 17 00:00:00 2001 From: Kasey White Date: Thu, 19 Jan 2023 01:34:27 -0500 Subject: [PATCH] feat: handle anon zero arg functions. Test 045 --- crates/aiken-lang/src/uplc.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/crates/aiken-lang/src/uplc.rs b/crates/aiken-lang/src/uplc.rs index ef5a74af..0201d490 100644 --- a/crates/aiken-lang/src/uplc.rs +++ b/crates/aiken-lang/src/uplc.rs @@ -3111,8 +3111,9 @@ impl<'a> CodeGenerator<'a> { let term = arg_stack.pop().unwrap(); let zero_arg_functions = self.zero_arg_functions.clone(); + let mut anon_func = true; - if let Term::Var(Name { text, .. }) = term { + if let Term::Var(Name { text, .. }) = term.clone() { for ( FunctionAccessKey { module_name, @@ -3146,9 +3147,13 @@ impl<'a> CodeGenerator<'a> { eval_program.eval(ExBudget::default()).0.unwrap(); arg_stack.push(evaluated_term.try_into().unwrap()); + anon_func = false; } } } + if anon_func { + arg_stack.push(term); + } } } Air::Builtin { func, tipo, .. } => match func {