summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lib/lists.nix8
1 files changed, 1 insertions, 7 deletions
diff --git a/lib/lists.nix b/lib/lists.nix
index 6c97e0686aa..06cee2eb112 100644
--- a/lib/lists.nix
+++ b/lib/lists.nix
@@ -640,13 +640,7 @@ rec {
        unique [ 3 2 3 4 ]
        => [ 3 2 4 ]
    */
-  unique = list:
-    if list == [] then
-      []
-    else
-      let
-        x = head list;
-      in [x] ++ unique (remove x list);
+ unique = foldl' (acc: e: if elem e acc then acc else acc ++ [ e ]) [];
 
   /* Intersects list 'e' and another list. O(nm) complexity.