Skip to content

Commit c6afe2b

Browse files
committed
comments
1 parent 25b6e79 commit c6afe2b

File tree

4 files changed

+13
-4
lines changed

4 files changed

+13
-4
lines changed

mypyc/irbuild/missingtypevisitor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from mypy.nodes import Expression, Node
44
from mypy.traverser import ExtendedTraverserVisitor
5-
from mypy.types import Type, AnyType, TypeOfAny
5+
from mypy.types import AnyType, Type, TypeOfAny
66

77

88
class MissingTypesVisitor(ExtendedTraverserVisitor):

mypyc/irbuild/prebuildvisitor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ def visit(self, o: Node) -> bool:
9797
def visit_assignment_stmt(self, stmt: AssignmentStmt) -> None:
9898
# These are cases where mypy may not have types for certain expressions,
9999
# but mypyc needs some form type to exist.
100-
if isinstance(stmt.rvalue, IndexExpr) and stmt.rvalue.analyzed:
100+
if stmt.is_alias_def:
101101
stmt.rvalue.accept(self.missing_types_visitor)
102102
return super().visit_assignment_stmt(stmt)
103103

mypyc/test-data/irbuild-classes.test

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1338,9 +1338,10 @@ if True:
13381338

13391339
[case testEnumClassAlias]
13401340
from enum import Enum
1341-
from typing import Literal
1341+
from typing import Literal, Union
13421342

13431343
class SomeEnum(Enum):
13441344
AVALUE = "a"
13451345

13461346
ALIAS = Literal[SomeEnum.AVALUE]
1347+
ALIAS2 = Union[Literal[SomeEnum.AVALUE], None]

mypyc/test-data/run-python312.test

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
[case testPEP695Basics]
2-
from typing import Any, TypeAliasType, cast
2+
from enum import Enum
3+
from typing import Any, Literal, TypeAliasType, cast
34

45
from testutil import assertRaises
56

@@ -188,6 +189,13 @@ type R = int | list[R]
188189
def test_recursive_type_alias() -> None:
189190
assert isinstance(R, TypeAliasType)
190191
assert getattr(R, "__value__") == (int | list[R])
192+
193+
class SomeEnum(Enum):
194+
AVALUE = "a"
195+
196+
type EnumLiteralAlias1 = Literal[SomeEnum.AVALUE]
197+
type EnumLiteralAlias2 = Literal[SomeEnum.AVALUE] | None
198+
EnumLiteralAlias3 = Literal[SomeEnum.AVALUE] | None
191199
[typing fixtures/typing-full.pyi]
192200

193201
[case testPEP695GenericTypeAlias]

0 commit comments

Comments
 (0)