bpo-23722: Raise a RuntimeError for absent __classcell__. (GH-6931)
A DeprecationWarning was emitted in Python 3.6-3.7.
diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst
index cc8dc95..855f241 100644
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -1967,8 +1967,7 @@
as a ``__classcell__`` entry in the class namespace. If present, this must
be propagated up to the ``type.__new__`` call in order for the class to be
initialised correctly.
- Failing to do so will result in a :exc:`DeprecationWarning` in Python 3.6,
- and a :exc:`RuntimeError` in Python 3.8.
+ Failing to do so will result in a :exc:`RuntimeError` in Python 3.8.
When using the default metaclass :class:`type`, or any metaclass that ultimately
calls ``type.__new__``, the following additional customisation steps are
diff --git a/Doc/whatsnew/3.8.rst b/Doc/whatsnew/3.8.rst
index 11538e2..9aad908 100644
--- a/Doc/whatsnew/3.8.rst
+++ b/Doc/whatsnew/3.8.rst
@@ -146,6 +146,11 @@
a database if it does not exist.
(Contributed by Serhiy Storchaka in :issue:`32749`.)
+* A :exc:`RuntimeError` is now raised when the custom metaclass doesn't
+ provide the ``__classcell__`` entry in the namespace passed to
+ ``type.__new__``. A :exc:`DeprecationWarning` was emitted in Python
+ 3.6--3.7. (Contributed by Serhiy Storchaka in :issue:`23722`.)
+
CPython bytecode changes
------------------------