Tim Peters wrote: > So, e.g., plain a[i] shouldn't use __index__ either if i is already > int or long. I don't see any justification for invoking nb_index in > sequence_repeat(), although if someone thinks it should, then as for > plain indexing it certainly shouldn't invoke nb_index if the incoming > count is an int or long to begin with.
Hmmm. So that means anything accepting an integer index needs to do its own range checking anyway. So having __index__ do clipping is at best unnecessary and at worst counterproductive, since it could suppress an overflow or range exception that *should* be produced by the code using the index, and would be if it got the equivalent index value as an int or long directly. -- Greg _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com