This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author alexandre.vassalotti
Recipients alexandre.vassalotti, amaury.forgeotdarc, ocean-city
Date 2008-10-31.20:47:30
SpamBayes Score 0.00025683347
Marked as misclassified No
Message-id <1225486052.47.0.992525087571.issue4176@psf.upfronthosting.co.za>
In-reply-to
Content
Hirokazu Yamamoto wrote
> Hmm, but python document says,
> (http://docs.python.org/library/stdtypes.html#typeiter)
>
> >The iterator objects themselves are required to support the
> >following two methods, which together form the iterator protocol:
>
> Is this false information?

Oh, you are right. I got confused by looking at the implementation of
PyIter_Check(), which only verifies that tp_next is not NULL. Anyway, 
_batch_appends() and _batch_setitems() in pickle.py calls iter() on the
iterators; so, the iterators must provide __iter__ too.

Personally, I wouldn't bother about checking for __iter__ to avoid
adding a new method to Pickler and also to save a few hasattr() calls. 
But I have to admit, it is really just nitpicking at this point.
History
Date User Action Args
2008-10-31 20:47:32alexandre.vassalottisetrecipients: + alexandre.vassalotti, amaury.forgeotdarc, ocean-city
2008-10-31 20:47:32alexandre.vassalottisetmessageid: <1225486052.47.0.992525087571.issue4176@psf.upfronthosting.co.za>
2008-10-31 20:47:31alexandre.vassalottilinkissue4176 messages
2008-10-31 20:47:30alexandre.vassalotticreate