Skip to content

Commit

Permalink
Revert "WIP 2"
Browse files Browse the repository at this point in the history
  • Loading branch information
cdce8p committed Feb 13, 2024
1 parent b60bedf commit 52ebbf2
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 34 deletions.
8 changes: 0 additions & 8 deletions mypy/expandtype.py
Original file line number Diff line number Diff line change
Expand Up @@ -240,14 +240,6 @@ def visit_type_var(self, t: TypeVarType) -> Type:
def visit_param_spec(self, t: ParamSpecType) -> Type:
# Set prefix to something empty, so we don't duplicate it below.
repl = self.variables.get(t.id, t.copy_modified(prefix=Parameters([], [], [])))
if isinstance(repl, ParamSpecType):
if (tvar_id := repl.id) in self.recursive_tvar_guard:
return self.recursive_tvar_guard[tvar_id] or repl
self.recursive_tvar_guard[tvar_id] = None
repl = repl.accept(self)
if isinstance(repl, ParamSpecType):
repl.default = repl.default.accept(self)
self.recursive_tvar_guard[tvar_id] = repl
if isinstance(repl, ParamSpecType):
return repl.copy_modified(
flavor=t.flavor,
Expand Down
26 changes: 0 additions & 26 deletions test-data/unit/check-typevar-defaults.test
Original file line number Diff line number Diff line change
Expand Up @@ -425,32 +425,6 @@ def func_d2(
n = ClassD2[int, float, str]()
reveal_type(n) # N: Revealed type is "__main__.ClassD2[builtins.int, builtins.float, builtins.str]"

[case testTypeVarDefaultsClassRecursive2]
# flags: --disallow-any-generics
from typing import Generic, ParamSpec

P1 = ParamSpec("P1", default=[int, str])
P2 = ParamSpec("P2", default=P1)
P3 = ParamSpec("P3")

class ClassE1(Generic[P1, P2]): ...

def func_e1(
a: ClassE1,
b: ClassE1[[float]],
c: ClassE1[[float], [str]],
) -> None:
reveal_type(a) # N: Revealed type is "__main__.ClassE1[[builtins.int, builtins.str], [builtins.int, builtins.str]]"
reveal_type(b) # N: Revealed type is "__main__.ClassE1[[builtins.float], [builtins.float]]"
reveal_type(c) # N: Revealed type is "__main__.ClassE1[[builtins.float], [builtins.str]]"

k = ClassE1()
# reveal_type(k) # Revealed type is "__main__.ClassE1[[builtins.int, builtins.str], [builtins.int, builtins.str]]" # TODO
l = ClassE1[[float]]()
reveal_type(l) # N: Revealed type is "__main__.ClassE1[[builtins.float], [builtins.float]]"
m = ClassE1[[float], [str]]()
reveal_type(m) # N: Revealed type is "__main__.ClassE1[[builtins.float], [builtins.str]]"

[case testTypeVarDefaultsTypeAlias1]
# flags: --disallow-any-generics
from typing import Any, Dict, List, Tuple, TypeVar, Union
Expand Down

0 comments on commit 52ebbf2

Please sign in to comment.