about summary refs log tree commit diff
path: root/tvix/eval/src/tests/tvix_tests/eval-okay-nested-let-slots.nix
diff options
context:
space:
mode:
Diffstat (limited to 'tvix/eval/src/tests/tvix_tests/eval-okay-nested-let-slots.nix')
-rw-r--r--tvix/eval/src/tests/tvix_tests/eval-okay-nested-let-slots.nix22
1 files changed, 22 insertions, 0 deletions
diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-let-slots.nix b/tvix/eval/src/tests/tvix_tests/eval-okay-nested-let-slots.nix
new file mode 100644
index 0000000000..eec5940875
--- /dev/null
+++ b/tvix/eval/src/tests/tvix_tests/eval-okay-nested-let-slots.nix
@@ -0,0 +1,22 @@
+# This test deals with a tricky edge-case around scopes, where the
+# stack slot accounting must correctly account for the position at
+# which the body of a let expression is being initialised when
+# resolving upvalues.
+
+let
+  a = 1;
+  b = 2;
+  outer =
+    let
+      c = 3;
+      d = 4;
+      inner =
+        let
+          e = 5;
+          f = 6;
+        in
+        g: [ a b c d e f g ];
+    in
+    inner;
+in
+outer 7