diff options
Diffstat (limited to 'tvix/eval')
-rw-r--r-- | tvix/eval/src/tests/nix_tests/eval-okay-fromjson.exp (renamed from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromjson.exp) | 0 | ||||
-rw-r--r-- | tvix/eval/src/tests/nix_tests/eval-okay-fromjson.nix (renamed from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromjson.nix) | 0 | ||||
-rw-r--r-- | tvix/eval/src/tests/tvix_tests/eval-okay-eq-nested-list.exp | 1 | ||||
-rw-r--r-- | tvix/eval/src/tests/tvix_tests/eval-okay-eq-nested-list.nix | 1 | ||||
-rw-r--r-- | tvix/eval/src/value/mod.rs | 6 |
5 files changed, 5 insertions, 3 deletions
diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromjson.exp b/tvix/eval/src/tests/nix_tests/eval-okay-fromjson.exp index 27ba77ddaf61..27ba77ddaf61 100644 --- a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromjson.exp +++ b/tvix/eval/src/tests/nix_tests/eval-okay-fromjson.exp diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromjson.nix b/tvix/eval/src/tests/nix_tests/eval-okay-fromjson.nix index e1c0f86cc4e4..e1c0f86cc4e4 100644 --- a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromjson.nix +++ b/tvix/eval/src/tests/nix_tests/eval-okay-fromjson.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-eq-nested-list.exp b/tvix/eval/src/tests/tvix_tests/eval-okay-eq-nested-list.exp new file mode 100644 index 000000000000..27ba77ddaf61 --- /dev/null +++ b/tvix/eval/src/tests/tvix_tests/eval-okay-eq-nested-list.exp @@ -0,0 +1 @@ +true diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-eq-nested-list.nix b/tvix/eval/src/tests/tvix_tests/eval-okay-eq-nested-list.nix new file mode 100644 index 000000000000..5dbcb515295b --- /dev/null +++ b/tvix/eval/src/tests/tvix_tests/eval-okay-eq-nested-list.nix @@ -0,0 +1 @@ +[["f" ""]] == [["f" ""]] diff --git a/tvix/eval/src/value/mod.rs b/tvix/eval/src/value/mod.rs index c590495b5344..ff9dccb0b3c2 100644 --- a/tvix/eval/src/value/mod.rs +++ b/tvix/eval/src/value/mod.rs @@ -332,15 +332,15 @@ impl Value { lhs.force(vm)?; rhs.force(vm)?; - Ok(*lhs.value() == *rhs.value()) + lhs.value().nix_eq(&*rhs.value(), vm) } (Value::Thunk(lhs), rhs) => { lhs.force(vm)?; - Ok(&*lhs.value() == rhs) + lhs.value().nix_eq(rhs, vm) } (lhs, Value::Thunk(rhs)) => { rhs.force(vm)?; - Ok(lhs == &*rhs.value()) + lhs.nix_eq(&*rhs.value(), vm) } // Everything else is either incomparable (e.g. internal |