[Python-Dev] When tp_clear returns non-zero?

Serhiy Storchaka storchaka at gmail.com
Mon May 28 08:17:45 EDT 2018


The tp_clear field of PyTypeObject has type inquiry. It is a pointer to 
a function that takes PyObject * and return int.

typedef int (*inquiry)(PyObject *);

I'm interesting what the result of this function means. In what cases it 
can return non-zero, and can it set an exception?

Currently tp_clear() is called in a single place, and its result is 
ignored. All tp_clear implementations in the stdlib always return 0.



More information about the Python-Dev mailing list