From 9534e14033f26b32ed75c02a6a51bfe47c7f16a9 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Tue, 16 Jul 2002 19:53:39 +0000 Subject: [PATCH] Record the decision that StopIteration is a sink state (see recent discussion in python-dev with subject "Termination of two-arg iter()"). Implementation will follow. --- Doc/lib/libstdtypes.tex | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Doc/lib/libstdtypes.tex b/Doc/lib/libstdtypes.tex index 1a07d3c984..aabc9bfa48 100644 --- a/Doc/lib/libstdtypes.tex +++ b/Doc/lib/libstdtypes.tex @@ -377,6 +377,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}} -- 2.50.1