On 2/6/23 16:40, Peter Dimov via Boost wrote:
Boris Kolpackov wrote:
Boost release 1.83.0 is announced to require C++11 at minimum. This means compilers that have all the C++11 standard headers, and support all the C++11 syntactic constructs and keywords without issuing errors. (E.g. VS2013 doesn't qualify because it doesn't support the `constexpr` or `noexcept` keywords.)
IME, this is an unreliable criterion. For example, based on this MSVC 14.3 (VS2015) would be a fair game but in practice its constexpr support is so buggy/incomplete that it's pretty much unusable.
On the contrary, it's a highly reliable criterion. It allows you to write "constexpr" instead of "BOOST_CONSTEXPR" without the compiler issuing an immediate error.
I think, the point is that while you can write "constexpr", the compiler will likely fail to compile that code in most/all real world contexts. The question is what do we, Boost maintainers, do when users come complaining. I think, listing the minimum compiler versions we support would be useful. That said, many libraries already did list compiler versions before. And we also had libraries that didn't support C++03, and we had some libraries raise their minimum C++ version requirement during their lifetime, so I'm really not sure what exactly this proposal is bringing. I sure hope that it is not that libraries supporting C++03 are now banned somehow.