mirror of
https://github.com/python/cpython.git
synced 2025-07-07 19:35:27 +00:00
gh-134280: Disable constant folding for ~ with a boolean argument (GH-134982)
This moves the deprecation warning from compile time to run time.
This commit is contained in:
parent
e0d6500b2d
commit
86c3316183
3 changed files with 7 additions and 0 deletions
|
@ -292,6 +292,7 @@ class TestTranforms(BytecodeTestCase):
|
||||||
('---x', 'UNARY_NEGATIVE', None, False, None, None),
|
('---x', 'UNARY_NEGATIVE', None, False, None, None),
|
||||||
('~~~x', 'UNARY_INVERT', None, False, None, None),
|
('~~~x', 'UNARY_INVERT', None, False, None, None),
|
||||||
('+++x', 'CALL_INTRINSIC_1', intrinsic_positive, False, None, None),
|
('+++x', 'CALL_INTRINSIC_1', intrinsic_positive, False, None, None),
|
||||||
|
('~True', 'UNARY_INVERT', None, False, None, None),
|
||||||
]
|
]
|
||||||
|
|
||||||
for (
|
for (
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Disable constant folding for ``~`` with a boolean argument.
|
||||||
|
This moves the deprecation warning from compile time to runtime.
|
|
@ -1892,6 +1892,10 @@ eval_const_unaryop(PyObject *operand, int opcode, int oparg)
|
||||||
result = PyNumber_Negative(operand);
|
result = PyNumber_Negative(operand);
|
||||||
break;
|
break;
|
||||||
case UNARY_INVERT:
|
case UNARY_INVERT:
|
||||||
|
// XXX: This should be removed once the ~bool depreciation expires.
|
||||||
|
if (PyBool_Check(operand)) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
result = PyNumber_Invert(operand);
|
result = PyNumber_Invert(operand);
|
||||||
break;
|
break;
|
||||||
case UNARY_NOT: {
|
case UNARY_NOT: {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue