aboutsummaryrefslogtreecommitdiff
path: root/lib/attrsets.nix
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2015-07-23 16:12:25 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2015-07-23 16:49:13 +0200
commit3cd5fd8bb3fc4b824e89cb800716989a332f20f1 (patch)
tree4f872ab4c696f5cc6fe4e3824795f66909d3717e /lib/attrsets.nix
parent2b2e7c27307e8b78d1b211ff0fdba86d558b37eb (diff)
More efficient version of filterAttrs
Diffstat (limited to 'lib/attrsets.nix')
-rw-r--r--lib/attrsets.nix2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/attrsets.nix b/lib/attrsets.nix
index cb4091b916c5..d81d69b14025 100644
--- a/lib/attrsets.nix
+++ b/lib/attrsets.nix
@@ -76,7 +76,7 @@ rec {
=> { foo = 1; }
*/
filterAttrs = pred: set:
- listToAttrs (fold (n: ys: let v = set.${n}; in if pred n v then [(nameValuePair n v)] ++ ys else ys) [] (attrNames set));
+ listToAttrs (concatMap (name: let v = set.${name}; in if pred name v then [(nameValuePair name v)] else []) (attrNames set));
/* foldAttrs: apply fold functions to values grouped by key. Eg accumulate values as list: