From 9aa53c2f0151032c5592d0c8b112fc35d7f77078 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Tue, 24 Feb 2009 11:25:35 +0000 Subject: range() should have been registered as a Sequence. Needs to be backported to 2.6, 2.7, and 3.0. --- Lib/_abcoll.py | 1 + Lib/test/test_collections.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/Lib/_abcoll.py b/Lib/_abcoll.py index eed8762..c7636ec 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 1127910..c73d89b 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__') -- cgit v0.12