1+ import ast
12import builtins
23import os
34import 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-
641627class Raise (stmt ):
642628 if sys .version_info >= (3 , 10 ):
643629 __match_args__ = ("exc" , "cause" )
@@ -1076,13 +1062,13 @@ if sys.version_info >= (3, 14):
10761062 value : expr
10771063 str : builtins .str
10781064 conversion : int
1079- format_spec : builtins . str | None = None
1065+ format_spec : expr | None = None
10801066 def __init__ (
10811067 self ,
10821068 value : expr = ...,
10831069 str : builtins .str = ...,
10841070 conversion : int = ...,
1085- format_spec : builtins . str | None = ...,
1071+ format_spec : expr | None = ...,
10861072 ** kwargs : Unpack [_Attributes ],
10871073 ) -> None : ...
10881074 def __replace__ (
@@ -1091,7 +1077,7 @@ if sys.version_info >= (3, 14):
10911077 value : expr = ...,
10921078 str : builtins .str = ...,
10931079 conversion : int = ...,
1094- format_spec : builtins . str | None = ...,
1080+ format_spec : expr | None = ...,
10951081 ** kwargs : Unpack [_Attributes ],
10961082 ) -> Self : ...
10971083
@@ -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
11471133class Starred (expr ):
@@ -1194,36 +1180,28 @@ class Tuple(expr):
11941180@deprecated ("Deprecated since Python 3.9." )
11951181class 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." )
12211199class 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." )
12251203class 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
12281206class expr_context (AST ): ...
12291207
@@ -1465,37 +1443,48 @@ class withitem(AST):
14651443 def __replace__ (self , * , context_expr : expr = ..., optional_vars : expr | None = ...) -> Self : ...
14661444
14671445if 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
@@ -1590,22 +1579,22 @@ if sys.version_info >= (3, 10):
15901579 class MatchStar (pattern ):
15911580 __match_args__ = ("name" ,)
15921581 name : str | None
1593- def __init__ (self , name : str | None , ** kwargs : Unpack [_Attributes [int ]]) -> None : ...
1582+ def __init__ (self , name : str | None = None , ** kwargs : Unpack [_Attributes [int ]]) -> None : ...
15941583
15951584 if sys .version_info >= (3 , 14 ):
15961585 def __replace__ (self , * , name : str | None = ..., ** kwargs : Unpack [_Attributes [int ]]) -> Self : ...
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