bpo-30061: Check if PyObject_Size()/PySequence_Size()/PyMapping_Size() (#1096)
raised an error.
Replace them with using concrete types API that never fails if appropriate.
diff --git a/Objects/exceptions.c b/Objects/exceptions.c
index 0c7b9b2..858eff5 100644
--- a/Objects/exceptions.c
+++ b/Objects/exceptions.c
@@ -2790,7 +2790,7 @@
/* Ensure the instance dict is also empty */
dictptr = _PyObject_GetDictPtr(val);
if (dictptr != NULL && *dictptr != NULL &&
- PyObject_Length(*dictptr) > 0) {
+ PyDict_GET_SIZE(*dictptr) > 0) {
/* While we could potentially copy a non-empty instance dictionary
* to the replacement exception, for now we take the more
* conservative path of leaving exceptions with attributes set