forked from mirrors/nixpkgs
ba3c9df01a
The problem was in builtins.partition call. I've tried to rewrite it with builtins.foldl', but that doesn't help. However replacing it with a pair of builtins.filter calls works. diff --git a/lib/lists.nix b/lib/lists.nix --- a/lib/lists.nix +++ b/lib/lists.nix @@ -242,10 +242,10 @@ rec { => { right = [ 5 3 4 ]; wrong = [ 1 2 ]; } */ partition = builtins.partition or (pred: - foldr (h: t: + builtins.foldl' (t: h: if pred h - then { right = [h] ++ t.right; wrong = t.wrong; } - else { right = t.right; wrong = [h] ++ t.wrong; } + then { right = t.right ++ [h]; wrong = t.wrong; } + else { right = t.right; wrong = t.wrong ++ [h]; } ) { right = []; wrong = []; }); /* Merges two lists of the same size together. If the sizes aren't the same |
||
---|---|---|
.. | ||
admin | ||
archivers | ||
audio | ||
backup | ||
bluetooth | ||
bootloaders/refind | ||
cd-dvd | ||
compression | ||
filesystems | ||
graphics | ||
inputmethods | ||
misc | ||
nagstamon | ||
networking | ||
nix/info | ||
package-management | ||
security | ||
system | ||
text | ||
typesetting | ||
video | ||
virtualization | ||
X11 |