mirror of
https://github.com/python/cpython.git
synced 2025-09-27 02:39:58 +00:00
count keyword only arguments as part of the total
This commit is contained in:
parent
f3b7a25a21
commit
afcee8b78d
2 changed files with 8 additions and 2 deletions
|
@ -280,6 +280,12 @@ The number of arguments passed in includes keywords:
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
...
|
...
|
||||||
TypeError: f() takes exactly 1 argument (5 given)
|
TypeError: f() takes exactly 1 argument (5 given)
|
||||||
|
>>> def f(a, *, kw):
|
||||||
|
... pass
|
||||||
|
>>> f(6, 4, kw=4)
|
||||||
|
Traceback (most recent call last):
|
||||||
|
...
|
||||||
|
TypeError: f() takes exactly 2 arguments (3 given)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
|
|
@ -3078,8 +3078,8 @@ PyEval_EvalCodeEx(PyCodeObject *co, PyObject *globals, PyObject *locals,
|
||||||
"argument%s (%d given)",
|
"argument%s (%d given)",
|
||||||
co->co_name,
|
co->co_name,
|
||||||
defcount ? "at most" : "exactly",
|
defcount ? "at most" : "exactly",
|
||||||
co->co_argcount,
|
total_args,
|
||||||
co->co_argcount == 1 ? "" : "s",
|
total_args == 1 ? "" : "s",
|
||||||
argcount + kwcount);
|
argcount + kwcount);
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue