summaryrefslogtreecommitdiffstats
path: root/Doc/whatsnew
diff options
context:
space:
mode:
authorNick Coghlan <ncoghlan@gmail.com>2016-12-05 06:59:22 (GMT)
committerNick Coghlan <ncoghlan@gmail.com>2016-12-05 06:59:22 (GMT)
commitd77e5b7211e8daf22f2b3e0df124393bca504c38 (patch)
tree5e012ef2dbd2cf633d998cbb4ac780302bd30c73 /Doc/whatsnew
parentde4ae3d4869e88dda8bfbad24880cb398160a7a0 (diff)
parent19d246745d9d013c12e9560dd020d778381780fb (diff)
downloadcpython-d77e5b7211e8daf22f2b3e0df124393bca504c38.zip
cpython-d77e5b7211e8daf22f2b3e0df124393bca504c38.tar.gz
cpython-d77e5b7211e8daf22f2b3e0df124393bca504c38.tar.bz2
Merge #23722 from 3.6
Diffstat (limited to 'Doc/whatsnew')
-rw-r--r--Doc/whatsnew/3.6.rst10
1 files changed, 10 insertions, 0 deletions
diff --git a/Doc/whatsnew/3.6.rst b/Doc/whatsnew/3.6.rst
index 5b5884d..040a533 100644
--- a/Doc/whatsnew/3.6.rst
+++ b/Doc/whatsnew/3.6.rst
@@ -351,6 +351,11 @@ whenever a new subclass is created::
class Plugin2(PluginBase):
pass
+In order to allow zero-argument :func:`super` calls to work correctly from
+:meth:`~object.__init_subclass__` implementations, custom metaclasses must
+ensure that the new ``__classcell__`` namespace entry is propagated to
+``type.__new__`` (as described in :ref:`class-object-creation`).
+
.. seealso::
:pep:`487` -- Simpler customization of class creation
@@ -2235,6 +2240,11 @@ Changes in the Python API
on a ZipFile created with mode ``'r'`` will raise a :exc:`ValueError`.
Previously, a :exc:`RuntimeError` was raised in those scenarios.
+* when custom metaclasses are combined with zero-argument :func:`super` or
+ direct references from methods to the implicit ``__class__`` closure
+ variable, the implicit ``__classcell__`` namespace entry must now be passed
+ up to ``type.__new__`` for initialisation. Failing to do so will result in
+ a :exc:`DeprecationWarning` in 3.6 and a :exc:`RuntimeWarning` in the future.
Changes in the C API
--------------------