How can type hints be declared to indicate that a function returns an instance of the class reference that is passed as an argument?
Declaring it as follows does not seem right, as it indicates that the returned type is the same as the type of the argument:
from typing import TypeVar
T = TypeVar('T')
def my_factory(some_class: T) -> T:
instance_of_some_class = some_class()
return instance_of_some_class
Example usage:
class MyClass:
pass
my_class = my_factory(MyClass) # Inferred type should be MyClass