I need this to solve a C undefined behavior issue in the language approved manner.
https://en.wikipedia.org/wiki/Flexible_array_member describes the language feature better than I can.
What does it allow us to change? Instead of ending variable length structures with
char spam; as we do today for PyBytesObject and unicode’s internal
struct encoding_map, end them with
char spam; (and adjust any size computations when relevant).
So far testing (CI and all the buildbots it throws at it) have not turned up any compilers with issues. It has been around for 21 years. I’d be surprised to find any that balk at it.