diff options
author | adisbladis <adisbladis@gmail.com> | 2024-03-03 16:15:31 +1300 |
---|---|---|
committer | adisbladis <adisbladis@gmail.com> | 2024-03-03 16:18:38 +1300 |
commit | 34fefe4e16e04e9b3c335e62462a150ebd303baa (patch) | |
tree | 4122c6272f09c4196ef9909aa21990feb59acd08 /lib/attrsets.nix | |
parent | 31f91738fb4aae351f1ee93300139c751dcf8196 (diff) |
lib.mapAttrsRecursiveCond: Eliminate intermediate one intermediate variable environment
Diffstat (limited to 'lib/attrsets.nix')
-rw-r--r-- | lib/attrsets.nix | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/attrsets.nix b/lib/attrsets.nix index 4f7d795c397f2..de531616a520c 100644 --- a/lib/attrsets.nix +++ b/lib/attrsets.nix @@ -731,14 +731,13 @@ rec { set: let recurse = path: - let - g = - name: value: + mapAttrs + (name: value: if isAttrs value && cond value - then recurse (path ++ [name]) value - else f (path ++ [name]) value; - in mapAttrs g; - in recurse [] set; + then recurse (path ++ [ name ]) value + else f (path ++ [ name ]) value); + in + recurse [ ] set; /* Generate an attribute set by mapping a function over a list of |