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 similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromjson.exp rename to 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 similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromjson.nix rename to 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 000000000..27ba77dda --- /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 000000000..5dbcb5152 --- /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 c590495b5..ff9dccb0b 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