mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-27 22:03:54 +03:00
Merge pull request #131267 from blaggacao/fix-functionArgs
lib: fix functionArgs for functors
This commit is contained in:
commit
f0fda3bf55
@ -132,6 +132,16 @@ runTests {
|
||||
expected = [ 1 1 0 ];
|
||||
};
|
||||
|
||||
testFunctionArgsFunctor = {
|
||||
expr = functionArgs { __functor = self: { a, b }: null; };
|
||||
expected = { a = false; b = false; };
|
||||
};
|
||||
|
||||
testFunctionArgsSetFunctionArgs = {
|
||||
expr = functionArgs (setFunctionArgs (args: args.x) { x = false; });
|
||||
expected = { x = false; };
|
||||
};
|
||||
|
||||
# STRINGS
|
||||
|
||||
testConcatMapStrings = {
|
||||
|
@ -334,7 +334,10 @@ rec {
|
||||
has the same return type and semantics as builtins.functionArgs.
|
||||
setFunctionArgs : (a → b) → Map String Bool.
|
||||
*/
|
||||
functionArgs = f: f.__functionArgs or (builtins.functionArgs f);
|
||||
functionArgs = f:
|
||||
if f ? __functor
|
||||
then f.__functionArgs or (lib.functionArgs (f.__functor f))
|
||||
else builtins.functionArgs f;
|
||||
|
||||
/* Check whether something is a function or something
|
||||
annotated with function args.
|
||||
|
Loading…
Reference in New Issue
Block a user