snix/tvix/eval/src
Adam Joseph 325a7d6fa9 test(tvix/eval): add eval-okay-closure-pointer-compare
This test case checks two things:

* A sanity check that "pointer equality for functions" means not
  just the lambda, but also the upvalues.

* To be pointer-equal, it is not enough for the upvalues to be
  normal-form equal (i.e. `nix_eq()`-equal); the upvalues must be
  *pointer*-equal.  The second part of the test case checks for
  this.

Signed-off-by: Adam Joseph <adam@westernsemico.com>
Change-Id: I4e59327a6f199b8212e97197b212e3c3934bb3f0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7372
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-11-25 00:48:31 +00:00
..
builtins feat(tvix/eval): make NixList::clone() cheap 2022-11-23 13:02:19 +00:00
compiler fix(tvix/eval): Scope.inherit(): fix scope_depth, with_stack_depth 2022-11-05 22:03:41 +00:00
tests test(tvix/eval): add eval-okay-closure-pointer-compare 2022-11-25 00:48:31 +00:00
value feat(tvix/eval): ExactSizeIterator for Iter<KeyValue<'a>> and Keys 2022-11-23 20:33:32 +00:00
chunk.rs fix(tvix/eval): remove impl PartialEq for Value 2022-11-04 00:30:13 +00:00
errors.rs feat(tvix/eval): detect division by zero 2022-11-10 13:12:05 +00:00
eval.rs feat(tvix/eval): builtins.import without RefCell 2022-10-27 21:36:01 +00:00
lib.rs feat(tvix/eval): Give names to builtin arguments 2022-11-08 13:42:37 +00:00
main.rs feat(tvix/eval): Allow directly evaluating an expr via main 2022-10-11 00:33:49 +00:00
nix_search_path.rs fix(tvix): distinguish search- and relative path resolution errors 2022-10-21 00:11:29 +00:00
observer.rs feat(tvix/eval): initial attempt at setting lambda names 2022-10-23 15:58:53 +00:00
opcode.rs fix(tvix/eval): change ordinary (//) to rustdoc-comments (///) 2022-11-05 22:07:42 +00:00
pretty_ast.rs fix(tvix/eval): more faithfully serialise ast::Literal 2022-10-16 23:35:59 +00:00
properties.rs refactor(tvix/eval): Don't (ab)use PartialEq for Nix equality 2022-09-18 22:03:41 +00:00
source.rs feat(tvix/eval): fancy-format parse errors returned by rnix 2022-10-08 17:27:57 +00:00
spans.rs refactor(tvix/eval): implement ToSpan directly for rnix::TextRange 2022-10-08 10:58:42 +00:00
systems.rs fix(tvix/eval): correct wasm32-unknown-unknown to wasm32-none 2022-10-27 23:23:22 +00:00
test_utils.rs test(tvix/eval): Add proof-of-concept test for Chunk 2022-09-18 17:55:06 +00:00
upvalues.rs fix(tvix/eval): remove impl PartialEq for Value 2022-11-04 00:30:13 +00:00
vm.rs feat(tvix/eval): make NixList::clone() cheap 2022-11-23 13:02:19 +00:00
warnings.rs refactor(tvix/eval): introduce source::SourceCode type 2022-10-05 10:29:47 +00:00