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 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