diff options
Diffstat (limited to 'Objects/iterobject.c')
| -rw-r--r-- | Objects/iterobject.c | 11 | 
1 files changed, 8 insertions, 3 deletions
| diff --git a/Objects/iterobject.c b/Objects/iterobject.c index 3cfbeaf..9acd1b7 100644 --- a/Objects/iterobject.c +++ b/Objects/iterobject.c @@ -76,9 +76,14 @@ iter_len(seqiterobject *it)      Py_ssize_t seqsize, len;      if (it->it_seq) { -        seqsize = PySequence_Size(it->it_seq); -        if (seqsize == -1) -            return NULL; +        if (_PyObject_HasLen(it->it_seq)) { +            seqsize = PySequence_Size(it->it_seq); +            if (seqsize == -1) +                return NULL; +        } +        else { +            Py_RETURN_NOTIMPLEMENTED; +        }          len = seqsize - it->it_index;          if (len >= 0)              return PyLong_FromSsize_t(len); | 
