From 34fefe4e16e04e9b3c335e62462a150ebd303baa Mon Sep 17 00:00:00 2001 From: adisbladis Date: Sun, 3 Mar 2024 16:15:31 +1300 Subject: [PATCH] lib.mapAttrsRecursiveCond: Eliminate intermediate one intermediate variable environment --- lib/attrsets.nix | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/attrsets.nix b/lib/attrsets.nix index 4f7d795c397f..de531616a520 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