Unverified Commit d2c98293 authored by Robert Hensing's avatar Robert Hensing Committed by GitHub
Browse files

lib.modules: simplified logic in usage of zipAttrsWith and minor cleanup (#388748)

parents 85460312 ff9b3598
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -320,7 +320,6 @@ let
        prefix ? [],
        }:
          evalModules (evalModulesArgs // {
            inherit class;
            modules = regularModules ++ modules;
            specialArgs = evalModulesArgs.specialArgs or {} // specialArgs;
            prefix = extendArgs.prefix or evalModulesArgs.prefix or [];
@@ -335,8 +334,7 @@ let
        options = checked options;
        config = checked (removeAttrs config [ "_module" ]);
        _module = checked (config._module);
        inherit extendModules type;
        class = class;
        inherit extendModules type class;
      };
    in result;

@@ -602,7 +600,7 @@ let
      # an attrset 'name' => list of submodules that declare ‘name’.
      declsByName =
        zipAttrsWith
          (n: concatLists)
          (n: v: v)
          (map
            (module: let subtree = module.options; in
              if !(isAttrs subtree) then
@@ -614,7 +612,7 @@ let
              else
                mapAttrs
                  (n: option:
                    [{ inherit (module) _file; pos = unsafeGetAttrPos n subtree; options = option; }]
                    { inherit (module) _file; pos = unsafeGetAttrPos n subtree; options = option; }
                  )
                  subtree
              )
@@ -657,12 +655,12 @@ let
      # extract the definitions for each loc
      rawDefinitionsByName =
        zipAttrsWith
          (n: concatLists)
          (n: v: v)
          (map
            (module:
              mapAttrs
                (n: value:
                  [{ inherit (module) file; inherit value; }]
                  { inherit (module) file; inherit value; }
                )
                module.config
            )