Alexander Belopolsky wrote:
> The range object is currently defined in Objects/rangeobject.c as
>
> typedef struct {
> PyObject_HEAD
> long start;
> long step;
> long len;
> } rangeobject;
>
> Is this consistent with PEP 353, or should Py_ssize_t be used instead of long?
As others have said: no. The range object produces ints. People have
asked to make it produce arbitrary longs instead, but none of these
patches ever got successfully reviewed.
> It looks like some of the code in rangeobject.c is already Py_ssize_t
> aware (see range_item and range_length), but it assumes that it is
> safe to cast long to ssize_t and back.
Where does it assume that it is safe to case ssize_t -> long?
That would be a bug.
Regards,
Martin
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com