This function covers builtins.genericClosure, seemingly including weird behaviour around the order in which the work set is processed. For some reason, in C++ Nix the test expectation is written in XML which we do not yet support, so I have created a new expectation file using `nix-instantiate --eval --strict` on the file (yes, using C++ Nix). Change-Id: Id90e7117d120dc66d963a51083c4d8e8f2d9f181 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7311 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
13 lines
335 B
Nix
13 lines
335 B
Nix
let
|
|
|
|
closure = builtins.genericClosure {
|
|
startSet = [{key = 80;}];
|
|
operator = {key, foo ? false}:
|
|
if builtins.lessThan key 0
|
|
then []
|
|
else [{key = builtins.sub key 9;} {key = builtins.sub key 13; foo = true;}];
|
|
};
|
|
|
|
sort = (import ./lib.nix).sortBy (a: b: builtins.lessThan a.key b.key);
|
|
|
|
in sort closure
|