Commit a36e6760 authored by Robert Hensing's avatar Robert Hensing
Browse files

Revert "lib/modules: Issue type deprecation warnings recursively"

This reverts commit 4b54aede.
parent e7412dde
Loading
Loading
Loading
Loading
+4 −13
Original line number Diff line number Diff line
@@ -515,20 +515,11 @@ rec {
      # yield a value computed from the definitions
      value = if opt ? apply then opt.apply res.mergedValue else res.mergedValue;

      # Issue deprecation warnings recursively over all nested types of the
      # given type. But don't recurse if a type with the same name was already
      # visited before in order to prevent infinite recursion. So this only
      # warns once per type name.
      # Returns the new set of visited type names
      recursiveWarn = visited: type:
        let
          maybeWarn = warnIf (type.deprecationMessage != null)
            "The type `types.${type.name}' of option `${showOption loc}' defined in ${showFiles opt.declarations} is deprecated. ${type.deprecationMessage}";
        in
          if visited ? ${type.name} then visited
          else lib.foldl' recursiveWarn (maybeWarn visited // { ${type.name} = null; }) (lib.attrValues type.nestedTypes);
      warnDeprecation =
        warnIf (opt.type.deprecationMessage != null)
          "The type `types.${opt.type.name}' of option `${showOption loc}' defined in ${showFiles opt.declarations} is deprecated. ${opt.type.deprecationMessage}";

    in builtins.seq (recursiveWarn {} opt.type) opt //
    in warnDeprecation opt //
      { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
        inherit (res.defsFinal') highestPrio;
        definitions = map (def: def.value) res.defsFinal;