Commit aefb33d0 authored by Raymond Hettinger's avatar Raymond Hettinger

range() should have been registered as a Sequence.

Needs to be backported to 2.6, 2.7, and 3.0.
parent be89a450
...@@ -546,6 +546,7 @@ class Sequence(Sized, Iterable, Container): ...@@ -546,6 +546,7 @@ class Sequence(Sized, Iterable, Container):
Sequence.register(tuple) Sequence.register(tuple)
Sequence.register(str) Sequence.register(str)
Sequence.register(range)
class ByteString(Sequence): class ByteString(Sequence):
......
...@@ -406,6 +406,8 @@ class TestCollectionABCs(ABCTestCase): ...@@ -406,6 +406,8 @@ class TestCollectionABCs(ABCTestCase):
for sample in [tuple, list, bytes, str]: for sample in [tuple, list, bytes, str]:
self.failUnless(isinstance(sample(), Sequence)) self.failUnless(isinstance(sample(), Sequence))
self.failUnless(issubclass(sample, Sequence)) self.failUnless(issubclass(sample, Sequence))
self.failUnless(isinstance(range(10), Sequence))
self.failUnless(issubclass(range, Sequence))
self.failUnless(issubclass(str, Sequence)) self.failUnless(issubclass(str, Sequence))
self.validate_abstract_methods(Sequence, '__contains__', '__iter__', '__len__', self.validate_abstract_methods(Sequence, '__contains__', '__iter__', '__len__',
'__getitem__') '__getitem__')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment