Skip to content

Commit d0f9f40

Browse files
authored
ast: Remove 3 TypeAlias. Fix identifier collision. (#14319)
1 parent 707cd57 commit d0f9f40

1 file changed

Lines changed: 39 additions & 50 deletions

File tree

stdlib/ast.pyi

Lines changed: 39 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import ast
12
import builtins
23
import os
34
import sys
@@ -623,21 +624,6 @@ class AsyncWith(stmt):
623624
**kwargs: Unpack[_Attributes],
624625
) -> Self: ...
625626

626-
if sys.version_info >= (3, 10):
627-
class Match(stmt):
628-
__match_args__ = ("subject", "cases")
629-
subject: expr
630-
cases: list[match_case]
631-
if sys.version_info >= (3, 13):
632-
def __init__(self, subject: expr, cases: list[match_case] = ..., **kwargs: Unpack[_Attributes]) -> None: ...
633-
else:
634-
def __init__(self, subject: expr, cases: list[match_case], **kwargs: Unpack[_Attributes]) -> None: ...
635-
636-
if sys.version_info >= (3, 14):
637-
def __replace__(
638-
self, *, subject: expr = ..., cases: list[match_case] = ..., **kwargs: Unpack[_Attributes]
639-
) -> Self: ...
640-
641627
class Raise(stmt):
642628
if sys.version_info >= (3, 10):
643629
__match_args__ = ("exc", "cause")
@@ -1135,13 +1121,13 @@ class Subscript(expr):
11351121
if sys.version_info >= (3, 10):
11361122
__match_args__ = ("value", "slice", "ctx")
11371123
value: expr
1138-
slice: _Slice
1124+
slice: expr
11391125
ctx: expr_context # Not present in Python < 3.13 if not passed to `__init__`
1140-
def __init__(self, value: expr, slice: _Slice, ctx: expr_context = ..., **kwargs: Unpack[_Attributes]) -> None: ...
1126+
def __init__(self, value: expr, slice: expr, ctx: expr_context = ..., **kwargs: Unpack[_Attributes]) -> None: ...
11411127

11421128
if sys.version_info >= (3, 14):
11431129
def __replace__(
1144-
self, *, value: expr = ..., slice: _Slice = ..., ctx: expr_context = ..., **kwargs: Unpack[_Attributes]
1130+
self, *, value: expr = ..., slice: expr = ..., ctx: expr_context = ..., **kwargs: Unpack[_Attributes]
11451131
) -> Self: ...
11461132

11471133
class Starred(expr):
@@ -1194,36 +1180,28 @@ class Tuple(expr):
11941180
@deprecated("Deprecated since Python 3.9.")
11951181
class slice(AST): ...
11961182

1197-
_Slice: typing_extensions.TypeAlias = expr
1198-
_SliceAttributes: typing_extensions.TypeAlias = _Attributes
1199-
1200-
class Slice(_Slice):
1183+
class Slice(expr):
12011184
if sys.version_info >= (3, 10):
12021185
__match_args__ = ("lower", "upper", "step")
12031186
lower: expr | None
12041187
upper: expr | None
12051188
step: expr | None
12061189
def __init__(
1207-
self, lower: expr | None = None, upper: expr | None = None, step: expr | None = None, **kwargs: Unpack[_SliceAttributes]
1190+
self, lower: expr | None = None, upper: expr | None = None, step: expr | None = None, **kwargs: Unpack[_Attributes]
12081191
) -> None: ...
12091192

12101193
if sys.version_info >= (3, 14):
12111194
def __replace__(
1212-
self,
1213-
*,
1214-
lower: expr | None = ...,
1215-
upper: expr | None = ...,
1216-
step: expr | None = ...,
1217-
**kwargs: Unpack[_SliceAttributes],
1195+
self, *, lower: expr | None = ..., upper: expr | None = ..., step: expr | None = ..., **kwargs: Unpack[_Attributes]
12181196
) -> Self: ...
12191197

12201198
@deprecated("Deprecated since Python 3.9. Use ast.Tuple instead.")
12211199
class ExtSlice(slice):
1222-
def __new__(cls, dims: Iterable[slice] = (), **kwargs: Unpack[_SliceAttributes]) -> Tuple: ... # type: ignore[misc]
1200+
def __new__(cls, dims: Iterable[slice] = (), **kwargs: Unpack[_Attributes]) -> Tuple: ... # type: ignore[misc]
12231201

12241202
@deprecated("Deprecated since Python 3.9. Use the index value directly instead.")
12251203
class Index(slice):
1226-
def __new__(cls, value: expr, **kwargs: Unpack[_SliceAttributes]) -> expr: ... # type: ignore[misc]
1204+
def __new__(cls, value: expr, **kwargs: Unpack[_Attributes]) -> expr: ... # type: ignore[misc]
12271205

12281206
class expr_context(AST): ...
12291207

@@ -1465,37 +1443,48 @@ class withitem(AST):
14651443
def __replace__(self, *, context_expr: expr = ..., optional_vars: expr | None = ...) -> Self: ...
14661444

14671445
if sys.version_info >= (3, 10):
1446+
class pattern(AST):
1447+
lineno: int
1448+
col_offset: int
1449+
end_lineno: int
1450+
end_col_offset: int
1451+
def __init__(self, **kwargs: Unpack[_Attributes[int]]) -> None: ...
1452+
1453+
if sys.version_info >= (3, 14):
1454+
def __replace__(
1455+
self, *, lineno: int = ..., col_offset: int = ..., end_lineno: int = ..., end_col_offset: int = ...
1456+
) -> Self: ...
1457+
14681458
class match_case(AST):
14691459
__match_args__ = ("pattern", "guard", "body")
1470-
pattern: _Pattern
1460+
pattern: ast.pattern
14711461
guard: expr | None
14721462
body: list[stmt]
14731463
if sys.version_info >= (3, 13):
1474-
def __init__(self, pattern: _Pattern, guard: expr | None = None, body: list[stmt] = ...) -> None: ...
1475-
else:
1464+
def __init__(self, pattern: ast.pattern, guard: expr | None = None, body: list[stmt] = ...) -> None: ...
1465+
elif sys.version_info >= (3, 10):
14761466
@overload
1477-
def __init__(self, pattern: _Pattern, guard: expr | None, body: list[stmt]) -> None: ...
1467+
def __init__(self, pattern: ast.pattern, guard: expr | None, body: list[stmt]) -> None: ...
14781468
@overload
1479-
def __init__(self, pattern: _Pattern, guard: expr | None = None, *, body: list[stmt]) -> None: ...
1469+
def __init__(self, pattern: ast.pattern, guard: expr | None = None, *, body: list[stmt]) -> None: ...
14801470

14811471
if sys.version_info >= (3, 14):
1482-
def __replace__(self, *, pattern: _Pattern = ..., guard: expr | None = ..., body: list[stmt] = ...) -> Self: ...
1472+
def __replace__(self, *, pattern: ast.pattern = ..., guard: expr | None = ..., body: list[stmt] = ...) -> Self: ...
14831473

1484-
class pattern(AST):
1485-
lineno: int
1486-
col_offset: int
1487-
end_lineno: int
1488-
end_col_offset: int
1489-
def __init__(self, **kwargs: Unpack[_Attributes[int]]) -> None: ...
1474+
class Match(stmt):
1475+
__match_args__ = ("subject", "cases")
1476+
subject: expr
1477+
cases: list[match_case]
1478+
if sys.version_info >= (3, 13):
1479+
def __init__(self, subject: expr, cases: list[match_case] = ..., **kwargs: Unpack[_Attributes]) -> None: ...
1480+
else:
1481+
def __init__(self, subject: expr, cases: list[match_case], **kwargs: Unpack[_Attributes]) -> None: ...
14901482

14911483
if sys.version_info >= (3, 14):
14921484
def __replace__(
1493-
self, *, lineno: int = ..., col_offset: int = ..., end_lineno: int = ..., end_col_offset: int = ...
1485+
self, *, subject: expr = ..., cases: list[match_case] = ..., **kwargs: Unpack[_Attributes]
14941486
) -> Self: ...
14951487

1496-
# Without the alias, Pyright complains variables named pattern are recursively defined
1497-
_Pattern: typing_extensions.TypeAlias = pattern
1498-
14991488
class MatchValue(pattern):
15001489
__match_args__ = ("value",)
15011490
value: expr
@@ -1597,15 +1586,15 @@ if sys.version_info >= (3, 10):
15971586

15981587
class MatchAs(pattern):
15991588
__match_args__ = ("pattern", "name")
1600-
pattern: _Pattern | None
1589+
pattern: ast.pattern | None
16011590
name: str | None
16021591
def __init__(
1603-
self, pattern: _Pattern | None = None, name: str | None = None, **kwargs: Unpack[_Attributes[int]]
1592+
self, pattern: ast.pattern | None = None, name: str | None = None, **kwargs: Unpack[_Attributes[int]]
16041593
) -> None: ...
16051594

16061595
if sys.version_info >= (3, 14):
16071596
def __replace__(
1608-
self, *, pattern: _Pattern | None = ..., name: str | None = ..., **kwargs: Unpack[_Attributes[int]]
1597+
self, *, pattern: ast.pattern | None = ..., name: str | None = ..., **kwargs: Unpack[_Attributes[int]]
16091598
) -> Self: ...
16101599

16111600
class MatchOr(pattern):

0 commit comments

Comments
 (0)