mirror of
https://github.com/python/cpython.git
synced 2026-01-26 21:03:34 +00:00
[3.14] gh-134280: Disable constant folding for ~ with a boolean argument (GH-134982) (GH-136185)
This moves the deprecation warning from compile time to run time. (cherry picked from commit 86c3316183a79867e3c666d0830f897e16f0f339) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
This commit is contained in:
parent
3bc42942af
commit
8ba024ddf5
@ -292,6 +292,7 @@ class TestTranforms(BytecodeTestCase):
|
||||
('---x', 'UNARY_NEGATIVE', None, False, None, None),
|
||||
('~~~x', 'UNARY_INVERT', None, False, None, None),
|
||||
('+++x', 'CALL_INTRINSIC_1', intrinsic_positive, False, None, None),
|
||||
('~True', 'UNARY_INVERT', None, False, None, None),
|
||||
]
|
||||
|
||||
for (
|
||||
|
||||
@ -0,0 +1,2 @@
|
||||
Disable constant folding for ``~`` with a boolean argument.
|
||||
This moves the deprecation warning from compile time to runtime.
|
||||
@ -1884,6 +1884,10 @@ eval_const_unaryop(PyObject *operand, int opcode, int oparg)
|
||||
result = PyNumber_Negative(operand);
|
||||
break;
|
||||
case UNARY_INVERT:
|
||||
// XXX: This should be removed once the ~bool depreciation expires.
|
||||
if (PyBool_Check(operand)) {
|
||||
return NULL;
|
||||
}
|
||||
result = PyNumber_Invert(operand);
|
||||
break;
|
||||
case UNARY_NOT: {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user