diff options
author | Nick Coghlan <ncoghlan@gmail.com> | 2016-12-05 06:59:22 (GMT) |
---|---|---|
committer | Nick Coghlan <ncoghlan@gmail.com> | 2016-12-05 06:59:22 (GMT) |
commit | d77e5b7211e8daf22f2b3e0df124393bca504c38 (patch) | |
tree | 5e012ef2dbd2cf633d998cbb4ac780302bd30c73 /Doc/whatsnew | |
parent | de4ae3d4869e88dda8bfbad24880cb398160a7a0 (diff) | |
parent | 19d246745d9d013c12e9560dd020d778381780fb (diff) | |
download | cpython-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.rst | 10 |
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 -------------------- |