use the stricter PyMapping_Check (closes #15801)
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 59b138a..d40f2e4 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -8275,7 +8275,7 @@
         arglen = -1;
         argidx = -2;
     }
-    if (Py_TYPE(args)->tp_as_mapping && !PyTuple_Check(args) &&
+    if (PyMapping_Check(args) && !PyTuple_Check(args) &&
         !PyObject_TypeCheck(args, &PyBaseString_Type))
         dict = args;