diff --git a/lib/lists.nix b/lib/lists.nix index 4bf732b88c9a..5e224921de81 100644 --- a/lib/lists.nix +++ b/lib/lists.nix @@ -218,12 +218,12 @@ rec { partition (x: x > 2) [ 5 1 2 3 4 ] => { right = [ 5 3 4 ]; wrong = [ 1 2 ]; } */ - partition = pred: + partition = builtins.partition or (pred: fold (h: t: if pred h then { right = [h] ++ t.right; wrong = t.wrong; } else { right = t.right; wrong = [h] ++ t.wrong; } - ) { right = []; wrong = []; }; + ) { right = []; wrong = []; }); /* Merges two lists of the same size together. If the sizes aren't the same the merging stops at the shortest. How both lists are merged is defined