Bug report
Bug description:
We can create inspect.Signature with two or more variable parameters, but this will be syntactically incorrect when defining the function manually:
import inspect
parameters = [
inspect.Parameter("args", kind=inspect.Parameter.VAR_POSITIONAL),
inspect.Parameter("other_args", kind=inspect.Parameter.VAR_POSITIONAL),
inspect.Parameter("kwargs", kind=inspect.Parameter.VAR_KEYWORD),
inspect.Parameter("other_kwargs", kind=inspect.Parameter.VAR_KEYWORD),
]
signature = inspect.Signature(parameters)
print(signature)
OUTPUT:
(*args, *other_args, **kwargs, **other_kwargs)
And naturally we get a syntax error when defining a function with such a signature:
def func(*args, *other_args, **kwargs, **other_kwargs):
...
OUTPUT:
File "/home/apostol_fet/inspect_signature.py", line 13
def func(*args, *other_args, **kwargs, **other_kwargs):
^
SyntaxError: * argument may appear only once
Can we add validations for this case in inspect.Signature.__init__?
I would like to send a PR to fix this if it is not intended behavior.
CPython versions tested on:
3.12
Operating systems tested on:
Linux, Windows
Linked PRs
Bug report
Bug description:
We can create
inspect.Signaturewith two or more variable parameters, but this will be syntactically incorrect when defining the function manually:OUTPUT:
And naturally we get a syntax error when defining a function with such a signature:
OUTPUT:
Can we add validations for this case in
inspect.Signature.__init__?I would like to send a PR to fix this if it is not intended behavior.
CPython versions tested on:
3.12
Operating systems tested on:
Linux, Windows
Linked PRs