Message 84927 - Python tracker (original) (raw)

Two questions:

  1. Why do you prefer to pass destructor as a first argument?

  2. Do we really need two different calls for providing a context pointer? Why no just one call and pass a NULL context?

A comment:

Suppose one wants to implement export/import module C-API's in a function-by-function basis. This is nice, as you can extend your module C-API, and make it be backward "ABI" compatible.

As the void* <-> void(*)(void) conversion is illegal(?) in C(99?), one has to go to the oddities of doing some sort of type-punning with unions... this could be somewhat tedious for hand-written extension modules.

Do you have any idea on how extend the CObject API for the commented use case?