Files
lix/tests/functional2/lang/attrs-dynamic/eval-fail-infrec.err.exp
T
piegames f289462c59 eval: Don't expose partially constructed sets
This turns several instances of unsoundness into runtime infinite
recursion errors

Fixes https://github.com/NixOS/nix/issues/7012,
https://github.com/NixOS/nix/issues/3241

Change-Id: Id8d352c5a78ef08d8913f07fe83f55c875684714
2026-01-31 15:32:27 +01:00

51 lines
1.7 KiB
Plaintext

error:
… from call site
at /pwd/in.nix:4:11:
3| b = { ${lenName a} = null; };
4| a = { ${lenName b} = null; };
| ^
5|
… while calling 'lenName'
at /pwd/in.nix:2:13:
1| let
2| lenName = x: toString (builtins.length (builtins.attrNames x));
| ^
3| b = { ${lenName a} = null; };
… while calling the 'toString' builtin
at /pwd/in.nix:2:16:
1| let
2| lenName = x: toString (builtins.length (builtins.attrNames x));
| ^
3| b = { ${lenName a} = null; };
… while calling the 'length' builtin
at /pwd/in.nix:2:26:
1| let
2| lenName = x: toString (builtins.length (builtins.attrNames x));
| ^
3| b = { ${lenName a} = null; };
… while evaluating the first argument passed to builtins.length
… while calling the 'attrNames' builtin
at /pwd/in.nix:2:43:
1| let
2| lenName = x: toString (builtins.length (builtins.attrNames x));
| ^
3| b = { ${lenName a} = null; };
… while evaluating the argument passed to builtins.attrNames
… from call site
at /pwd/in.nix:3:11:
2| lenName = x: toString (builtins.length (builtins.attrNames x));
3| b = { ${lenName a} = null; };
| ^
4| a = { ${lenName b} = null; };
(6 duplicate frames omitted)
error: infinite recursion encountered