ITK informs C++ STL development

A while back, we wrote about ITK and VTK being added to Microsoft’s C++ compiler regression test suite. It has been useful over the years, as MSVC developers would occasionally inform us of compile issues in upcoming versions of Visual Studio [1, 2, 3]. This allowed us to address the issues preemptively.

The most recent instance is Stephan T. Lavavej informing us of a potential issue becoming a compile error during implementation of C++23 Standard Template Library additions:

The paper P2166R1 “Prohibiting basic_string And basic_string_view Construction From nullptr” has been accepted for the upcoming C++23 Standard, and we recently implemented it by merging microsoft/STL#1995 from our contributor @sam20908. Our open-source test pass then discovered … code in ITK … that is now disallowed by C++23.

While we only recently switched ITK from requiring C++11 to requiring C++14 as the minimum, the issue has been long-standing and fixing it will help other projects such as VTK.

Stephan is the maintainer of Microsoft’s implementation of STL, which was open-sourced less than 2 years ago.

This serves as another example of how an ecosystem of code developed The Open Source Way results in better software.

Questions or comments are always welcome!