diff --git a/lib/attrsets.nix b/lib/attrsets.nix index 0066fba362ae..cda13ee43eed 100644 --- a/lib/attrsets.nix +++ b/lib/attrsets.nix @@ -384,11 +384,12 @@ rec { recursiveUpdateUntil = pred: lhs: rhs: let f = attrPath: zipAttrsWith (n: values: + let here = attrPath ++ [n]; in if tail values == [] - || pred attrPath (head (tail values)) (head values) then + || pred here (head (tail values)) (head values) then head values else - f (attrPath ++ [n]) values + f here values ); in f [] [rhs lhs];