Martin v. Löwis wrote:
> Travis Oliphant wrote:
>> I say it's a bug that should be fixed.  Don't clear the error, raise it.
> 
> Several people have said this, but I don't think it can work.
> 
> If you raise an OverflowError in __index__, the slicing code cannot know
> whether this meant as overflow or underflow (in a signed sense).

It can actually, but you have to allow 3 possible error return values from 
nb_index (-1, PY_SSIZE_T_MIN and PY_SSIZE_T_MAX).

This is ugly as hell [1], so I'm going to try to work out a patch that changes 
the signature of nb_index to return PyObject * (leaving the client code in the 
core to decide whether to clip, overflow, or leave the result alone).

Cheers,
Nick.

[1] http://www.python.org/sf/1530738

-- 
Nick Coghlan   |   [EMAIL PROTECTED]   |   Brisbane, Australia
---------------------------------------------------------------
             http://www.boredomandlaziness.org
_______________________________________________
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

Reply via email to