Open
Description
Bug Report
It seems that the below combination of *args
, and TypeVar
with constraints related to Type
, is misbehaving. I reached out on the Gitter and was instructed that this is probably a bug.
I tried replacing the Type
s with int
s (observable in the linked mypy-playground) and that seems to work fine.
To Reproduce
from typing import TypeVar, List, Type
TypeArgT = TypeVar("TypeArgT", Type, List[Type])
def type_a(*args: TypeArgT):
...
def type_b(*args: List[Type]):
...
type_a(int, str, float) # test t1
type_a([str, float], [int]) # test t2 <-- this does not work
type_b([bool, bool], [str, bool]) # test t3
https://mypy-play.net/?mypy=0.780&python=3.8&gist=847224369f6bad4d74a1ccfd672fb250
Actual Behavior
Test t2
in the above snippet throws the following mypy error:
main.py:14: error: Value of type variable "TypeArgT" of "type_a" cannot be "object"
Found 1 error in 1 file (checked 1 source file)
Your Environment
- Mypy version used: 0.790
- Python version used: 3.8