From 0d7ad5e6d1992d4f80f0ea08fee636b7e34eec59 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Fri, 2 Sep 2022 04:38:37 +0300 Subject: refactor(tvix/eval): pass a VM reference to builtins This makes it possible for builtins to force values on their own, without the VM having to apply a strictness mask to the arguments first. Change-Id: Ib49a94e56ca2a8d515c39647381ab55a727766e3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6411 Reviewed-by: sterni Tested-by: BuildkiteCI --- tvix/eval/src/vm.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tvix/eval/src/vm.rs') diff --git a/tvix/eval/src/vm.rs b/tvix/eval/src/vm.rs index 5fabdb491e..318fc726ab 100644 --- a/tvix/eval/src/vm.rs +++ b/tvix/eval/src/vm.rs @@ -418,7 +418,7 @@ impl VM { Value::Builtin(builtin) => { let arg = self.pop(); - let result = fallible!(self, builtin.apply(arg)); + let result = fallible!(self, builtin.apply(self, arg)); self.push(result); } _ => return Err(self.error(ErrorKind::NotCallable)), -- cgit 1.4.1