mirror of
https://github.com/AdaCore/cpython.git
synced 2026-02-12 12:57:15 -08:00
Issue #28727: Optimize pattern_richcompare() for a==a
A pattern is equal to itself.
This commit is contained in:
@@ -1781,6 +1781,10 @@ SUBPATTERN None 0 0
|
||||
def test_pattern_compare(self):
|
||||
pattern1 = re.compile('abc', re.IGNORECASE)
|
||||
|
||||
# equal to itself
|
||||
self.assertEqual(pattern1, pattern1)
|
||||
self.assertFalse(pattern1 != pattern1)
|
||||
|
||||
# equal
|
||||
re.purge()
|
||||
pattern2 = re.compile('abc', re.IGNORECASE)
|
||||
|
||||
@@ -2683,6 +2683,12 @@ pattern_richcompare(PyObject *lefto, PyObject *righto, int op)
|
||||
if (Py_TYPE(lefto) != &Pattern_Type || Py_TYPE(righto) != &Pattern_Type) {
|
||||
Py_RETURN_NOTIMPLEMENTED;
|
||||
}
|
||||
|
||||
if (lefto == righto) {
|
||||
/* a pattern is equal to itself */
|
||||
return PyBool_FromLong(op == Py_EQ);
|
||||
}
|
||||
|
||||
left = (PatternObject *)lefto;
|
||||
right = (PatternObject *)righto;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user