[Python-Dev] PEP 573 -- Module State Access from C Extension Methods
Jeroen Demeyer
J.Demeyer at UGent.be
Tue Apr 24 04:17:42 EDT 2018
More information about the Python-Dev mailing list
Tue Apr 24 04:17:42 EDT 2018
- Previous message (by thread): [Python-Dev] PEP 573 -- Module State Access from C Extension Methods
- Next message (by thread): [Python-Dev] PEP 573 -- Module State Access from C Extension Methods
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
In PEP 573, instead of passing the defining class to the C function, why not pass the function object itself? That is far more general: once you have the function object, you can still access the defining class using your PyCMethod_CLASS. It's also more future-proof: if we ever decide to add even more attributes to the function object, those could be accessed the same way. In PEP 575, I'm already proposing a flag (METH_ARG0_FUNCTION) to pass the function *instead* of self. Unless PEP 573 is rejected, maybe that should change to passing the function *in addition* to self. Of course, this doesn't quite work with your current version of PEP 573 since METH_METHOD really does two things: it changes the class of the function object (which is not a good idea anyway) and it changes the calling convention. It could work if you add mm_class to PyCFunctionObject instead of creating a new class. Jeroen.
- Previous message (by thread): [Python-Dev] PEP 573 -- Module State Access from C Extension Methods
- Next message (by thread): [Python-Dev] PEP 573 -- Module State Access from C Extension Methods
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list