16 Dec
2019
16 Dec
'19
10:30 a.m.
Hiding the decision under a macro doesn't seem an uncontroversial solution either. If I configure the macro to mean "over-resizing is a bug", and I am using a third party library that internally uses `static_string`, and I may not even know about it, and it defines the same macro as "over-resize is fine", I will get a ODR violation and the likely outcome will be that either I or the third party library will get a different behavior than requested.
IMO the ODR violation is critical. I don't think (anymore) behavior should be changed by (such kind of) definitions