Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitd5af6be

Browse files
authored
Clean up deprecated ast.Constant aliases (#14397)
Add `__new__`, remove fields, mark deprecated `Constant` fields as such.
1 parentc1299e3 commitd5af6be

File tree

6 files changed

+22
-38
lines changed

6 files changed

+22
-38
lines changed

‎stdlib/@tests/stubtest_allowlists/py310.txt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -163,11 +163,7 @@ tkinter.tix.TkVersion
163163
# because it's not an ABC that makes any sense and was deprecated in 3.12
164164
_collections_abc.ByteString
165165

166-
ast.Bytes.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
167-
ast.Ellipsis.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
168-
ast.NameConstant.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
169-
ast.Num.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
170-
ast.Str.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
166+
ast.Ellipsis.__new__ # Implementation has *args, but shouldn't allow any
171167

172168
_?hashlib.scrypt # Raises TypeError if salt, n, r or p are None
173169

‎stdlib/@tests/stubtest_allowlists/py311.txt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -126,11 +126,7 @@ tkinter.tix.TkVersion
126126
# because it's not an ABC that makes any sense and was deprecated in 3.12
127127
_collections_abc.ByteString
128128

129-
ast.Bytes.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
130-
ast.Ellipsis.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
131-
ast.NameConstant.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
132-
ast.Num.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
133-
ast.Str.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
129+
ast.Ellipsis.__new__ # Implementation has *args, but shouldn't allow any
134130

135131
_?hashlib.scrypt # Raises TypeError if salt, n, r or p are None
136132

‎stdlib/@tests/stubtest_allowlists/py312.txt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,7 @@ tkinter.tix.TkVersion
111111
# because it's not an ABC that makes any sense and was deprecated in 3.12
112112
_collections_abc.ByteString
113113

114-
ast.Bytes.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
115-
ast.Ellipsis.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
116-
ast.NameConstant.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
117-
ast.Num.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
118-
ast.Str.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
114+
ast.Ellipsis.__new__ # Implementation has *args, but shouldn't allow any
119115

120116
_?hashlib.scrypt # Raises TypeError if salt, n, r or p are None
121117

‎stdlib/@tests/stubtest_allowlists/py313.txt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,7 @@ typing(_extensions)?\.IO\.writelines
7272
# because it's not an ABC that makes any sense and was deprecated in 3.12
7373
_collections_abc.ByteString
7474

75-
ast.Bytes.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
76-
ast.Ellipsis.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
77-
ast.NameConstant.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
78-
ast.Num.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
79-
ast.Str.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
75+
ast.Ellipsis.__new__ # Implementation has *args, but shouldn't allow any
8076

8177
_?hashlib.scrypt # Raises TypeError if salt, n, r or p are None
8278

‎stdlib/@tests/stubtest_allowlists/py39.txt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,7 @@ tkinter.tix.TkVersion
110110
# because it's not an ABC that makes any sense and was deprecated in 3.12
111111
_collections_abc.ByteString
112112

113-
ast.Bytes.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
114-
ast.Ellipsis.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
115-
ast.NameConstant.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
116-
ast.Num.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
117-
ast.Str.__new__ # runtime is *args, **kwargs due to a wrapper, but we have more accurate signatures in the stubs
113+
ast.Ellipsis.__new__ # Implementation has *args, but shouldn't allow any
118114

119115
_?hashlib.scrypt # Raises TypeError if salt, n, r or p are None
120116

‎stdlib/ast.pyi

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1096,8 +1096,16 @@ class Constant(expr):
10961096
kind:str|None
10971097
ifsys.version_info< (3,14):
10981098
# Aliases for value, for backwards compatibility
1099-
s:_ConstantValue
1100-
n:_ConstantValue
1099+
@deprecated("Will be removed in Python 3.14; use value instead")
1100+
@property
1101+
defn(self)->_ConstantValue: ...
1102+
@n.setter
1103+
defn(self,value:_ConstantValue)->None: ...
1104+
@deprecated("Will be removed in Python 3.14; use value instead")
1105+
@property
1106+
defs(self)->_ConstantValue: ...
1107+
@s.setter
1108+
defs(self,value:_ConstantValue)->None: ...
11011109

11021110
def__init__(self,value:_ConstantValue,kind:str|None=None,**kwargs:Unpack[_Attributes])->None: ...
11031111

@@ -1696,27 +1704,23 @@ class _ABC(type):
16961704
ifsys.version_info< (3,14):
16971705
@deprecated("Replaced by ast.Constant; removed in Python 3.14")
16981706
classNum(Constant,metaclass=_ABC):
1699-
value:int|float|complex
1700-
# Aliases for value, for backwards compatibility
1701-
n:int|float|complex
1707+
def__new__(cls,n:complex,**kwargs:Unpack[_Attributes])->Constant: ...# type: ignore[misc] # pyright: ignore[reportInconsistentConstructor]
17021708

17031709
@deprecated("Replaced by ast.Constant; removed in Python 3.14")
17041710
classStr(Constant,metaclass=_ABC):
1705-
value:str
1706-
# Aliases for value, for backwards compatibility
1707-
s:str
1711+
def__new__(cls,s:str,**kwargs:Unpack[_Attributes])->Constant: ...# type: ignore[misc] # pyright: ignore[reportInconsistentConstructor]
17081712

17091713
@deprecated("Replaced by ast.Constant; removed in Python 3.14")
17101714
classBytes(Constant,metaclass=_ABC):
1711-
value:bytes
1712-
# Aliases for value, for backwards compatibility
1713-
s:bytes
1715+
def__new__(cls,s:bytes,**kwargs:Unpack[_Attributes])->Constant: ...# type: ignore[misc] # pyright: ignore[reportInconsistentConstructor]
17141716

17151717
@deprecated("Replaced by ast.Constant; removed in Python 3.14")
1716-
classNameConstant(Constant,metaclass=_ABC): ...
1718+
classNameConstant(Constant,metaclass=_ABC):
1719+
def__new__(cls,value:_ConstantValue,kind:str|None,**kwargs:Unpack[_Attributes])->Constant: ...# type: ignore[misc] # pyright: ignore[reportInconsistentConstructor]
17171720

17181721
@deprecated("Replaced by ast.Constant; removed in Python 3.14")
1719-
classEllipsis(Constant,metaclass=_ABC): ...
1722+
classEllipsis(Constant,metaclass=_ABC):
1723+
def__new__(cls,**kwargs:Unpack[_Attributes])->Constant: ...# type: ignore[misc] # pyright: ignore[reportInconsistentConstructor]
17201724

17211725
# everything below here is defined in ast.py
17221726

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp