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.assertNotEqual(id(a), id(b))
self.assertEqual(a, 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): def test_pickle(self):
for protocol in (0, 1, 2): for protocol in (0, 1, 2):
a = array.array(self.typecode, self.example) a = array.array(self.typecode, self.example)

View file

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

View file

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