add generic implementation of a __dict__ descriptor for C types
diff --git a/Doc/c-api/object.rst b/Doc/c-api/object.rst
index 88ba5ac..43768f3 100644
--- a/Doc/c-api/object.rst
+++ b/Doc/c-api/object.rst
@@ -101,6 +101,18 @@
    This is the equivalent of the Python statement ``del o.attr_name``.
 
 
+.. c:function:: PyObject* PyType_GenericGetDict(PyObject *o, void *context)
+
+   A generic implementation for the getter of a ``__dict__`` descriptor. It
+   creates the dictionary if necessary.
+
+
+.. c:function:: int PyType_GenericSetDict(PyObject *o, void *context)
+
+   A generic implementation for the setter of a ``__dict__`` descriptor. This
+   implementation does not allow the dictionary to be deleted.
+
+
 .. c:function:: PyObject* PyObject_RichCompare(PyObject *o1, PyObject *o2, int opid)
 
    Compare the values of *o1* and *o2* using the operation specified by *opid*,
diff --git a/Doc/c-api/type.rst b/Doc/c-api/type.rst
index b3386ea..f8e01c0 100644
--- a/Doc/c-api/type.rst
+++ b/Doc/c-api/type.rst
@@ -77,7 +77,6 @@
 
    XXX: Document.
 
-
 .. c:function:: int PyType_Ready(PyTypeObject *type)
 
    Finalize a type object.  This should be called on all type objects to finish