Case "S" (type str): "%s" uses _PyObject_Str() which checks the object
type with PyString_CheckExact().
Case "U" (type unicode) "%s" uses PyUnicode_Check() and then calls
PyUnicode_Format(). PyUnicode_Format() uses PyUnicode_Check() to check
the object object. It should uses PyUnicode_CheckExact() instead.
xxx_CheckExact() is different than xxx_Check(): exact is only true for
the base type, whereas the the second is also true for subclass.
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
The text was updated successfully, but these errors were encountered: