On Fri, 8 Nov 2019 at 11:46, Paul A Bristow via Boost
The essence of Peter Dimov proposal https://pdimov.github.io/articles/phasing_out_cxx03.html is
Suggested Policy is " A library author or maintainer will be allowed to announce that C++03 support in the library is deprecated. This announcement will take the following forms: A note in the documentation; An item in the release notes in the Boost release deprecating C++03 support; A message issued at compilation time if a library header is included in C++03 mode. The recommended form of the code issuing the message will be #include
#include #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_NO_CXX11_HDR_MEMORY) BOOST_PRAGMA_MESSAGE("C++03 support is deprecated in Boost.Library 1.73 and will be removed in Boost.Library 1.76.") #endif with the condition of the #if directive adjusted appropriately to reflect the actual library requirements. At least three Boost releases must ship with a deprecation notice before support is dropped. "
Let's assume this policy is accepted and implemented. What happens to renegade libraries that switched to C++11 without following some/any of the policy rules? For example, for GIL we just agreed internally within maintainers on switch to C++11, made the grand clean up and announced it in the release notes of Boost 1.68. I understand GIL's impact on the world is much less than many of other Boost libraries, so deprecating stuff in GIL may be even unnoticed to majority of Boost users. I'm just using the case as illustration to my question. p.s. An off-topic digression regarding Stefan's comment on 1.x version, well, it feels to me the `1` has entrenched so well into the Boost version number that it will stay there fixed until the end of its life and one day longer. If it ever changes, I will remain in shock for weeks ;-) Best regards, -- Mateusz Loskot, http://mateusz.loskot.net