You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(I kinda understand that mypy wouldn't know well enough that C() would actually be C[U] -- I've omitted overloads that make that work with mypy -- but the error on the default parameter still remains)
Expected Behavior
(no errors)
Actual Behavior
main.py:5: error: Incompatible default for argument "tp" (default has type "type[U]", argument has type "type[V]") [assignment]
Found 1 error in 1 file (checked 1 source file)
I'm guessing that for a constrained typevar mypy is just checking each possible constraint against the default value?
Your Environment
Mypy version used: 1.12.1
Mypy command-line flags: n/a
Mypy configuration options from mypy.ini (and other config files): n/a
Python version used: 3.12.x
The text was updated successfully, but these errors were encountered:
I suspect this is related to #3737 but seems to be a specific sub-case that should be unambigious (and
pyright
accepts the code unchanged)Bug Report
a constrained TypeVar
T: (U, V)
"T must be either U or V" does not accept eitherU
orV
as a default valueTo Reproduce
https://mypy-play.net/?mypy=latest&python=3.12&gist=b7cc5486d300e5869277d59fa33a2b03
(I kinda understand that mypy wouldn't know well enough that
C()
would actually beC[U]
-- I've omitted overloads that make that work with mypy -- but the error on the default parameter still remains)Expected Behavior
(no errors)
Actual Behavior
I'm guessing that for a constrained typevar mypy is just checking each possible constraint against the default value?
Your Environment
mypy.ini
(and other config files): n/aThe text was updated successfully, but these errors were encountered: