Fix SF bug #1545837: array.array borks on deepcopy.

array.__deepcopy__() needs to take an argument, even if it doesn't actually
use it. Will backport to 2.5 and 2.4 (if applicable.)
This commit is contained in:
Thomas Wouters 2006-08-24 18:40:20 +00:00
parent 348dc88097
commit 9e398cac94
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},