[Python-Dev] Can we use "designated initializer" widely in core modules?

Erik python at lucidity.plus.com
Tue Jan 17 19:00:05 EST 2017


On 17/01/17 06:32, INADA Naoki wrote:
> With designated initializer, it becomes:
>
>      0,                                  /* tp_free */
> +    .tp_fastcall = (fastternaryfunc)attrgetter_call,
>  };
>
> It's readable, and easy to review.

FWIW, I dislike mixing the two forms (because it still prevents the 
structure layout changing - or introduces bugs if it does - though I 
guess in Python's case that's not likely to happen).

PEP 7 doesn't mention anything about this and I doubt a wholesale 
conversion effort to the C99 syntax would be desirable, but perhaps a 
recommendation that if a new initializer is being added then the whole 
expression should be changed to the C99 syntax is reasonable.

Regards, E.


More information about the Python-Dev mailing list