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
[PEP 696] Fix swapping TypeVars with defaults. (#19449)
- Fixes#19444. (added `testTypeVarDefaultsSwap`)
- Fixes#19362 (added `testTypeVarDefaultsSwap2`)
Changed the logic for recursion guards of `TypeVarType`: Instead of
always substituting `repl = repl.accept(self)`, and situationally
updating `repl.default = repl.default.accept(self)` if the result is a
`TypeVarType`, we now always update `repl.default =
repl.default.accept(self)` a priori and then only choose the expanded
`repl.accept(self)` if the result is a concrete type.
## New Tests
- `testTypeVarDefaultsSwap`
(https://mypy-play.net/?mypy=1.17.0&python=3.12&gist=d5a025a31ae3c8b9e2a36f4738aa1991)
- `testTypeVarDefaultsSwap2`
(https://mypy-play.net/?mypy=1.17.0&python=3.12&gist=d3ed42c82f7144967c97d846c4c041ef)
PS: closed earlier PRs #19447, since it contained debugging changes, and
#19448 because it didn't solve #19362.
0 commit comments