Skip to content

Commit 7162c3a

Browse files
authored
gh-111133: Remove unnecessary PyFrozenSet_Check() calls in const folding (GH-111137)
frozenset does not support multiplication.
1 parent 124259f commit 7162c3a

File tree

1 file changed

+3
-14
lines changed

1 file changed

+3
-14
lines changed

Python/ast_opt.c

+3-14
Original file line numberDiff line numberDiff line change
@@ -142,15 +142,6 @@ check_complexity(PyObject *obj, Py_ssize_t limit)
142142
}
143143
return limit;
144144
}
145-
else if (PyFrozenSet_Check(obj)) {
146-
Py_ssize_t i = 0;
147-
PyObject *item;
148-
Py_hash_t hash;
149-
limit -= PySet_GET_SIZE(obj);
150-
while (limit >= 0 && _PySet_NextEntry(obj, &i, &item, &hash)) {
151-
limit = check_complexity(item, limit);
152-
}
153-
}
154145
return limit;
155146
}
156147

@@ -174,9 +165,8 @@ safe_multiply(PyObject *v, PyObject *w)
174165
return NULL;
175166
}
176167
}
177-
else if (PyLong_Check(v) && (PyTuple_Check(w) || PyFrozenSet_Check(w))) {
178-
Py_ssize_t size = PyTuple_Check(w) ? PyTuple_GET_SIZE(w) :
179-
PySet_GET_SIZE(w);
168+
else if (PyLong_Check(v) && PyTuple_Check(w)) {
169+
Py_ssize_t size = PyTuple_GET_SIZE(w);
180170
if (size) {
181171
long n = PyLong_AsLong(v);
182172
if (n < 0 || n > MAX_COLLECTION_SIZE / size) {
@@ -198,8 +188,7 @@ safe_multiply(PyObject *v, PyObject *w)
198188
}
199189
}
200190
else if (PyLong_Check(w) &&
201-
(PyTuple_Check(v) || PyFrozenSet_Check(v) ||
202-
PyUnicode_Check(v) || PyBytes_Check(v)))
191+
(PyTuple_Check(v) || PyUnicode_Check(v) || PyBytes_Check(v)))
203192
{
204193
return safe_multiply(w, v);
205194
}

0 commit comments

Comments
 (0)