One improvement in read/writability which might be my favorite is the removal of SFINAE-controlled template instantiation in favor of compile time branching with `if constexpr`. Here's an example of that in the draft PR:
https://github.com/apache/arrow/pull/10414/files#diff-058e32693ee8820a3d8967404e05c76b37ef2f646245f794fa4acb6d26703668R241 This one at least is pretty easy to quantify ("how many instances of SFINAE could we potentially replace?"): $ rg enable_if | wc 612 On Wed, Jun 9, 2021 at 1:36 PM Antoine Pitrou <anto...@python.org> wrote: > > Le 09/06/2021 à 19:25, Eduardo Ponce a écrit : > > > > Measurable metrics: > > * code size (source and binary) - measured in bytes > [...] > > > > Qualitative metrics: > > * code structure/maintainability - how would it improve development? > > * code readability - ease of understanding details for new/current > > contributors? > > These are a bit difficult to evaluate, because a pervasive upgrade to > more modern C++ idioms would probably bring significant maintenance and > readability improvements, but it's unlikely to be achieved *before* the > upgrade is decided (as it would be quite a bit of work). In the > submitted PR, we've upgraded a couple places as a validation that C++17 > does improve ease of writing and reading code, but it is unknown how > many other places could benefit. > > Regards > > Antoine. >