@@ -917,9 +917,7 @@ def visit_assignment_stmt(self, s: AssignmentStmt) -> Type:
917
917
def check_assignment (self , lvalue : Node , rvalue : Node , infer_lvalue_type : bool = True ) -> None :
918
918
"""Type check a single assignment: lvalue = rvalue."""
919
919
if isinstance (lvalue , TupleExpr ) or isinstance (lvalue , ListExpr ):
920
- ltuple = cast (Union [TupleExpr , ListExpr ], lvalue )
921
-
922
- self .check_assignment_to_multiple_lvalues (ltuple .items , rvalue , lvalue ,
920
+ self .check_assignment_to_multiple_lvalues (lvalue .items , rvalue , lvalue ,
923
921
infer_lvalue_type )
924
922
else :
925
923
lvalue_type , index_lvalue , inferred = self .check_lvalue (lvalue )
@@ -978,7 +976,7 @@ def check_assignment_to_multiple_lvalues(self, lvalues: List[Node], rvalue: Node
978
976
# control in cases like: a, b = [int, str] where rhs would get
979
977
# type List[object]
980
978
981
- rvalues = cast ( Union [ TupleExpr , ListExpr ], rvalue ) .items
979
+ rvalues = rvalue .items
982
980
983
981
if self .check_rvalue_count_in_assignment (lvalues , len (rvalues ), context ):
984
982
star_index = next ((i for i , lv in enumerate (lvalues ) if
@@ -1164,8 +1162,7 @@ def check_lvalue(self, lvalue: Node) -> Tuple[Type, IndexExpr, Var]:
1164
1162
lvalue_type = self .expr_checker .analyze_ref_expr (lvalue , lvalue = True )
1165
1163
self .store_type (lvalue , lvalue_type )
1166
1164
elif isinstance (lvalue , TupleExpr ) or isinstance (lvalue , ListExpr ):
1167
- lv = cast (Union [TupleExpr , ListExpr ], lvalue )
1168
- types = [self .check_lvalue (sub_expr )[0 ] for sub_expr in lv .items ]
1165
+ types = [self .check_lvalue (sub_expr )[0 ] for sub_expr in lvalue .items ]
1169
1166
lvalue_type = TupleType (types , self .named_type ('builtins.tuple' ))
1170
1167
else :
1171
1168
lvalue_type = self .accept (lvalue )
@@ -1663,7 +1660,6 @@ def visit_del_stmt(self, s: DelStmt) -> Type:
1663
1660
def flatten (t : Node ) -> List [Node ]:
1664
1661
"""Flatten a nested sequence of tuples/lists into one list of nodes."""
1665
1662
if isinstance (t , TupleExpr ) or isinstance (t , ListExpr ):
1666
- t = cast (Union [TupleExpr , ListExpr ], t )
1667
1663
return [b for a in t .items for b in flatten (a )]
1668
1664
else :
1669
1665
return [t ]
0 commit comments