From cfe37d36f7977f93dd5b8441d691811bf2b6997b Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Sun, 14 Aug 2022 14:34:53 +0300 Subject: fix(tvix/eval): `or` should handle non-attrset values, too If a nested attrpath encounters a non-set value, the sentinel value denoting a lack of next values should be emitted. This mirrors the behaviour of Nix. Change-Id: Ia80443d5a11243cc6d98dcab1249a3f5fdf77e27 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6210 Reviewed-by: grfn Tested-by: BuildkiteCI --- tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-non-set.exp | 1 + tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-non-set.nix | 2 ++ 2 files changed, 3 insertions(+) create mode 100644 tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-non-set.exp create mode 100644 tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-non-set.nix (limited to 'tvix/eval/src/tests/tvix_tests') diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-non-set.exp b/tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-non-set.exp new file mode 100644 index 000000000000..a833e32892e4 --- /dev/null +++ b/tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-non-set.exp @@ -0,0 +1 @@ +"works fine" diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-non-set.nix b/tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-non-set.nix new file mode 100644 index 000000000000..fd09bfee64c2 --- /dev/null +++ b/tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-non-set.nix @@ -0,0 +1,2 @@ +# `or` operator should keep working if it encounters a non-set type. +{ a.b = 42; }.a.b.c or "works fine" -- cgit 1.4.1