Skip to content

Commit a36f3e1

Browse files
fix mypy errs
1 parent eda162b commit a36f3e1

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

mypyc/irbuild/for_helpers.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@
2828
TypeAlias,
2929
Var,
3030
)
31-
from mypy.types import TupleType
31+
from mypy.types import (
32+
TupleType,
33+
get_proper_type,
34+
)
3235
from mypyc.ir.ops import (
3336
ERR_NEVER,
3437
BasicBlock,
@@ -1207,12 +1210,12 @@ def get_expr_length(builder: IRBuilder, expr: Expression) -> int | None:
12071210
# of key conflicts. Range, enumerate, zip are all simple logic.
12081211

12091212
# we might still be able to get the length direcly from the type
1210-
expr_rtype = builder.node_type(expr)
1211-
if isinstance(expr_rtype, RTuple):
1212-
return len(expr_rtype.types)
1213-
expr_type = builder.types[expr]
1214-
if isinstance(expr_type, TupleType):
1215-
return len(expr_type.items)
1213+
rtype = builder.node_type(expr)
1214+
if isinstance(rtype, RTuple):
1215+
return len(rtype.types)
1216+
proper_type = get_proper_type(builder.types[expr])
1217+
if isinstance(proper_type, TupleType):
1218+
return len(proper_type.items)
12161219
return None
12171220

12181221

0 commit comments

Comments
 (0)