From: Raymond Hettinger Date: Tue, 24 Feb 2009 11:25:35 +0000 (+0000) Subject: range() should have been registered as a Sequence. X-Git-Tag: v3.1a1~101 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9aa53c2f0151032c5592d0c8b112fc35d7f77078;p=python range() should have been registered as a Sequence. Needs to be backported to 2.6, 2.7, and 3.0. --- diff --git a/Lib/_abcoll.py b/Lib/_abcoll.py index eed87628be..c7636ec80e 100644 --- a/Lib/_abcoll.py +++ b/Lib/_abcoll.py @@ -546,6 +546,7 @@ class Sequence(Sized, Iterable, Container): Sequence.register(tuple) Sequence.register(str) +Sequence.register(range) class ByteString(Sequence): diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py index 1127910ac8..c73d89bdfc 100644 --- a/Lib/test/test_collections.py +++ b/Lib/test/test_collections.py @@ -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__')