> On 28 Aug 2018, at 22:09, Eddie Elizondo <eelizo...@fb.com> wrote:
> 
> Hi everyone, 
> 
> Sorry for the delay - I finally sent out a patch: 
> https://bugs.python.org/issue34522.

As I mentioned on the tracker this patch is incorrect because it redefines 
PyVarObject_HEAD_INIT in a way that changes the semantics of existing code. 
This will break C extensions (I’m the author of one, and there may be others). 

> 
> Also, I'm +1 for modifying all extension modules to use PyType_FromSpec! I 
> might lend a hand to start moving them :)

Somewhat off-topic, but I personally don’t like PyType_FromSpec and prefer the 
older PyTypeObject construction but using C99 initialisers. That gives short 
and readable code where the compiler can (and does) warn when initialising 
slots to values that don’t match the declared type of those slots.  The only 
advantage of using PyType_FromSpec is that this can result in C extensions that 
are binary compatible between python versions, which IMHO is less useful than 
it used to be in the past thanks to CI/CD systems. 

PyType_FromSpec also cannot deal with some esoteric use cases, such as defining 
types with a custom metatype in C code. 

Ronald
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to