cpython/Doc/reference
Nick Coghlan 19d246745d Issue #23722: improve __classcell__ compatibility
Handling zero-argument super() in __init_subclass__ and
__set_name__ involved moving __class__ initialisation to
type.__new__. This requires cooperation from custom
metaclasses to ensure that the new __classcell__ entry
is passed along appropriately.

The initial implementation of that change resulted in abruptly
broken zero-argument super() support in metaclasses that didn't
adhere to the new requirements (such as Django's metaclass for
Model definitions).

The updated approach adopted here instead emits a deprecation
warning for those cases, and makes them work the same way they
did in Python 3.5.

This patch also improves the related class machinery documentation
to cover these details and to include more reader-friendly
cross-references and index entries.
2016-12-05 16:47:55 +10:00
..
compound_stmts.rst Issue #24254: Drop cls.__definition_order__. 2016-09-08 15:11:11 -07:00
datamodel.rst Issue #23722: improve __classcell__ compatibility 2016-12-05 16:47:55 +10:00
executionmodel.rst #25679: spelling fix 2015-11-20 09:57:20 -05:00
expressions.rst Issue #26511: Reference the id() function in the 'is' and 'is not' docs 2016-09-11 17:23:49 -07:00
grammar.rst Merged revisions 65378-65379,65430 via svnmerge from 2008-08-03 09:47:27 +00:00
import.rst Issue #15767: Use ModuleNotFoundError. 2016-09-07 16:56:15 -07:00
index.rst Merge from 3.2: remove unneeded "Release" and "Date" markers from index pages. 2012-10-28 11:10:24 -07:00
introduction.rst Python for .NET has moved to Github. 2016-02-03 22:05:46 -06:00
lexical_analysis.rst Update docs to reflect new behavior around backslashes in expressions (not allowed), matching recent changes to PEP 498. 2016-11-06 11:27:17 -05:00
simple_stmts.rst Issue #28076: Variable annotations should be mangled for private names. 2016-09-11 09:45:24 -07:00
toplevel_components.rst #22613: remaining corrections in extending/reference docs (thanks Jacques Ducasse) 2014-10-31 10:38:49 +01:00