about summary refs log tree commit diff
path: root/tvix/eval/src/value/list.rs
diff options
context:
space:
mode:
authorGriffin Smith <root@gws.fyi>2022-09-18T19·13-0400
committerclbot <clbot@tvl.fyi>2022-09-18T22·03+0000
commit0b76ed5615eb48130773abf1e1a949e29b6cbd25 (patch)
tree7f0b94c9d82cfa4bedf3e8a60a58986c81a3ddb5 /tvix/eval/src/value/list.rs
parent915ff5ac2a180cbd736ce8404c46566a14d484ba (diff)
chore(tvix/eval): Pass in VM to nix_eq r/4909
Pass in, but ignore, a mutable reference to the VM to the `nix_eq`
functions, in preparation for using that VM to force thunks during
comparison.

Change-Id: I565435d8dfb33768f930fdb5a6b0fb1365d7e161
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6651
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Diffstat (limited to 'tvix/eval/src/value/list.rs')
-rw-r--r--tvix/eval/src/value/list.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/tvix/eval/src/value/list.rs b/tvix/eval/src/value/list.rs
index 8563c2256f07..81abb3c07e2f 100644
--- a/tvix/eval/src/value/list.rs
+++ b/tvix/eval/src/value/list.rs
@@ -2,6 +2,7 @@
 use std::fmt::Display;
 
 use crate::errors::ErrorKind;
+use crate::vm::VM;
 
 use super::Value;
 
@@ -83,13 +84,13 @@ impl NixList {
     }
 
     /// Compare `self` against `other` for equality using Nix equality semantics
-    pub fn nix_eq(&self, other: &Self) -> Result<bool, ErrorKind> {
+    pub fn nix_eq(&self, other: &Self, vm: &mut VM) -> Result<bool, ErrorKind> {
         if self.len() != other.len() {
             return Ok(false);
         }
 
         for (v1, v2) in self.iter().zip(other.iter()) {
-            if !v1.nix_eq(v2)? {
+            if !v1.nix_eq(v2, vm)? {
                 return Ok(false);
             }
         }