fix(nix_oracle): update thunked_formals_fallback_name_resolution_literal

This was using a constant, which is fine to eagerly evaluate (as it
is constant, saves thunking and won't cause any observable side-effects).

Nix probably started eagerly evaluating these at some point, and after
some discussion with Robert and Raito, it looks like this is fine and
Lix (where it still is lazy right now) might be open to backport it.

Change the testcase to be a bit more complicated (using `12 + 1`
instead of `12`), which still tests what the test wants to primarily
test, without failing on these (irrelevant) changes in laziness.

This means we don't need to pull in a specific version of Nix in our
shell.
This fixes seeing nix build logs while in the tvix-shell, which was
broken on machines not running Nix 2.3.

Fixes: https://git.snix.dev/snix/snix/issues/18
See-Also: https://github.com/NixOS/nix/issues/12666
Change-Id: Ib7f53bc7ddd8b9f474aecd5315bbfd0599285752
Reviewed-on: https://cl.snix.dev/c/snix/+/30090
Reviewed-by: Ryan Lahfa <masterancpp@gmail.com>
Autosubmit: Florian Klink <flokli@flokli.de>
Tested-by: besadii
This commit is contained in:
Florian Klink 2025-03-17 19:18:50 +00:00 committed by clbot
parent bca46bf1cf
commit 64f8cb1400
2 changed files with 1 additions and 2 deletions

View file

@ -175,5 +175,5 @@ compare_lazy_eval_tests! {
unthunked_formals_fallback_literal("({ foo ? 12 }: [ foo ]) { }");
unthunked_formals_fallback_string_literal("({ foo ? \"wiggly\" }: [ foo ]) { }");
thunked_formals_fallback_application("({ foo ? builtins.add 1 2 }: [ foo ]) { }");
thunked_formals_fallback_name_resolution_literal("({ foo ? bar, bar ? 12 }: [ foo ]) { }");
thunked_formals_fallback_name_resolution_literal("({ foo ? bar, bar ? 12 + 1 }: [ foo ]) { }");
}

View file

@ -48,7 +48,6 @@ pkgs.mkShell {
pkgs.mdbook-admonish
pkgs.mdbook-d2
pkgs.mdbook-plantuml
pkgs.nix_2_3 # b/313
pkgs.pkg-config
pkgs.rust-analyzer
pkgs.rustc