Backport trunk checkin r51565:

Fix SF bug #1545837: array.array borks on deepcopy. array.__deepcopy__()
needs to take an argument, even if it doesn't actually use it.
This commit is contained in:
Thomas Wouters 2006-12-29 14:42:17 +00:00
parent e38ecee5c3
commit 04e820443b
3 changed files with 9 additions and 1 deletions

View File

@ -85,6 +85,13 @@ class BaseTest(unittest.TestCase):
self.assertNotEqual(id(a), id(b))
self.assertEqual(a, b)
def test_deepcopy(self):
import copy
a = array.array(self.typecode, self.example)
b = copy.deepcopy(a)
self.assertNotEqual(id(a), id(b))
self.assertEqual(a, b)
def test_pickle(self):
for protocol in (0, 1, 2):
a = array.array(self.typecode, self.example)

View File

@ -242,6 +242,7 @@ Dag Gruneau
Michael Guravage
Lars Gustäbel
Barry Haddow
Václav Haisman
Paul ten Hagen
Rasmus Hahn
Peter Haight

View File

@ -1495,7 +1495,7 @@ PyMethodDef array_methods[] = {
copy_doc},
{"count", (PyCFunction)array_count, METH_O,
count_doc},
{"__deepcopy__",(PyCFunction)array_copy, METH_NOARGS,
{"__deepcopy__",(PyCFunction)array_copy, METH_O,
copy_doc},
{"extend", (PyCFunction)array_extend, METH_O,
extend_doc},