Должно ли работать следующее? Если нет, то почему, как понять и как исправить? (Этот пример просто раскрывает проблему, поэтому, пожалуйста, ответьте в терминах подклассов tuple
; я уже знаю о NamedTuple
.)
class Point(tuple):
def __new__(cls, f1: float, f2: float):
self = super().__new__(cls, (f1,f2))
return self
mypy 0.761 считает это ошибкой:
error: Argument 2 to "__new__" of "tuple" has incompatible type "Tuple[float, float]"; expected "Iterable[_T_co]"