]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-111133: Remove unnecessary PyFrozenSet_Check() calls in const folding (GH-111137)
authorKirill Podoprigora <kirill.bast9@mail.ru>
Fri, 20 Oct 2023 20:37:38 +0000 (23:37 +0300)
committerGitHub <noreply@github.com>
Fri, 20 Oct 2023 20:37:38 +0000 (23:37 +0300)
frozenset does not support multiplication.

Python/ast_opt.c

index 41f48eba08afc41d414c92788721ef57ca481683..04d7ae6eaafbc0eeda98e7355fc6be7cd84dc629 100644 (file)
@@ -142,15 +142,6 @@ check_complexity(PyObject *obj, Py_ssize_t limit)
         }
         return limit;
     }
-    else if (PyFrozenSet_Check(obj)) {
-        Py_ssize_t i = 0;
-        PyObject *item;
-        Py_hash_t hash;
-        limit -= PySet_GET_SIZE(obj);
-        while (limit >= 0 && _PySet_NextEntry(obj, &i, &item, &hash)) {
-            limit = check_complexity(item, limit);
-        }
-    }
     return limit;
 }
 
@@ -174,9 +165,8 @@ safe_multiply(PyObject *v, PyObject *w)
             return NULL;
         }
     }
-    else if (PyLong_Check(v) && (PyTuple_Check(w) || PyFrozenSet_Check(w))) {
-        Py_ssize_t size = PyTuple_Check(w) ? PyTuple_GET_SIZE(w) :
-                                             PySet_GET_SIZE(w);
+    else if (PyLong_Check(v) && PyTuple_Check(w)) {
+        Py_ssize_t size = PyTuple_GET_SIZE(w);
         if (size) {
             long n = PyLong_AsLong(v);
             if (n < 0 || n > MAX_COLLECTION_SIZE / size) {
@@ -198,8 +188,7 @@ safe_multiply(PyObject *v, PyObject *w)
         }
     }
     else if (PyLong_Check(w) &&
-             (PyTuple_Check(v) || PyFrozenSet_Check(v) ||
-              PyUnicode_Check(v) || PyBytes_Check(v)))
+             (PyTuple_Check(v) || PyUnicode_Check(v) || PyBytes_Check(v)))
     {
         return safe_multiply(w, v);
     }