diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2012-08-13 14:19:31 -0400 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2012-08-13 15:15:16 -0400 |
commit | c0a483632c3e0193678dd58c994528d88d42ea00 (patch) | |
tree | 794673d20c185d9c77c5222ec1f506417dfaa90a /pkgs/lib/options.nix | |
parent | 431c55cbf1f99748cb28566a33d15fb22bf76fe6 (diff) | |
download | nixpkgs-c0a483632c3e0193678dd58c994528d88d42ea00.tar nixpkgs-c0a483632c3e0193678dd58c994528d88d42ea00.tar.gz nixpkgs-c0a483632c3e0193678dd58c994528d88d42ea00.tar.bz2 nixpkgs-c0a483632c3e0193678dd58c994528d88d42ea00.tar.lz nixpkgs-c0a483632c3e0193678dd58c994528d88d42ea00.tar.xz nixpkgs-c0a483632c3e0193678dd58c994528d88d42ea00.tar.zst nixpkgs-c0a483632c3e0193678dd58c994528d88d42ea00.zip |
Eliminate some calls to ‘tail’
Diffstat (limited to 'pkgs/lib/options.nix')
-rw-r--r-- | pkgs/lib/options.nix | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/pkgs/lib/options.nix b/pkgs/lib/options.nix index cd60b8f3b88..05c9c5f9c0f 100644 --- a/pkgs/lib/options.nix +++ b/pkgs/lib/options.nix @@ -2,7 +2,7 @@ let lib = import ./default.nix; in -with { inherit (builtins) head tail; }; +with { inherit (builtins) head length; }; with import ./trivial.nix; with import ./lists.nix; with import ./misc.nix; @@ -133,7 +133,7 @@ rec { # separate the merge & apply fields from the interface. mergeOptionDecls = opts: if opts == [] then {} - else if tail opts == [] then + else if length opts == 1 then let opt = head opts; in if opt ? options then opt // { options = toList opt.options; } @@ -189,7 +189,7 @@ rec { ) (attrNames defs)); mergeDefaultOption = list: - if list != [] && tail list == [] then head list + if length list == 1 then head list else if all builtins.isFunction list then x: mergeDefaultOption (map (f: f x) list) else if all isList list then concatLists list else if all isAttrs list then fold lib.mergeAttrs {} list @@ -214,7 +214,7 @@ rec { mergeOneOption = list: if list == [] then abort "This case should never happen." - else if tail list != [] then throw "Multiple definitions. Only one is allowed for this option." + else if length list != 1 then throw "Multiple definitions. Only one is allowed for this option." else head list; |