From 2d4b27ea36d9c98ec52d770488801e0afb6cca84 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Sat, 5 Oct 2002 15:38:16 +0000 Subject: Backport 1.100: Discussion of Stop Iteration in the Iterator Protocol. --- Doc/lib/libstdtypes.tex | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Doc/lib/libstdtypes.tex b/Doc/lib/libstdtypes.tex index 4d659e6..9d15bbd 100644 --- a/Doc/lib/libstdtypes.tex +++ b/Doc/lib/libstdtypes.tex @@ -367,6 +367,13 @@ general and specific sequence types, dictionaries, and other more specialized forms. The specific types are not important beyond their implementation of the iterator protocol. +The intention of the protocol is that once an iterator's +\method{next()} method raises \exception{StopIteration}, it will +continue to do so on subsequent calls. Implementations that +do not obey this property are deemed broken. (This constraint +was added in Python 2.3; in Python 2.2, various iterators are +broken according to this rule.) + \subsection{Sequence Types \label{typesseq}} -- cgit v0.12