summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Snow <ericsnowcurrently@gmail.com>2016-09-09 18:22:14 (GMT)
committerEric Snow <ericsnowcurrently@gmail.com>2016-09-09 18:22:14 (GMT)
commit68f4dd8b01b1d2b961f51cf07b785366ceb139e4 (patch)
treee13e40fd7e9b353a0c8a8261d197bbc1d8f3df94
parent6982a4f8f0339434fd8b8b0792f34f1426e70dfd (diff)
downloadcpython-68f4dd8b01b1d2b961f51cf07b785366ceb139e4.zip
cpython-68f4dd8b01b1d2b961f51cf07b785366ceb139e4.tar.gz
cpython-68f4dd8b01b1d2b961f51cf07b785366ceb139e4.tar.bz2
Doc updates for PEPs 520 and 468.
-rw-r--r--Doc/reference/datamodel.rst6
-rw-r--r--Doc/whatsnew/3.6.rst28
2 files changed, 22 insertions, 12 deletions
diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst
index 3d581a5..246e2e3 100644
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -1801,9 +1801,9 @@ included in the class definition (if any) and the resulting object is bound
in the local namespace as the defined class.
When a new class is created by ``type.__new__``, the object provided as the
-namespace parameter is copied to a standard Python dictionary and the original
-object is discarded. The new copy becomes the :attr:`~object.__dict__` attribute
-of the class object.
+namespace parameter is copied to a new ordered mapping and the original
+object is discarded. The new copy is wrapped in a read-only proxy, which
+becomes the :attr:`~object.__dict__` attribute of the class object.
.. seealso::
diff --git a/Doc/whatsnew/3.6.rst b/Doc/whatsnew/3.6.rst
index e14125a..480459a 100644
--- a/Doc/whatsnew/3.6.rst
+++ b/Doc/whatsnew/3.6.rst
@@ -116,7 +116,10 @@ Windows improvements:
:pep:`4XX` - Python Virtual Environments
PEP written by Carl Meyer
-.. XXX PEP 520: :ref:`Preserving Class Attribute Definition Order<whatsnew-deforder>`
+* PEP 520: :ref:`Preserving Class Attribute Definition Order<whatsnew-deforder>`
+
+* PEP 468: :ref:`Preserving Keyword Argument Order<whatsnew-kwargs>`
+
New Features
============
@@ -380,17 +383,10 @@ PEP 520: Preserving Class Attribute Definition Order
Attributes in a class definition body have a natural ordering: the same
order in which the names appear in the source. This order is now
-preserved in the new class's ``__definition_order__`` attribute. It is
-a tuple of the attribute names, in the order in which they appear in
-the class definition body.
-
-For types that don't have a definition (e.g. builtins), or the attribute
-order could not be determined, ``__definition_order__`` is ``None``.
+preserved in the new class's ``__dict__`` attribute.
Also, the effective default class *execution* namespace (returned from
``type.__prepare__()``) is now an insertion-order-preserving mapping.
-For CPython, it is now ``collections.OrderedDict``. Note that the
-class namespace, ``cls.__dict__``, is unchanged.
.. seealso::
@@ -398,6 +394,20 @@ class namespace, ``cls.__dict__``, is unchanged.
PEP written and implemented by Eric Snow.
+.. _whatsnew-kwargs:
+
+PEP 468: Preserving Keyword Argument Order
+==========================================
+
+``**kwargs`` in a function signature is now guaranteed to be an
+insertion-order-preserving mapping.
+
+.. seealso::
+
+ :pep:`468` - Preserving Keyword Argument Order
+ PEP written and implemented by Eric Snow.
+
+
PEP 509: Add a private version to dict
--------------------------------------