diff options
author | Georg Brandl <georg@python.org> | 2013-05-12 09:09:11 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2013-05-12 09:09:11 (GMT) |
commit | ce654f48aac8c060ee3188f597e4fb78b2839abb (patch) | |
tree | ac5d70691a8aea217dccd26f2072aa2a9353f99c | |
parent | a6df938fefd5b51d85a45cf3f29f60ee7bb21edf (diff) | |
download | cpython-ce654f48aac8c060ee3188f597e4fb78b2839abb.zip cpython-ce654f48aac8c060ee3188f597e4fb78b2839abb.tar.gz cpython-ce654f48aac8c060ee3188f597e4fb78b2839abb.tar.bz2 |
Issue #15535: Fix pickling of named tuples.
-rw-r--r-- | Lib/collections.py | 4 | ||||
-rw-r--r-- | Lib/test/test_collections.py | 1 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
3 files changed, 8 insertions, 0 deletions
diff --git a/Lib/collections.py b/Lib/collections.py index eb20243..33aedd9 100644 --- a/Lib/collections.py +++ b/Lib/collections.py @@ -281,6 +281,10 @@ class {typename}(tuple): 'Return self as a plain tuple. Used by copy and pickle.' return tuple(self) + def __getstate__(self): + 'Exclude the OrderedDict from pickling' + return None + {field_defs} ''' diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py index b2a5f05..c18256b 100644 --- a/Lib/test/test_collections.py +++ b/Lib/test/test_collections.py @@ -272,6 +272,7 @@ class TestNamedTuple(unittest.TestCase): q = loads(dumps(p, protocol)) self.assertEqual(p, q) self.assertEqual(p._fields, q._fields) + self.assertNotIn(b'OrderedDict', dumps(p, protocol)) def test_copy(self): p = TestNT(x=10, y=20, z=30) @@ -16,6 +16,9 @@ Library - Issue #17666: Fix reading gzip files with an extra field. +- Issue #15535: Fix namedtuple pickles which were picking up the OrderedDict + instead of just the underlying tuple. + What's New in Python 3.2.4? =========================== |