diff --git a/Objects/typeobject.c b/Objects/typeobject.c index 243f8811b62571..0e055d677f139e 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -7661,8 +7661,17 @@ update_slot(PyTypeObject *type, PyObject *name) assert(slotdefs_initialized); pp = ptrs; for (p = slotdefs; p->name; p++) { - if (p->name_strobj == name) + assert(PyUnicode_CheckExact(p->name_strobj)); + assert(PyUnicode_CheckExact(name)); +#ifdef INTERN_NAME_STRINGS + if (p->name_strobj == name) { + *pp++ = p; + } +#else + if (p->name_strobj == name || _PyUnicode_EQ(p->name_strobj, name)) { *pp++ = p; + } +#endif } *pp = NULL; for (pp = ptrs; *pp; pp++) {