]> granicus.if.org Git - python/commitdiff
range() should have been registered as a Sequence.
authorRaymond Hettinger <python@rcn.com>
Tue, 24 Feb 2009 11:25:35 +0000 (11:25 +0000)
committerRaymond Hettinger <python@rcn.com>
Tue, 24 Feb 2009 11:25:35 +0000 (11:25 +0000)
Needs to be backported to 2.6, 2.7, and 3.0.

Lib/_abcoll.py
Lib/test/test_collections.py

index eed87628beb46d6e6cae734cb0afdbbda94e3134..c7636ec80e6f5e0a863f6facbe4b0d78d24e751c 100644 (file)
@@ -546,6 +546,7 @@ class Sequence(Sized, Iterable, Container):
 
 Sequence.register(tuple)
 Sequence.register(str)
+Sequence.register(range)
 
 
 class ByteString(Sequence):
index 1127910ac8e1836745d5f0188d93e8504b8a3e37..c73d89bdfc17d3b4fabfefc9d9f75034ae789669 100644 (file)
@@ -406,6 +406,8 @@ class TestCollectionABCs(ABCTestCase):
         for sample in [tuple, list, bytes, str]:
             self.failUnless(isinstance(sample(), Sequence))
             self.failUnless(issubclass(sample, Sequence))
+        self.failUnless(isinstance(range(10), Sequence))
+        self.failUnless(issubclass(range, Sequence))
         self.failUnless(issubclass(str, Sequence))
         self.validate_abstract_methods(Sequence, '__contains__', '__iter__', '__len__',
             '__getitem__')