= TypeVar("Item")
ListT: TypeAlias = list[Item]
def func(array: ListT) -> ListT:
return array[::-1]
new_array = func([1, 2, 3])
mypy --strict:
typing_playground.py:8: error: Missing type parameters for generic type "ListT" [type-arg]
Почему mypy считает, что ListT это дженерик тип, если это просто алиас на аннотированый список? Не очень понимаю как так происходит
Вообще, алиасы для дженериков с тайпварами не работают
Работает, называется Generic Type Alias. Но тогда нужно делать def func(array: ListT[Item]) -> ListT[Item]: return array[::-1]
Ну, в таком виде да, но я имел в виду другое, когда у тебя есть эонио из 3 тайпваров и ты где-то заранее для него делаешь алиас, чтобы в классе его не повторять
cc @neverchange https://mypy.readthedocs.io/en/stable/generics.html#generic-type-aliases
Ему тут их бесполезно использовать. Я думаю, что он хотел именно заранее параметризовать дженерики
Обсуждают сегодня