Привет, лор!
Помогите зааннотировать метакласс, реализующий синглтон.
T = TypeVar("T", bound=type)
class Singleton(type):
instances: ClassVar[Dict[Type[T], T]] = {}
def __call__(cls: Type[T], *args, **kwargs) -> T:
if cls not in cls.instances:
cls.instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
return cls.instances[cls]
Но это не работает. Не могу раздуплить, как правильно вывести типы тут?