Skip to content

Commit 63f6538

Browse files
Update expression.py
1 parent 528ea6f commit 63f6538

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

mypyc/irbuild/expression.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,8 @@
120120
from mypyc.primitives.str_ops import str_slice_op
121121
from mypyc.primitives.tuple_ops import list_tuple_op, tuple_slice_op
122122

123-
ConstantValueTuple = Union[ConstantValue, tuple["ConstantValueTuple", ...]]
123+
ConstantValueOrTuple = Union[ConstantValue, "ConstantValueTuple"]
124+
ConstantValueTuple = tuple[ConstantValueOrTuple, ...]
124125

125126
# Name and attribute references
126127

@@ -1014,7 +1015,7 @@ def _visit_tuple_display(builder: IRBuilder, expr: TupleExpr) -> Value:
10141015

10151016
def dict_literal_values(
10161017
builder: IRBuilder, items: Sequence[tuple[Expression | None, Expression]], line: int
1017-
) -> dict[ConstantValueTuple, ConstantValueTuple] | None:
1018+
) -> dict[ConstantValueOrTuple, ConstantValueOrTuple] | None:
10181019
"""Try to extract a constant dict from a dict literal, recursively staticizing nested dicts.
10191020
10201021
If all keys and values are deeply immutable and constant (including nested dicts as values),
@@ -1023,15 +1024,13 @@ def dict_literal_values(
10231024

10241025
def constant_fold_expr_or_tuple(
10251026
builder: IRBuilder, expr: Expression
1026-
) -> ConstantValueTuple | None:
1027+
) -> ConstantValueOrTuple | None:
10271028
value = constant_fold_expr(builder, expr)
10281029
if value is not None:
10291030
return value
10301031
if not isinstance(expr, TupleExpr):
10311032
return None
1032-
folded: ConstantValueTuple = tuple(
1033-
map(partial(constant_fold_expr_or_tuple, builder), expr.items)
1034-
)
1033+
folded = tuple(map(partial(constant_fold_expr_or_tuple, builder), expr.items))
10351034
return folded if None not in folded else None
10361035

10371036
result = {}

0 commit comments

Comments
 (0)