Add a fast path (no iterator creation) for a common case for repeating deques of size 1

This commit is contained in:
Raymond Hettinger 2015-09-19 09:05:42 -07:00
parent 026977717e
commit aed8830af3
2 changed files with 20 additions and 4 deletions

View file

@ -654,6 +654,15 @@ class TestBasic(unittest.TestCase):
self.assertNotEqual(id(d), id(e))
self.assertEqual(list(d), list(e))
for i in range(5):
for maxlen in range(-1, 6):
s = [random.random() for j in range(i)]
d = deque(s) if maxlen == -1 else deque(s, maxlen)
e = d.copy()
self.assertEqual(d, e)
self.assertEqual(d.maxlen, e.maxlen)
self.assertTrue(all(x is y for x, y in zip(d, e)))
def test_copy_method(self):
mut = [10]
d = deque([mut])