From: Raymond Hettinger Date: Sat, 18 May 2013 07:05:20 +0000 (-0700) Subject: Undo the deprecation of _asdict(). X-Git-Tag: v3.4.0a1~696 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=163e9821b4644113e5aa4314e3c2e5b1b394e5f7;p=thirdparty%2FPython%2Fcpython.git Undo the deprecation of _asdict(). Backed out changeset c4ca39bece9d --- diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst index 70637687d334..96c5aef03710 100644 --- a/Doc/library/collections.rst +++ b/Doc/library/collections.rst @@ -829,9 +829,6 @@ field names, the method and attribute names start with an underscore. .. versionchanged:: 3.1 Returns an :class:`OrderedDict` instead of a regular :class:`dict`. - .. deprecated:: 3.4 - Use ``vars(nt)`` or ``nt.__dict__`` instead. - .. method:: somenamedtuple._replace(kwargs) Return a new instance of the named tuple replacing specified fields with new @@ -848,8 +845,8 @@ field names, the method and attribute names start with an underscore. A string with the pure Python source code used to create the named tuple class. The source makes the named tuple self-documenting. - It can be printed, executed using :func:`exec`, customized, or saved - to a file and imported. + It can be printed, executed using :func:`exec`, or saved to a file + and imported. .. versionadded:: 3.3 diff --git a/Lib/collections/__init__.py b/Lib/collections/__init__.py index 24daa34b4c26..5fd54e8d4cb7 100644 --- a/Lib/collections/__init__.py +++ b/Lib/collections/__init__.py @@ -280,9 +280,6 @@ class {typename}(tuple): '''Return a new OrderedDict which maps field names to their values. This method is obsolete. Use vars(nt) or nt.__dict__ instead. ''' - import warnings - warnings.warn('_asdict() is deprecated. Use vars(nt) instead.', - DeprecationWarning, stacklevel=2) return self.__dict__ def __getnewargs__(self): diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py index 12bd952e3f9b..803303125944 100644 --- a/Lib/test/test_collections.py +++ b/Lib/test/test_collections.py @@ -217,11 +217,8 @@ class TestNamedTuple(unittest.TestCase): self.assertEqual(p, Point._make([11, 22])) # test _make classmethod self.assertEqual(p._fields, ('x', 'y')) # test _fields attribute self.assertEqual(p._replace(x=1), (1, 22)) # test _replace method - self.assertEqual(p.__dict__, - OrderedDict([('x', 11), ('y', 22)])) # test __dict__ attribute - self.assertEqual(vars(p), p.__dict__) # verify that vars() works - with self.assertWarns(DeprecationWarning): # check deprecate of _asdict - p._asdict() + self.assertEqual(p._asdict(), dict(x=11, y=22)) # test _asdict method + self.assertEqual(vars(p), p._asdict()) # verify that vars() works try: p._replace(x=1, error=2) diff --git a/Misc/NEWS b/Misc/NEWS index 20bf8b11c2ea..68902e5c1fe0 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -96,9 +96,6 @@ Library - Issue #15758: Fix FileIO.readall() so it no longer has O(n**2) complexity. -- Deprecated the _asdict() method on named tuples. Use __dict__ or vars(nt) - instead. - - Issue #14596: The struct.Struct() objects now use more compact implementation. - Issue #17981: Closed socket on error in SysLogHandler.