Description
Problem:
I am writing a python application, and I made a function that creates an object and passes its additional *args
and **kwargs
to object's constructor and takes few its own arguments. I want to make *args
and **kwargs
typed exactly as inner function's arguments.
Description and examples:
A simple example with two functions:
def inner(a: int, b: int) -> None:
...
def wrapper(arg1: str, *args, **kwargs) -> None:
inner(*args, **kwargs) # It will automatically detect passing arguments to another function
In my case, inner
is object constructor, I gave an example with functions to make it more simple.
Type checkers should see wrapper
's signature like this:
def wrapper(arg1: str, a: int, b: int):
...
It may be enabled by default when passing *args
and **kwargs
to another function is detected or it may be enabled by adding a decorator to the function.
Detailed description:
Already suggested this to mypy, detailed description of this feature can be found here: python/mypy#19302.