lib: make deprecation warnings consistent

The deprecation warnings in lib were wildly inconsistent. Different
formulations were used in different places for the same meaning. Some warnings
used builtins.trace instead of lib.warn, which prevents silencing; one even
only had a comment instead. Make everything more uniform.
This commit is contained in:
Alois Wohlschlager 2024-02-03 16:13:04 +01:00
parent b8b232ae7b
commit d33127863e
No known key found for this signature in database
GPG key ID: E0F59EA5E5216914
5 changed files with 12 additions and 11 deletions

View file

@ -3,7 +3,7 @@
let let
inherit (builtins) head tail length; inherit (builtins) head tail length;
inherit (lib.trivial) id mergeAttrs; inherit (lib.trivial) id mergeAttrs warn;
inherit (lib.strings) concatStringsSep concatMapStringsSep escapeNixIdentifier sanitizeDerivationName; inherit (lib.strings) concatStringsSep concatMapStringsSep escapeNixIdentifier sanitizeDerivationName;
inherit (lib.lists) foldr foldl' concatMap concatLists elemAt all partition groupBy take foldl; inherit (lib.lists) foldr foldl' concatMap concatLists elemAt all partition groupBy take foldl;
in in
@ -1197,9 +1197,10 @@ rec {
(x // y) // mask; (x // y) // mask;
# DEPRECATED # DEPRECATED
zipWithNames = zipAttrsWithNames; zipWithNames = warn
"lib.zipWithNames is a deprecated alias of lib.zipAttrsWithNames." zipAttrsWithNames;
# DEPRECATED # DEPRECATED
zip = builtins.trace zip = warn
"lib.zip is deprecated, use lib.zipAttrsWith instead" zipAttrsWith; "lib.zip is a deprecated alias of lib.zipAttrsWith." zipAttrsWith;
} }

View file

@ -2,7 +2,7 @@
{ lib }: { lib }:
let let
inherit (lib.strings) toInt; inherit (lib.strings) toInt;
inherit (lib.trivial) compare min id; inherit (lib.trivial) compare min id warn;
inherit (lib.attrsets) mapAttrs; inherit (lib.attrsets) mapAttrs;
inherit (lib.lists) sort; inherit (lib.lists) sort;
in in
@ -848,8 +848,8 @@ rec {
crossLists (x:y: "${toString x}${toString y}") [[1 2] [3 4]] crossLists (x:y: "${toString x}${toString y}") [[1 2] [3 4]]
=> [ "13" "14" "23" "24" ] => [ "13" "14" "23" "24" ]
*/ */
crossLists = builtins.trace crossLists = warn
"lib.crossLists is deprecated, use lib.cartesianProductOfSets instead" "lib.crossLists is deprecated, use lib.cartesianProductOfSets instead."
(f: foldl (fs: args: concatMap (f: map f args) fs) [f]); (f: foldl (fs: args: concatMap (f: map f args) fs) [f]);

View file

@ -379,7 +379,7 @@ rec {
if ! isString text then throw "literalExpression expects a string." if ! isString text then throw "literalExpression expects a string."
else { _type = "literalExpression"; inherit text; }; else { _type = "literalExpression"; inherit text; };
literalExample = lib.warn "literalExample is deprecated, use literalExpression instead, or use literalMD for a non-Nix description." literalExpression; literalExample = lib.warn "lib.literalExample is deprecated, use lib.literalExpression instead, or use lib.literalMD for a non-Nix description." literalExpression;
/* Transition marker for documentation that's already migrated to markdown /* Transition marker for documentation that's already migrated to markdown
syntax. This is a no-op and no longer needed. syntax. This is a no-op and no longer needed.

View file

@ -561,7 +561,7 @@ rec {
[""" "'" "<" ">" "&"]; [""" "'" "<" ">" "&"];
# warning added 12-12-2022 # warning added 12-12-2022
replaceChars = lib.warn "replaceChars is a deprecated alias of replaceStrings, replace usages of it with replaceStrings." builtins.replaceStrings; replaceChars = lib.warn "lib.replaceChars is a deprecated alias of lib.replaceStrings." builtins.replaceStrings;
# Case conversion utilities. # Case conversion utilities.
lowerChars = stringToCharacters "abcdefghijklmnopqrstuvwxyz"; lowerChars = stringToCharacters "abcdefghijklmnopqrstuvwxyz";
@ -1133,7 +1133,7 @@ rec {
"/prefix/nix-profiles-library-paths.patch" "/prefix/nix-profiles-library-paths.patch"
"/prefix/compose-search-path.patch" ] "/prefix/compose-search-path.patch" ]
*/ */
readPathsFromFile = lib.warn "lib.readPathsFromFile is deprecated, use a list instead" readPathsFromFile = lib.warn "lib.readPathsFromFile is deprecated, use a list instead."
(rootPath: file: (rootPath: file:
let let
lines = lib.splitString "\n" (readFile file); lines = lib.splitString "\n" (readFile file);

View file

@ -230,7 +230,7 @@ in {
else if lib.pathExists revisionFile then lib.fileContents revisionFile else if lib.pathExists revisionFile then lib.fileContents revisionFile
else default; else default;
nixpkgsVersion = builtins.trace "`lib.nixpkgsVersion` is deprecated, use `lib.version` instead!" version; nixpkgsVersion = warn "lib.nixpkgsVersion is a deprecated alias of lib.version." version;
/* Determine whether the function is being called from inside a Nix /* Determine whether the function is being called from inside a Nix
shell. shell.